We have explained before how you can move your Joomla website from one server to another. That post, with minor modification, can be used to duplicate your Joomla website. However, we are going to explain the whole process from scratch to make it easier for you, our readers/customers.
In short, the process is:
- Download your Joomla website, preferably through FTP
- Export your database, preferably through phpMyAdmin
- Upload your downloaded Joomla website to the new location
- Import the exported database into a new database
- Change the configuration.php file to point to the right Joomla installation and the right database
So, the first thing that you need to is to download your Joomla website. All you need to do in this step is to connect through FTP to your website, and download all the folders/files in the remote directory of your Joomla website. The folders/files should be downloaded to a local directory on your machine, let’s call this directory myjoomlawebsite.
The second step is to export the database. All you need to do is to go the phpMyAdmin interface of your current Joomla website, click on the name of the database of your Joomla website (it should be on the left), and then click on the “Import/Export” tab on the top right. Follow the instructions there to export your database. Call the exported file myjoomlawebsite.sql
Now that you have the database and the files, you need to move them to the new location (where you want to duplicate your website). The first thing that you need to do is to upload the files: Just connect, through FTP, to the location where you want to place the duplicated website in, and then upload all the folders/files that are in myjoomlawebsite. Now that the folders/files are uploaded, you will need to import the database. Just go to the phpMyAdmin of the new location (which may or may not be on the new server), create a new database and call it, for example, myjoomladatabase2, and then click on import on the top. Follow the instructions to import myjoomlawebsite.sql into myjoomladatabase2.
Now the final step is to modify the configuration.php file, which is located in the root directory of your Joomla copied site, to point to the correct database and to the right website. Here’s how to do this:
- Open your configuration.php file located under your duplicated Joomla website.
- Change the value of $db to the name of the duplicated database, which is myjoomladatabase2.
- Change the value of $user and $password to point to the right ones (that are able to access the duplicated database).
- Change the value of the $live_site to your new domain (or sub-domain)
- Change the value of the $log_path and $tmp_path to point to the physical log and temporary directory paths on the new website.
- That’s it!
Just following the above instructions is sufficient to duplicate your Joomla website.
Some important things to mention:
- Duplicating your website and making your website viewable for the world (including search engines) is a big no-no. It will dilute the value of your content and your website will lose a lot of its credibility, especially if search engines discover that you’re the one behind the duplication of the website, and it wasn’t just someone stealing your content (it will be considered as duplicate content). If you must duplicate your website, then make sure that the new website is only reachable through an Apache password (by using an htpasswd file).
We don’t recommend using Akeeba to duplicate your Joomla website as we have seen may stability issues caused by Akeeba imports. If you still want to use Akeeba, then you will need to follow a different process: you will first need to install an empty Joomla website (you need to ensure it’s the same version), and then install Akeeba, and then use Akeeba to import your new website.
In some cases, your Joomla copy, even when duplicated correctly, will not work. This is because of differences in the environments between your original Joomla environment and your duplicated Joomla environment. The differences in the environments can stem from differences in PHP versions, PHP modules, Apache versions, MySQL versions, etc…