How to Restore a Joomla Website from a Backup

Restoring Joomla means putting the website files and database back into a compatible state from the same recovery point. Restoring only the files or only the database can leave Joomla and its extensions out of sync. The safest procedure depends on how the backup was created, but the verification steps are the same.

Before restoring, preserve the current broken site

Do not immediately overwrite the only copy of the current site. Even a broken installation may contain newer uploads, orders, form submissions, user registrations, configuration changes, or logs that are useful for recovery.

  1. Create a backup of the current files and database if they are still accessible.
  2. Identify the date and time of the backup you plan to restore.
  3. Confirm that the backup includes both Joomla files and the database, or identify the matching file/database pair.
  4. Record any important changes made after that backup was created.

If this is an active ecommerce, membership, forum, or submission site, understand that restoring an older database can remove data created after the backup time.

Use the backup tool's restore process when one is available

If the backup was created by a Joomla backup extension or your hosting provider, use that product's documented restore workflow when possible. Backup systems can package files, database data, configuration, and recovery scripts in a format that should be restored by the same system.

Before starting, verify the destination meets the Joomla version's PHP and database requirements and has enough disk space for both the archive and extracted site.

For a manual restore, restore the files and database as one recovery set

A manual Joomla restore normally has two major parts.

1. Restore the Joomla filesystem

Place the backed-up Joomla files into the intended document root. The restored set should include the Joomla core, extensions, templates, media, custom files, and hidden server files that belonged to that recovery point.

Avoid mixing a partial old file set with arbitrary newer extension files unless you know the versions are compatible.

2. Restore the matching database

Import the database backup into the database that the restored Joomla site will use. If you are replacing a damaged database, make sure you understand whether the import is intended to overwrite existing tables or to populate a clean database.

After importing, verify that the table prefix in configuration.php matches the restored Joomla tables.

Review configuration.php for the destination environment

A backup restored to a different server, directory, database, or domain may need environment-specific values corrected in configuration.php. Review at least:

  • database host;
  • database name;
  • database username and password;
  • database table prefix;
  • log directory path;
  • temporary directory path.

Do not automatically hard-code a new domain into $live_site. Joomla normally detects the hostname from the request, and $live_site is normally left empty.

Bring the restored site up carefully and clear stale cache

Before sending production traffic to the restored copy, test it privately when possible. Remove stale Joomla cache files through Joomla or by using the supported cache location for the restored site. Also purge any hosting, reverse-proxy, CDN, or object cache associated with the previous state.

Check file ownership and permissions if the restored files were uploaded by a different account or extracted by a server process. Joomla must be able to write to the directories it needs without making the entire site unnecessarily writable.

Verify the restored site before considering recovery complete

  1. Load the frontend and several deep URLs.
  2. Sign in to /administrator.
  3. Check System → Maintenance → Database and correct any Joomla schema mismatch appropriate to the restored Joomla version.
  4. Test media, uploads, forms, registration/login, email, and search as applicable.
  5. Test critical extensions and integrations.
  6. Review Joomla, PHP, database, and web-server logs for errors.
  7. Confirm scheduled tasks or cron jobs are pointing to the restored site and are not duplicated on an old copy.

When the restored installation is stable, create a fresh full backup. That new backup becomes the clean recovery point for the repaired site.


Need More Help with Joomla?

Still having trouble? Open a support ticket with QuantaCade Support and we'll be happy to help where we can.

Support priority is given to QuantaCade products, services, and customers. However, we're also happy to assist fellow Joomla users with general Joomla questions and troubleshooting when possible.

QuantaCade is an independent Joomla extension developer and is not official Joomla support. Some issues involving third-party extensions, hosting environments, server configurations, or other systems outside our development control may be beyond what we're able to resolve.

Open a Support Ticket