WordPress is a wonderful open source content management system that makes it really easy for you to get started on your web site. One of the most needed feature seems to be missing from the core WordPress platform, how do you migrate your web site from one host to another? You need to migrate or clone the web site for many reason, here are some of them:
- You are developing the web site, so you most likely need to migrate it from some development environment, to user test environment, and eventually to production environment. (aka: SDLC, Software Development Life Cycle)
- You already have a web site live in production, but you need to do additional development on it, like a redesign or try out different theme adjustment. You need a test environment that looks exactly the same as production so that you can do your development without disrupting the production environment.
- You are a web site developer, and you may have a few web site template that you created to jump start your website development.
I looked all around WordPress documentation, but there is really very little help on doing something like that. I was happy to find an import and export option under the Tools menu in WordPress, but it is really not effective. After spending a few hours with it, I found core problems like:
- media files are not migrated
- category is missing (probably due to no post is associated with it)
- category hierarchy is missing
- Needed plugin not migrated
- Theme customization is gone
- and worst of all, feature image is missing from all the post.
Ok, back to square one. When there are problems, there are opportunities.
I find there are many plugins that are basically created to provide this missing feature, and many of them target those problems in the core WordPress. The next problem is which plugin to use? Unfortunately, this is a somewhat negative side effect of the open source platform, there are many choices, and some of them basically doesn’t even work, hard to use, and time consuming to try.
All-in-One WP Migration export your site, and it is amazing how simple it is like 1, 2, 3:
- You can define rule to find and replace text in the database. This is an optional but powerful feature.
- There are a handful of advanced options you can select but once again, all of them are optional.
- Next, you just need to choose where to export the file to, there are a number of cloud base storage integration available.
If you want to export the entire site, you don’t need to do anything for step 1 and 2, and I selected to export to a file, and it created a .wpress file and downloaded to my desktop.
Next you just need to do is to import the file into your other WordPress web site. Just drag your .wpress file over and it will do everything for you. There is a limitation that the free version can only process file size up to 512MB. If you want to be able to migrate larger web site, you can purchase the unlimited extension for $69, for a lifetime license with unlimited websites, not a bad price tag.
The migration worked flawlessly and quick. One of the most talked about challenge for a wordpress migration is that due to the WordPress core design, some of the host/domain specific information are embedded and buried into the database, this plugin handle that automatically without any problem.
The migrated site looks exactly like the original site, all hierarchy, menu, plugin, theme and customization are migrated perfectly. I would definitely give it a 5 stars. It is miles ahead compare to the other available plugins.
If you are interested, here is a quick link to the plugin information page in wordpress.org.
I specifically admire the all inclusive/simplistic design and user interface in this plugin. Now with that said, I do also see that there are potential to provide additional features to do more “selective migration”, like you may only want to migrate only the theme setting, a new menu, or maybe just a few pages or posts. Certainly something to think about if I’m this plugin’s developer.