Cloning a site to a new URL on the same server

5 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!

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 GridPane 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 the same server, if you want to clone a duplicate to another server, please see this article instead.

Cloning a site to a new URL on the same server

Cloning a duplicate site with a new URL on the same server will replicate a near identical state for the site. The duplicate site will belong to the same owner, 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

In this article, we will be using an example development site development.laser-cats.monster to illustrate the steps to migrate this site to a new URL of laser-cats.monster on the same server.

Step 0. 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 GridPane 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 GridPane search and replace functions here:

GridPane Database Rewrites and Workflow

Step 1.  Navigate to your Sites page

Click through to your Sites page in the GridPane main menu in your account 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 same 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. Click Migrate/Clone Now

Click the Migrate/Clone Now button to start the server process. Your server will begin to clone the duplicate clone site immediately.

Please be patient while the duplicate cloning process is ongoing and refrain from making any changes to your site and 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 GridPane 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.

Screenshot_2020-01-26_at_20.10.34.png

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 GridPane. 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.