I am going to be moving the main www.charlestonsw.com site soon and decided to try it with a new process. I recently subscribed to VaultPress backups and thought I’d give that a try as a simple way to move the main WordPress site. It should carry over all the WordPress directory files as well as the database settings. My supporting apps living outside the WordPress world need to be brought over separately.
VaultPress has a new feature where you can restore your backup to an alternate location using an FTP/FTPS login that you provide. Overall the process went smoothly with a few caveats. VaultPress will likely resolve these issues soon, so be sure to check with them for any feature changes. The issues I ran into and their fixes are noted here:
Home & SiteURL
The home and siteurl variables in the newly restored wp_options table of WordPress were wrong. They were changed to my new site (wp.charlestonsw.com) that was my temporary placeholder, however the leading http:// was dropped off of both. I prefer MySQL command line so I went there and ran this command:
mysql> update wp_options set option_value=’http://wp.charlestonsw.com’ where option_name=’home’ or option_name=’siteurl’;
The VaultPress backup does not grab hidden files, like .htaccess. I guess they assume this is already setup on the new site, however the new site permalink rules may not match the old site. IMO this should be part of the backup/restore set. There are two ways to fix this. You can get your old .htaccess file “by hand” and restore it to the new server. The other option is to look at the setting in our old admin panel for permalinks, then go to the new admin panel and select something DIFFERENT, save, then set it back. This will re-create the necessary file assuming your directory permissions are correct. This is usually a good idea when you change site URLs anyway as it clears the cache for a variety of plugins and internal “gears” for WordPress.
Thus far those are the only two “gotchas” I’ve found. Of course I need to make sure I get my other databases and scripts moved, but I can use typical scp or rsync commands to pull server-to-server and a mysqldump/restore. Luckily the other items are my internal reports only so it should cause less headaches if something goes missing for a day or two.