Verdant TCS

Cloning a site to a new URL on a different server

6 min read

UPDATE: MULTISITE CLONING AND IMPROVEMENTS

Same-domain multisite cloning is now fully operational. We've also made improvements to our cloning scripts, and replaced WP-CLI Search Replace with Interconnectit Search Replace, and MySQLDump and import with MyDumper/MyLoader.
Multisite staging/cloning to a new domain is coming soon!
*Developer plan and above only

Introduction

In your workflow there may be times when you want to clone a duplicate of a site to a new URL, for example:

  • If your workflow entails using a development URL during development before transferring to a final production URL when a project is finished.
  • You might have a site as a blueprint site that you use as a foundation to work from, including a set of preinstalled themes and plugins with your most common option configurations.

You can use the vCanopy single site migration/cloning tool located in the site backups to do this. This tool can be used for cloning a duplicate site to the same server or to another destination server.

This article is for cloning a duplicate site to a different server, if you want to clone a duplicate to the same server we have another KB document for that.

Cloning a site to a new URL on a different server 

Cloning a duplicate site with a new URL to a different server will replicate a near identical state for the new site. The duplicate site will belong to the same owner if that user exists on the server, and it will match all the main control panel settings including:

  • WordPress Core
  • WordPress Database structure
  • SSL
  • System User (this will be created if it doesn’t already exist)
  • PHP version and settings
  • All General customizer settings including caching
  • All Security customizer settings
  • SMTP
  • Routing (www or none/root)

We will also duplicate your site-specific PHP in settings and PHP process manager settings that GP-CLI manages, alongside the GP-CLI adjusted site-specific Nginx settings and any includes in your site level Nginx directory.

There’s 2 things that don’t currently transfer over when cloning. These are: –

  • HTTP Auth
  • AutoSSL

Like any migration, always be sure to check your website over and make sure you’re settings are all correct before changing your DNS records.

GETTING STARTED

In this article we will be using an example development site development.laser-cats.monster on an origin server called origin, to illustrate the steps to migrate this site to a new url of laser-cats.monster on a destination server named destination (original I know).

IMPORTANT: DEACTIVATE WP_DEBUG FIRST

If you've had WP_DEBUG active, be sure to deactivate it before you proceed as it may cause a fatal error on the destination site.

Step 0. Preparation

Before you begin there may be a few preparation steps you need to take.

1. DISK SPACE

For your clone to begin, our systems require that your destination server has at least 110% of the origin site in free disk space, but you ensure you have ample free disk space before you proceed.

2. SSL PREPARATION (IF APPLICABLE)

An SSL attempt will be made for the newly cloned site IF SSL is enabled on the original site. For this reason, it is important to make sure that your DNS is resolving correctly for the newly cloned site before you attempt cloning. This will speed up the search and replace because the system will just run a single compound regex.

If DNS is not resolving the clone will proceed as normal and the SSL attempt will fail and vCanopy will ensure that all URLs in the database for the new site are replaced with HTTP variants, and this requires 3 passes instead of 1. You can then manually enable SSL later.

You can learn more about vCanopy search and replace functions here:

vCanopy Database Rewrites and Workflow

Step 1. Navigate to your Sites page

Click on the Sites link in the vCanopy main menu to go to the Sites management page.

Step 2. Open the site customizer

Click on the URL of the site you want to clone a duplicate of in the active site’s panel.

This will open the site customizer.

Step 3. Open the Migrate/Clone tab

Click through to the Clone tab in the site customizer. Here you will find the Migrate/Clone tools:

Step 4. Configure Migrate/Clone for the destination server and new URL duplicate cloning

Here we’ll make use of the second of the two options.

Enter the new URL you’d like to clone your website to and then select the new server from the dropdown list.

Please remember do not enter the URL with the www host included.

Step 5. Configure Clone Options and Click Migrate / Clone Now

Click the Migrate/Clone button to open the additional options modal:

This will present you with twp dropdowns where you can select your SMTP Integration and DNS API Integration settings in advance if you’d like the cloning process to configure them for you automatically on the destination site.

You can also select if you want to “Include Database Rewrites“:

Generally, you’re going to want to run database rewrites. This will run a search and replace and ensure that all of your URLs are set correctly. Two options are available to you:

  1. InterconnectIT
  2. WP-CLI


InterconnectIT is usually the best option as it’s more comprehensive. WP-CLI maybe a little quicker, but has a higher chance of missing some rewrites.

Your server will begin to clone the duplicate clone site to the destination server immediately.

Please be patient while the duplicate cloning process is ongoing and refrain from making any changes to your site and either the origin server or the destination server.

You will receive a string of notifications to keep you informed about how the migrate/clone is proceeding throughout the process. Please pay attention to these.

When the process is complete your new site will appear in the active sites list.

Your settings on your newly cloned website will match up with your origin site.

Step 6. Check your cloned duplicate site

You should check your duplicate site to make sure everything is as expected. The content and database will have been cloned across and the URLs and file paths will have been updated to the new URL. We will have matched most states for the vCanopy features, including all PHP ini settings, PHP process manager settings, and Nginx configuration settings that have been adjusted by GP-CLI. We will also have migrated across cloned files from your Nginx includes directory.

Please ensure that all has cloned correctly before deleting your previous site, and consider keeping the original for 1-2 weeks while backups have time to take place.

NOTE

Should a site clone fail to complete for any reason, it will leave a copy of the gzip file in place that looks like GPBUP-2.website.com-CLONE.gz. We have had one report of this being left behind after a successful clone. This is very uncommon, but should you find the process has not deleted this gzip file after successfully cloning your website, you can delete this manually.

Cloning and Staging Websites

You can clone staging sites to a different URL either on the same server or a new server if you have a need to do so though. You will find the same options for cloning in your staging site’s customizer, and you can follow the same steps above like you would when cloning a production website.

One thing you can’t do, however, is create or clone staging sites to “staging” subdomains on vCanopy. For example, if you try to create the website “staging.website.com” as a regular site, it will fail and result in an error message. This will also fail in the exact same way during the cloning process.

CLONING STAGING + LIVE SITE TOGETHER

Cloning both the production website along with its existing staging site is something that isn’t possible at this time. Each can be cloned individually, but not as a couple. 

Search the Knowledge Base

New to vCanopy?

Get started with our FREE Core plan today! We bring the software, you bring the hardware.