If you want/need to create lots of websites it is vitally important that you learn how to clone a blog, because it will save you a significant amount of time. I searched the web high and low for blog cloning information, but I found that any information I did find was either incomplete, or very badly explained.
I ploughed through lots of information, and eventually turned it into the simple seven step process contained in this article. I personally now use software to automate this process, but I realise that a lot of people will still want to do it manually, rather than having to buy blog cloning software. If that is you, I am sure that you will find this process to be very useful.
Note: The process below assumes that you have already created a blog that you want to clone. I refer to this as a blog template, which simply means it has the WordPress theme, plugins, and standard pages (e.g. About, Contact, Privacy etc…) that you want to use on your blog clones.
1. Create your blog clone
You only need to do this step once, in order to create a copy of your blog template, which you will subsequently use to form the basis of all your cloned blogs. In this step you simply use the File Manager function in your blog template web host’s cpanel, to create and download a zip file of your blog template. This zip file contains the source files from your blog template (i.e. the WordPress theme, and the plugins you have used). It doesn’t contain any data.
2. Create your database clone
In this step (which you only need to do once) you create a copy of your blog template’s database (i.e. the actual content on your blog, such as the About page etc…). You simply use the phpMyAdmin function in your blog template web host’s cpanel, to create and download a copy of your blog template database.
3. Prepare new domain for clone upload
Before you can upload your blog clone to a new domain you need to first of all create a database on your new domain. In this step you will use the MySQL Database function in your new domain web host’s cpanel, to create a database and a database user. Once you have created the database and user, you will give the user full access privileges to the database, because this is required by the WordPress installation (i.e. WordPress needs to access the database by logging on as a database user).
4. Upload blog clone
In this step you will upload your blog clone zip file to your new domain and extract the files from it. To do this you will use the File Manager function in your new domain web host’s cpanel.
5. Prepare for database clone import
There is a key file called wp-config which contains details about your blog’s database (i.e. the database name, user, and password). Because you have copied this file from your blog template, it will contain these details for your blog template’s database, rather than for the new database you created in step 3 above for your new domain. Therefore, you will use the File Manager function in your new domain web host’s cpanel, to edit the wp-config file to contain the database name, user, and password of the new database.
6. Import database clone
This step involves using the phpMyAdmin function in your new domain web host’s cpanel to import the data from the file you created in step 2 above. However, before you can do this, you need to first of all edit the file in a text editor in order to replace all references to your blog template with references to your new domain. You can use any text editor such as Notepad, but my favourite is EditPlus, because it has a very simple, and clean interface.
7. Check it worked
All that is now left to do is to check that everything has worked ok. To do this, simply enter the URL of your new domain into a web browser, and click on the navigation links to check they are working properly. Pay attention to the URL of each page that you open to ensure it is actually on your new domain.
Occasionally, your WordPress permalinks get messed up by the cloning process, and you end up opening a page on your blog template. If this happens, simply change your permalink settings to a standard setting, and then change them back to a custom setting. If this doesn’t resolve the problem, you probably messed up your edit in step 5 above, so you will need to work out what you did wrong, and then repeat steps 5 to 7.