Short answer: To transfer Joomla to another server, either (1) back up the site with Akeeba Backup and restore it on the new server with Akeeba Kickstart, which is the easiest and safest way, or (2) move it manually: copy all files, export and import the database, then update configuration.php with the new database details and paths. Test the site before you switch DNS. The steps below work for Joomla 4, 5 and 6.
Before you start: pre-move checklist
- Check that the new server meets your Joomla version’s requirements (PHP version and extensions, MySQL/MariaDB version). Joomla 6 needs PHP 8.3 or later. See Joomla PHP settings.
- Note the old server’s PHP version and key settings (memory_limit, upload_max_filesize, max_input_vars).
- Create an empty database and a database user on the new server.
- Lower your DNS TTL (for example to 300 seconds) 24 hours before the switch.
- Tell editors to pause content changes during the final copy.
Method 1: Akeeba Backup and Kickstart (recommended)
- On the old site, install Akeeba Backup and run Backup Now with a full-site profile. Our Joomla backup guide covers the settings.
- Download the
.jpaarchive and kickstart.php (from Akeeba’s site). - Upload both files to the empty web root on the new server.
- Open
https://your-new-server/kickstart.phpand extract the archive. - The restoration wizard (ANGIE) starts. Enter the new database host, name, user and password, and check the site paths.
- Finish the wizard, then delete the installation folder and kickstart.php when prompted.
- Log in to the administrator area and test (see the checklist below).
Method 2: Manual transfer (files + database)
Step 1: Copy the files
Download the whole Joomla folder (including hidden files such as .htaccess) by SFTP, or compress it on the old server and download one archive. Upload it to the new web root and extract it there.
# On the old server (SSH)
tar -czf site.tar.gz -C /path/to/joomla .
# On the new server
tar -xzf site.tar.gz -C /path/to/new/webroot
Step 2: Export and import the database
Use phpMyAdmin (Export → SQL, then Import on the new server) or the command line for larger sites:
mysqldump -u olduser -p olddb > joomla.sql
mysql -u newuser -p newdb < joomla.sql
Step 3: Update configuration.php
Edit configuration.php in the Joomla root and change these values to match the new server:
public $host = 'localhost';
public $user = 'newuser';
public $password = 'newpassword';
public $db = 'newdb';
public $dbprefix = 'abc_'; // only if the prefix changed
public $log_path = '/path/to/new/webroot/administrator/logs';
public $tmp_path = '/path/to/new/webroot/tmp';
public $live_site = ''; // normally empty
Step 4: Fix permissions and .htaccess
Typical permissions are 755 for folders and 644 for files (configuration.php can be 444 once it works). If you use SEF URL rewriting, make sure the new server allows .htaccess overrides (Apache/LiteSpeed) or has the equivalent nginx rules. See our Joomla .htaccess guide.
Switch DNS and go live
- Test the new server before DNS changes by adding the domain to your computer’s hosts file.
- Install the SSL certificate on the new server (or let your host issue one after DNS points there).
- Run a final backup/restore or database sync if content changed.
- Update the DNS A/AAAA records to the new server IP.
- Keep the old server running for a few days in case of rollback.
Post-move checklist
| Check | How |
|---|---|
| Front end and admin load over HTTPS | Visit as a guest and log in to /administrator |
| System Information shows the right paths and PHP version | System → System Information |
| Folder permissions are writable where needed | System Information → Folder Permissions |
| Emails send | System → Global Configuration → Server → Send Test Mail |
| Caches cleared | System → Clear Cache (plus any server/CDN cache) |
| SEF URLs, redirects and robots.txt work | Open a few deep links; check Search Console |
| Scheduled tasks/cron jobs recreated | Recreate backups and any CLI/cron jobs on the new host |
Common problems after a Joomla server move
| Problem | Fix |
|---|---|
| “Error displaying the error page” / database connection error | Check the $host, $user, $password, $db and $dbprefix values |
| Blank page or HTTP 500 | Check the PHP version and extensions, then the server error log; temporarily set Error Reporting to Maximum |
| “Unable to write to log/tmp” | Fix $log_path and $tmp_path, and the folder permissions |
| 404 on every page except home | Enable .htaccess (or nginx rules) for URL rewriting, or switch URL Rewriting off temporarily |
| Mixed-content warnings | Search and replace the old http:// URLs in content; set Force HTTPS in Global Configuration |
Prefer to have it done for you? Our Joomla support team can handle the move, including staging, the DNS switch and post-move checks.
Frequently asked questions
What is the easiest way to move a Joomla site to a new server?
Akeeba Backup plus Akeeba Kickstart. Make a full backup on the old server, upload the .jpa archive and kickstart.php to the new server, run Kickstart, and enter the new database details in the restoration wizard. It rewrites configuration.php for you.
Which configuration.php values must change after a move?
The database host, user, password and database name, the table prefix if it changed, the log and tmp paths ($log_path and $tmp_path) if the folder path changed, and $live_site if you had set it (usually it should be empty).
How do I move Joomla without downtime?
Lower the DNS TTL a day before, build and test the site on the new server using a hosts-file entry or a temporary URL, freeze content changes, run a final backup and restore, then switch DNS.
Why do I get a blank page or 500 error after moving Joomla?
Usually wrong database credentials, an unsupported PHP version on the new host, missing PHP extensions, wrong file permissions, or an .htaccess that the new server does not support. Turn on error reporting temporarily and check the server error log.
Do I need to reinstall Joomla on the new server?
No. Moving the files and the database (or using Akeeba Kickstart) keeps your existing installation, extensions and content.
Will moving servers affect my Google rankings?
Not if the domain and URLs stay the same and the site works over HTTPS straight away. Check that robots.txt, SEF/URL rewriting and redirects behave the same on the new server.
