I have a live site and a testing server (XAMPP) that I built the site on originally before publishing it. Obviously, there are a number of things you need to do to migrate a site from one place to another. I was hoping to tap into collective experience to find out the best way of doing this, keeping fuss to a minimum.

The obvious answer (to me, at least) is to keep a folder of files to merge into the XAMPP files for when it's built on the testing site and a folder of the same files but with production server info to apply when the site is uploaded.

This is a bit messy and leads to mistakes. Is there a program out there that I've never come across or better way of doing this?

(I've been auto-warned about the subjectivity of this question, I do hope it passes the community test!)

3 Answers 3


there are quite a few threads on here about this topic ... just look at these examples:

Database synchronization between dev/staging and production

I would also recommend you read Mark Jaquith's post on Local and Dev Tip's.

  • Thank you, feel free to close this question. I did search but nothing relevant came up.
    – user4540
    Commented Aug 3, 2012 at 16:25
  • Hi Scott -- you can accept the answer or close the question (i think I can't ) - but do checkout Mark J's blog
    – Damien
    Commented Aug 3, 2012 at 16:27

I have been using a plug-in (Backup Buddy) to achieve my transfers. It is not free but it does a great job of moving the from a dev (local) server to a live site.


Back up your entire WordPress installation. Widgets, themes, plugins, files and SQL database - the entire package! Just like your laptop or desktop computer, you should be doing regular backups of your website. With BackupBuddy you can schedule backups and have them sent off-site to Dropbox, Amazon S3, Rackspace Cloud, an FTP server, or your email. Or download them right to your desktop.


I have been using Backup Buddy (payed plugin) for a while, but I had no idea it had a feature that allows pulling & pushing back and forth from / to the live / testing servers:

How to Set Up Deployment in BackupBuddy

The super-speedy version of this tutorial goes something like this:

  1. Make a backup of your Live Site.
  2. Create a Staging (Test) Site by restoring your backup on a new domain (dev.yourdomain.com for example).
  3. Add define(‘BACKUPBUDDY_API_ENABLE’, true ); to the wp-config.php file of your Live Site.
  4. On the Live Site, go to BackupBuddy > Remote Destinations and select Show Deployment Key at the top of the page
  5. Copy the given key.
  6. On your Staging Site, go to BackupBuddy > Remote Destinations and click the Add New option and then select BackupBuddy Deployment.
  7. Paste the API key you copied from the Live Site into your Staging Site.

Here are the full step-by-step instructions: https://ithemes.com/2015/05/05/how-to-set-up-a-wordpress-staging-site-with-backupbuddy-deployment/

  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes.
    – Gabriel
    Commented Apr 2, 2016 at 6:07
  • @Gabriel Added a short description, as suggested. Thank you! Commented Oct 22, 2016 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.