Overview
Prime Mover WordPress Migration Plugin is unique from other WordPress migration plugins in such a way that:
- It does not migrate WordPress core files.
- It does not migrate the WordPress users and user meta table.
- It does not migrate the wp-config.php, .htaccess and other files outside WordPress installation (including other folders / files ) in wp-content directory.
- It does not migrate any custom files you created in your other site, this includes files in your root WordPress directory or any other directory.
- It optionally migrates WordPress Media.
Why NOT migrate WordPress Core Files
Simply because its redundant. Simply because WordPress strives to never break backward compatibility. Simply because it will just bloat the migration package.
Unless if your site is WordPress 3.0+ and you migrate to 5.0+ , you have big site changes and Prime Mover may not be the right solution. But having a WordPress 3.0 + site today is rare, very rare. You should UPDATE for security sake.
WordPress core files will keep getting bigger after each update and its not wise to include core files in the migration package. Today, there is negligible differences between one WordPress core installation from one host to another including your localhost. And for each minor versions, there is a guarantee of backward compatibility.
So while you can include WordPress core files, it does not make sense to include this. For simplicity and optimize for delivery, bandwidth ,etc., its best to exclude this.
Lastly, Prime Mover does not migrate WordPress core files because you will do the migration inside WordPress back-end itself ! This is not possible if you migrate and copy WordPress files, the back-end is simply not accessible.
Why NOT migrate WordPress users and user meta table?
May 8, 2020 update: Prime Mover 1.1.0 added support for user migration. This feature can be disabled if you need to please refer to this documentation.
First reason : It’s not safe. Take a look on this case. Every website on the Internet SHOULD have its own unique set of users, even your dev sites. For security reasons, you should not be cloning WordPress users table. Imagine if your database or site package will fall into the wrong hands. They can do impersonation attacks and use every bit of information they can mine in your users and user meta table to hack and exploit your site.
Also how many times you’ve changed WordPress logins after site restore? How many times you been adding new user at the target import/restored site? This is no longer necessary with Prime Mover as you can use your EXISTING WordPress login before and after site restore.
Think about the next time you provide a clone WordPress package to anyone that includes WordPress users table and its security implications. Make sure you really trust the person handling the package.
Second reason : For general multi-site network compatibility. We all know that there is only ONE WordPress users / user meta table in multi-site. If we migrate sub-site in a multi-site network to single-site , obviously we don’t want to include the network users / user meta table. So this is one of the reason of not including the users / user meta table in the database export.
What Prime Mover does is when these tables are restored to single-site, the target WordPress users / user meta table will used instead. The target site users and user meta table are NOT disturbed in the migration process.
The resulting magic is that you can actually do migration inside WordPress admin. It’s because the site users / user meta table are intact during migration.
Therefore the rule is simple, when you migrate with Prime Mover. It’s exports all database tables in the site EXCEPT user and user meta tables.
Why not migrate wp-config, .htaccess and other custom files?
Simply because it belong to ONE site only. Technically wp-config.php SHOULD NOT be copied to anywhere. It is meant to be a configuration for one site ONLY.
Copying config files to another site is also not secure as it exposes many sensitive information in your config files. Like WordPress core files , its redundant and not safe to migrate wp-config.php.
.htaccess is also customized to that site, like wp-config.php it should not be copied with the package.
What about custom files you really need at target site? If you are adding custom files outside your WordPress installation, 90% of the time you are doing it wrong ! Why? It’s because if you think about custom files, for what? You should be using plugins for custom WordPress functionality. And you should using WordPress uploads directory for storing any assets for this. If its API, then use WordPress native API.
There should be no reason to use custom files outside WordPress control. Please re-think of the way your website is handling custom files and move it to somewhere under WordPress control so you can migrate these things very easily. Plus, its secure because once request goes to WordPress, most of the time its validated.
What to do if I need to migrate a highly customized site?
You don’t need to worry at all. During my years as System Developer, I once clone a giant WordPress site to my local. It’s one of the highly customized WordPress sites I know.
But all I need to do to have that working in my local is to migrate database, plugins and themes. That’s it. This is all you need to settle if you want a working clone. Prime Mover does all of this for you.
Once you got that working, its time you can slowly copy the rest of the customization that is beyond db + plugins + themes + media files. It’s hard work if you are not doing the best practices. If you put all customization under WordPress it will be easier.
Why migrate WordPress media files optionally?
Do you know that you can migrate WordPress site without moving the uploads directory? It’s because WordPress allows images to be resolved to the remote site without having to move the uploads directory.
This is the concept of “debug package” in Prime Mover. If you really want to move a WordPress site in the hope of debugging, cloning, troubleshooting or simply a minor redesign work. It is not practical to move GB of media uploads directory.
You can simply move the database, plugins and themes and the WordPress site will look complete at the end.
Prime Mover will handle or resolve the images for you so visually it should look the same as it was when moving the uploads directory.
However Prime Mover allows you to move uploads folder + database + plugins + themes. This is now called a “complete package” and the largest package size of all.
So what are the possible export package?
Prime Mover supports 4 types of export packages :
- Export database only – this is the simplest and smallest of all packages. You will use this only if you want to refresh the database ONLY. For example, say you already have cloned the production site to your local. Of course, all plugins, themes , and even media should be identical to the production site since its cloned.
Supposing if you are testing new theme customizer , plugins or new WordPress settings that involves changing settings into your database only. This change does not involved new media files, new plugins or new theme.
When you want to PUSH this change to your website, you simply need to export database as its enough for the migration work to be updated on the production site. Creating a complete package would be a waste of time and bandwidth.
- Export database + media – this is most common package type of website redesign work. Most commonly, in website redesign; it involves new media files, e.g. new logos, new jpg files ,etc. And there is an updated settings on the database that reflects the website redesign work. When you want to push this update on the target site, you don’t need a complete package as its overkill.
You simply need to export database + media files.
- Export as WordPress debug package – you want to clone or migrate a WordPress site but you don’t want to include it’s media files? This package is for developers, technical supporters that want to clone a big site to as small package as possible. In most big sites, the bottleneck is the uploads directory. It’s simply too massive to move.
One common application of debug package is when a host puts a certain limitation on copying many files on the uploads. This is common for shared web hosting. With debug package, almost any WordPress site on the Internet regardless of how restrictive the web host. It can be cloned.
- Complete Export package – this is cloning the website as complete as possible. This package includes database, media files, plugins and themes. This package is appropriate when cloning the website the first time. First time because you don’t have a complete copy of the site. So you want to clone it as completely as possible.
Once you have a complete copy of the site, you can refresh the copy of that site from a remote source (production host for example) with a database refresh or database + media files refresh which is now smaller and finishes quickly than restoring a complete package.
Advanced Migration Tips – Security Focused
The best WordPress migration plugin provides security to its packages. Why? It is because your migration/backup package is a copy of your website. The only difference with that of a real website is that your real website contents, files, and users are protected behind a login.
With a migration / backup package, its your website itself but unprotected. At least this is what happens with most migration plugins. Only a very few plugin offers encryption protection of the most sensitive WordPress website data.
What is the most sensitive WordPress data that you need protection? Obviously its your database and media files. Your database can contain license keys, plain text tokens, user meta info, plugin sensitive settings, private post, financial details, personal information etc which you need to be protect.
Your media files are also sensitive, you might have top-secret documents lurking in your uploads directory etc. Or images that you do not want the public to see. OR list of documents that contains personally identifiable information.
With Prime Mover Pro version (this is not available with free version). It is possible to encrypt your WordPress database and media files. So even if your package goes into unauthorized users or accidentally left behind a USB flash drive or hackers gained access to your computer. Hackers will never be able to see the real data as its protected via encryption.