php - How do I migrate a wordpress subsite from a staging to a live server (on wordpress multisite)? -
i work on wordpress sites wordpress multisite install. i'm switching developing on live server, working staging server , pushing live server when done.
now of course database have migrated , updated each environment in way (probably both ways; pulled staging starting , pushed live deployment). themes, templates , assets have migrated.
since i'm new this, don't know how done. i'm looking safe , practical solution. i've looked using grunt (which use other tasks) grunt-wordpress-deploy example, doesn't seem doing want do.
so question is: how do this? how safely , synchronize wordpress subsite between staging , live server?
go network admin , find id of site want move ( in examples below – 17 )
now want transfer whole
wp-content folder -> uploads -> sites -> site_id
( in casewp-content folder -> uploads -> sites -> 17
, of course need have wp on new server - see addendum )in original site on network, check theme uses . ftp main site
wp-content folder -> themes
, download/ transfer theme uses . ( or see below addendum )do same plugins , go original site dashboard, see plugins uses . not forget check plugins activated
network wide
,mu-plugins
, transfer . compatibility reasons , prefer transfer ones used before , not download wp repository . updates can , made later . , better keep versions same original .export / import db ( using phpmyadmin example ) , rename tables :
( note last 2 - tables main network db - not site specific )
rename table wp_multi17_commentmeta wp_newsite_commentmeta; rename table wp_multi17_comments wp_newsite_comments; rename table wp_multi17_links wp_newsite_links; rename table wp_multi17_options wp_newsite_options; rename table wp_multi17_postmeta wp_newsite_postmeta; rename table wp_multi17_posts wp_newsite_posts; rename table wp_multi17_terms wp_newsite_terms; rename table wp_multi17_term_relationships wp_newsite_term_relationships; rename table wp_multi17_term_taxonomy wp_newsite_term_taxonomy; rename table wp_multiuermeta wp_newsite_usermeta; rename table wp_multiusers wp_newsite_users;
- after , execute normal wp update sql
like :
** update wordpress options new blog location, use following sql command: note depends on folder structure ( wp in own folder here, not root ) **/ update wp_newsite_options set option_value = replace(option_value, 'www.oldnetwork.com/multi', 'www.newsite.com/newsite') option_name = 'home' or option_name = 'siteurl'; /** after need fix urls of wordpress posts , pages, translated post slug, , stored in database wp_posts table guid field. url values in field stored absolute urls instead of relative urls, needs changed following sql query: **/ update wp_newsite_posts set guid = replace(guid, 'www.oldnetwork.com','www.newsite.com/newsite'); /** if have linked internally within blog posts or pages absolute urls, these links point wrong locations after move blog location. use following sql commands fix internal links own blog in wordpress posts , pages: **/ update wp_newsite_posts set post_content = replace(post_content, 'www.oldnetwork.com/multi', 'www.newsite.com/newsite');
done - after - new site should fine .
however - residues might there ( due specific plugins / themes ) , search/replace originalname.com
or www.originalname.com
or sites/17
made ..
this process, when understood - can adapted ( reversed ) transfer other way around ( single multi )
addendum
if have large site lot of content ( e.g. images ) - ftp might take long . faster on server directly, adding here .
- log in cpanel ( or whatever ), files manager , , tar whole
uploads/site_id
(17 - remember ? ) folder - in putty
( or other ssh on new location )
[\] #cd home/account-name/public_html
then
wget -m http://www.old-multi-domain-path/wp-content/uploads/sites/site-id.tar
( or zip, or rar etc … )
you file @ folder called www.old-multi-domain-path/wp-content/uploads/sites/site_id.tar
now , move root, , delete folder
rm -rf www.old-multi-domain-path/
- now ftp wordpress new server ( or if prefer take newest version - not reccomanded compatibility issues . better upgrades later )
wget http://wordpress.org/latest.tar.gz
now go phase 3.
Comments
Post a Comment