Prompted by the discussion on the WordPress Web Designers group on LinkedIn, I decided to experiment with some of the options discussed.

I completed cloning a very small site using XCloner. My first attempt failed because I had installed WordPress on the new site before attempting to Restore there. Also, my second attempt worked, but there were some updates that needed to be made that might not be obvious and are not documented. For instance, you may still have links to your old website (pointing to images or attachments) that you will want to update. And definitely test your links to pages and posts, I ran into minor issues.

Below are the steps that I used to create the cloned site with XCloner. If anyone has additional steps or help to provide please share.

Step 1 – Install the XCloner Plug-in on the site you wish to copy.

Step 2 – Create a full backup on your current website.

Step 3 – Establish an empty directory where the new cloned site will be installed.

Step 4 – Create an empty MySQL database on the server hosting the new cloned site.

Step 5 (as documented by XCLoner) – Move your backup to the restore host.

  • go into the XCloner ‘View Backups’ area
  • after you have selected your backup click on the ‘Clone it’ button
  • enter the ftp details of where you would like to Clone the backup
  • after hitting submit the backup and the restore script will be transferred to the new host and you will be given a URL to access the next step based on the URL you provided for the remote location
  • after you click on the provided link you will be taken to the new location, sample url http://my_restore_site.com/XCloner.php
  • Note: if this process fails for any reason, you need to do this:
    1. Download the backup on your computer
    2. Download the restore script, all files from directory:
    Wordpress : wp-content/plugins/xcloner-backup-and-restore/
    3. Upload both backup and restore script to your restore location
    4. Launch XCloner.php in your browser and follow the restore screen as specified below

Step 6 (also from XCloner’s documentation) – On the XCloner.php restore screen:

XCloner.php – the restore script

  • at this step you already should have in place the backup you created and the Restore script
  • enter your new MySQL access details, this includes your new mySQL hostname, user and password, and a new database if different from the original one
  • enter your new location URL and Path
  • restore the files directly, this will unarchive the files on your server, will work faster (but it might result in some permission problems if you use your ftp a lot to make changes to the site)
  • after you hit submit the script will attempt to move the files to the new path, directly or using ftp and it will install the database
  • if everything goes ok your new site clone is up and running on

Step 7 – Your cloned site should be up an running, but you probably have internal links to your old site. For instance, view the image information for an image that is part of a page or a post. To remove most old links install the Velvet Blue plug-in. Below is a screen shot of using the plug-in:

Step 8 – There may still be other links to your old site, you might want to check the source code for a few pages to see if anything jumps out. In my case I found that my header image, associated with the Theme Options rather than any site content – used a link to my old site. So I needed to update the Header Image for my theme. Also if you have any hardcoded links in your CSS those will need to be manually updated.

Step 9 – Consider if any of your plug-ins may need to be updated. For instance I use Google Analytics, and should update the configuration information to relect the account for my new site (if I plan to use it).

Step 9 – Test your links!! I found that when I clicked on the link for an individual post it did not work. After checking a few things, what finally worked was to go to the MENU (Dashboard/Appearance/Menu) and click “Save Menu”. You may find other problems that may be found on a case by case basis.

Step 10 – For security purposes be sure to delete the file from your server: http://my_restore_site.com/XCloner.php

WRAP-UP – Check your links, and if you have a lot of pages and posts, do a large sampling where you check the page source code to verify no links to your old site are included.

UPDATE June 2015 – A key attraction of XCloner is that it is free. However it is quite a bit more labor intensive than some other options. For the past year I have been successfully using the UpdraftPlus Backup Migrator Add-on. For me, the time it has saved me migrating client sites has been worth every penny. Some key benefits are that you don’t need to know the mySQL access details on the target site, and you don’t need to update links with Blue Velvet.