We got involved in a project where we were needing to move a WordPress site, but we didn’t have FTP access to the server that the site resided.
Going on the theory that “there’s a plugin for that”, we found a new plugin to add to our arsenal of handy plugins: WordPress Backup (by BTE).
“WordPress Backup” will create a zip file of your Theme, upload (Media Library) and Plugins directories. Couple that with one of our existing favorites WordPress Database Backup, and you’ve got a powerful solution.
Here are the steps we went through to move the site. This list is assuming that you’re familiar with WordPress in general, phpMyAdmin, mySQL, FTP, compressed files, and directory structures. If you need more details than this, feel free to get ahold of us.
- Use “WP Database Backup” to, obviously, backup the database. Choose to back up all tables, not just core WP tables. It will create a file called [database]_wp_[date].sql.gz
- Use “WP Backup” to get a copy of themes.zip, uploads.zip and plugins.zip
- Install WordPress on the target server. Make sure old and new site are the same version of WordPress. In this case, it was WP 3.1
- Extract [database]_wp_[date].sql from the compressed file [database]_wp_[date].sql.gz
- Drop all of the tables in the new wordpress install
- Use the contents of [database]_wp_[date].sql to execute an SQL query to import the WP databases.
- Extract themes.zip, uploads.zip and plugins.zip
- Connect to the new server via FTP
- Upload the contents of plugins.zip to the /wp-content/plugins folder on the web server. The contents of plugins.zip will be a collection of folders that are the names of the plugins on the old site.
- Upload the contents of themes.zip. This one gets a little tricky. Instead of zipping up the folder containing the theme. Only the files in the theme are in themes.zip. What this mean is that you need to know the name of the theme folder, so you can put all of the files in the right place. Fortunately, in the settings of “WP Backup” it tells you the name of the folder it is backing up.
- Upload the contents of uploads.zip to the “wp-content/uploads” folder.
- Check things out on the new server. Use phpMyAdmin to open the WP database. Select the wp_options table and change the siteurl field to the temporary URL of the new server. You should be able to login and review all of the posts and pages. You probably won’t be able to surf the site much since the menus items are probably all hard coded to the domain name of the originating site.
You can get creative and tell “WP Backup” that you want to the backup to process folders higher up the default location in the tree. This way you could create a zip file with 100% of the sites files, regardless of whether or not they are directly a part of WordPress.
11/02/11 – That’s odd, it seems that WordPress Backup has been delisted from the WordPress plugin repository. You can still get WordPress Backup directly from Blog Traffic Exchange.