How to Move, Clone or Copy an Entire WordPress Site to a New Server

duplicator-plugin

Often times, for one reason or another, I find myself wanting to develop a WordPress site for a client in a different location than where it’s going to end up. For instance, the client already has a website and this new WordPress will be a replacement for it – so I can’t just plop into their domain until everything is A-OK. Or sometimes I just need a development location but I need the site to be live for collaboration with other developers not located within my network. So I elect to develop and then move WordPress and/or the newly built theme to the production server.

Today my [WordPress] world changed forever… enter Duplicator plugin.

In this particular case, a client was wanting to move their WordPress site that I built for them from their in-house server to a higher-performing server that could handle more bandwidth. I always recommend hosting with Hostgatorand they elected to take my advice. I like it when clients do that! 

So here I was with the task before me of moving a WordPress site with many users and posts and quite a few utilized plugin. A quick search on Google for something like “move wordpress site plugin” yielded a plugin called Duplicator at WordPress.org. Sweet!

Today I gave Duplicator a shot and it was successful. It was surprisingly painless and the new duplicate site was humming in no time.

What does Duplicator plugin do for you? Most notably (to me at least) it will:

  1. Move the ENTIRE WordPress installation – a great way how to move WordPress without installing, configuring and customizing WP all over again!
  2. Move the WordPress users – you can include the entire user base – profiles, passwords and all without having to re-create them.
  3. Move the WordPress plugins – yup! They’re swooped up in the move too. All plugins will go with it.
  4. Move the WordPress theme as a package – you betcha! Since the themes are part of the installation, they all go too.
  5. Move the WordPress database – yeah, this one’s a doozy! You don’t have to do any extensive phpMyAdmin (or other) hackery to make it happen.
  6. Cleanly intall your own custom WordPress copy – here’s one I’ve been pondering for a while. Now I know that I can make a generic installation with all my usual tricks (plugins, options, permalinks, etc.) and more quickly install it on client servers, saving me tons of cumulative time!

What the Duplicator plugin process looks like (roughly):

  1. Install Duplicator Plugin. First, you install and activate the plugin at the WordPress installation that you want to relocate. (You can download it here.)
  2. Create and Download Archive Package. After consulting the documentation, you create a package of your entire site AND an installer.php file that will execute the unpacking. In most cases it only takes a couple moments!
  3. FTP Package Files to New Location. Using FTP or really any file transfer method, upload the zip archive package of your WordPress AND the installer.php file into the directory where you want WordPress installed at the new host.
  4. Run Installer.php. Open a browser and browse to the full URL of installer.php where you uploaded it to. Follow the on-screen prompts.

You MIGHT have a snag here… but fear not! For hosts that prevent installation (and those capable of working with databases):

If your hosting provider denies installer.php from creating a new database or user for you, you’re going to have to create a new DB and DB user for your new WordPress install location. I almost always use cPanel hosting, so I’m giving advice for that specifically.

  • Create a New Database (DB) for WordPress to Use. Using cPanel’s easy database management functions. You can even use the same DB as your original WP install if you want (it can be found in wp-config.php – open it with FTP).
  • Create a New Database User and Add it to New DB. Just like it sounds.
  • Put the new DB title into the appropriate box in the Duplicator installer dialog.
  • Put the new DB user and password into the appropriate boxes, like above.

If you’ve done these steps right, your installation should now proceed without a hitch. When it’s done, you’ll have a fully-installed WordPress site – a perfect clone of your original site!