Discovering a long-running Joomla site has been deleted by a host is stressful, but recovery is often possible. This guide gives a clear, step-by-step workflow for beginners: gather what you have, ask the host for server backups, inspect your archive, restore into a safe environment (local or staging), perform a manual or Akeeba-based restore, troubleshoot common issues, and plan an upgrade to Joomla 4. Read the warnings and checklists carefully — making changes without preparation can make recovery harder.


Overview: common scenario and recovery options

This section explains why hosts and auto-installers sometimes block older Joomla versions and summarizes your main recovery paths so you can choose the right approach.

Typical scenario and recovery choices

  • Host removed site files and database because the account expired or was not renewed.
  • Softaculous or similar installers may refuse to install older Joomla versions on new accounts (host policies vary).
  • Main recovery options:
    • Ask the host for server-side backups or a snapshot.
    • Manually restore files and database to a new hosting account or local environment.
    • Use Akeeba Backup (if your archive is an Akeeba package) and Kickstart to restore.
    • Hire a Joomla professional if the site is complex or recovery attempts are failing.

Why Softaculous or hosts may block older Joomla installs

Many hosts limit automated installation of end-of-life (EOL) CMS versions to reduce security exposure on their shared platforms. This is a policy decision by the host and not an absolute technical block to manual restoration.

Which recovery option fits your situation

Choose based on what you actually have:

  • If the host can provide a snapshot: ask them to restore to a staging area or give you downloadable files.
  • If you have a full backup (site files + SQL dump): manual restore or Akeeba restore are realistic.
  • If you have only files or only database: additional steps are required to recreate the missing part.
Trade-offs: restoring locally or on staging is safer and allows debugging. Restoring live is faster but riskier. When in doubt, test first on staging.
Verification note: confirm your host’s backup retention policy and whether installer blocking is policy-based before proceeding.

Step 1 — Stay calm and gather what you have

Before attempting any restore, collect every piece of data and every credential you can. Work from a checklist so you do not miss anything important.

What to gather

  • Backup archive file(s) (ZIP, TAR.GZ, .jpa/.jps for Akeeba).
  • Database dump (dump.sql, database.sql, .sql.gz) if present.
  • Any copy of configuration.php from the original site.
  • FTP/SFTP credentials, control panel (cPanel/Plesk) credentials, and domain/DNS access.
  • Joomla administrator username (or create a plan if lost).
  • Notes on original server: PHP versions available, MySQL/MariaDB versions, OS, web server type (Apache/nginx).

What to look for inside your backup

Common items inside a full Joomla backup:

  • configuration.php
  • /administrator, /components, /templates, /modules, /plugins, /media directories
  • SQL file(s) — often named dump.sql or database.sql or compressed as .gz
  • Akeeba archives usually end with .jpa or .jps and may include kickstart.php or a notice that the archive was made by Akeeba.

Practical examples

Example file list for a full backup: configuration.php, index.php, administrator/index.php, components/com_content, templates/your-template, dump.sql.

Warning: do not modify the original backup archive. Work from a copy to avoid corrupting the only valid source.
Verification note: check whether the SQL dump uses any non-default collations or contains custom routines; document this for the DB restore step.

Step 2 — Ask the host: request server backups and details

Contact your hosting provider promptly and politely. The faster you ask, the better the chance a recent snapshot still exists.

What to request from the host

  • Do you have server backups for my account? If yes, what date ranges are available?
  • Can you provide files and MySQL dump from [specific date] as downloadable archives?
  • Can you restore to a staging subdomain or subdirectory temporarily so I can test?
  • What PHP versions are available and how do I switch PHP versions on this account?
  • What MySQL/MariaDB version is used and do backups include stored procedures/triggers?

Practical email template (short)

"My site [your production domain] was removed on [date]. Please check for backups from [date range] and provide a copy of site files and the MySQL dump. Could you also confirm which PHP and MySQL/MariaDB versions are available and whether you can restore to a staging area?"

Warning: do not assume the host will keep backups indefinitely. Document replies and record any temporary credentials safely.
Verification note: confirm whether any provided DB dump includes triggers and stored procedures and whether character set/collation needs preserving.

Step 3 — Inspect your backup archive

Before you restore anything, inspect the archive on your computer to understand what type of backup you have and whether it is complete.

Tools to inspect archives

  • Windows: 7-Zip to list contents without extracting.
  • macOS: Archive Utility or The Unarchiver to peek inside.
  • Linux: tar -tf backup.tar.gz to list contents or unzip -l file.zip.

Identify Akeeba vs files + SQL

Akeeba archives typically use .jpa/.jps or may be ZIP files with Akeeba metadata. A plain backup shows the Joomla folder structure and a SQL dump file.

Practical checks

  • Locate configuration.php — if missing, be prepared to recreate some settings manually.
  • Find any .sql or .sql.gz file — verify its filesize and whether import limits might affect restoration.
  • Note any vendor-supplied extension packages included in the archive.
Warning: do not extract the archive into a live webroot. Inspect on your workstation or in a non-production directory.
Verification note: verify whether the archive is password-protected or encrypted before attempting to extract or upload.

Step 4 — Choose a safe restore environment (local or staging)

Always restore first to a safe environment: a local machine (XAMPP/MAMP/Docker), a staging subdomain at your host, or a new temporary hosting account. This prevents accidental downtime for any existing production site.

Why local or staging?

  • Allows debugging without exposing errors to the public.
  • Gives you time to fix compatibility and permission issues.
  • Provides an environment to test an upgrade to Joomla 4 later.

Set up a local server (XAMPP/MAMP) or Docker

Install XAMPP or MAMP and create a folder for the restored site. Alternatively use Docker to replicate the PHP and MySQL versions of the original server.

Practical example (local)

  1. Install XAMPP or MAMP.
  2. Create a database using phpMyAdmin or CLI.
  3. Copy files into htdocs/sitefolder and import SQL.
  4. Edit your hosts file to point a test domain to localhost for realistic testing.
Warning: local environments may differ in PHP modules and file permissions. Expect to adjust settings such as memory_limit or required PHP extensions.
Verification note: confirm which PHP extensions (mbstring, json, xml, etc.) and PHP minor version are best for Joomla 3.10 before configuring the environment.

Step 5 — Manual restore: files, database, configuration (step-by-step)

If your backup includes both files and an SQL dump, you can restore manually. Follow the ordered steps below and test each step before moving on.

Create a new MySQL database and user

  1. In cPanel: use the MySQL Databases tool to create a database and a new database user, then assign the user to the database with all privileges.
  2. Or via CLI: run CREATE DATABASE and CREATE USER statements and grant privileges (only if you are comfortable using the terminal).
  3. Record these credentials securely for configuration.php editing.

Upload files and import the SQL dump

  1. Upload your site archive via SFTP or the control panel file manager and extract into the target webroot.
  2. Import the SQL file using phpMyAdmin (watch for upload limits) or use the mysql CLI for larger files: mysql -u dbuser -p dbname < dump.sql.
  3. If the SQL file is compressed (.gz), either decompress locally or use a server-side command such as gunzip < dump.sql.gz | mysql -u dbuser -p dbname.

Edit configuration.php: database credentials and paths

Open configuration.php and update database host, database name, username and password to match the new DB. Also check $log_path and $tmp_path if the server path differs from the original environment.

Set file and folder permissions

  • Typical settings are folders = 755 and files = 644.
  • Ensure the web server user can write to tmp, logs and cache folders; avoid leaving folders or files with 777 permissions.

Search-and-replace old domain references

If restoring to a different domain or test URL, update absolute URLs in the database. Use a tool that understands serialized PHP data if your site stores serialized arrays in the DB.

Practical examples

  • Create DB via CLI example (illustrative): mysql -u root -p -e "CREATE DATABASE joomla3; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'YourPass123'; GRANT ALL PRIVILEGES ON joomla3.* TO 'joomlauser'@'localhost';"
  • Import via CLI: mysql -u joomlauser -p joomla3 < dump.sql
  • Editing configuration.php: replace DB credentials and verify paths for logs and tmp folders (verify exact variable names against Joomla docs before making production changes).
Warning: phpMyAdmin upload limits can block large SQL files — use CLI import when possible. Never publish configuration.php or credentials publicly.
Verification note: confirm the exact variable names and structure used in Joomla 3.10's configuration.php and recommended file permission practices for your hosting stack before making changes.

Step 6 — Fix common compatibility issues after restore

After restoring files and database, you may encounter errors. This section lists typical problems and practical fixes.

Common issues and how to approach them

  • Blank pages or 500 errors: usually PHP fatal errors or misconfigured .htaccess. Check PHP error logs or enable error reporting in a staging environment to see details.
  • Database connection errors: verify DB credentials and the DB prefix in configuration.php.
  • Missing extensions or template failures: disable problematic extensions or switch to a default template via the admin or directly in the database.

Resolving missing extensions and template errors

If the front-end fails due to a template or extension, switch to a core template (like Protostar for Joomla 3) to regain access, then re-install or update the broken extension.

Adjusting PHP settings

You may need to increase memory_limit, max_execution_time or upload_max_filesize during import and extraction. Also ensure required PHP extensions such as mbstring, json and xml are enabled (verify the exact list against Joomla documentation).

Practical troubleshooting tips

  • Enable development error reporting only in staging to view stack traces.
  • If admin panel is unreachable, use SQL to change the default template or enable admin module(s).
  • Reinstall missing language packs or extension packages from vendor sites if available.
Warning: Do not enable detailed error reporting on a public production site — this can reveal sensitive information. Remove or disable debugging settings before going live.
Verification note: confirm how to safely enable debugging and the exact list of PHP modules required by Joomla 3.10 before changing production server settings.

Step 7 — Upgrade planning: from Joomla 3.10 to Joomla 4

Joomla 3.10 is commonly used as a transition to Joomla 4. After restoring, plan an upgrade rather than staying long on an older release.

Why upgrade?

  • Security updates and modern features.
  • Long-term compatibility with newer PHP versions.

Compatibility checklist for third-party extensions

  • Inventory installed extensions and templates and check vendor statements about Joomla 4 compatibility.
  • Update all extensions to the latest Joomla 3.x releases before attempting the migration.
  • Plan replacements for any extensions that do not have Joomla 4-compatible releases.

Upgrade workflow (high level)

  1. Make a fresh backup of the restored site.
  2. Update all extension and template packages while on Joomla 3.10.
  3. Use Joomla's Pre-Update Check on a staging copy to identify issues.
  4. Perform the upgrade on staging, test thoroughly, then upgrade live when confident.
Warning: Upgrading major CMS versions can break custom templates and extensions. Always test on staging with rollback plans ready.
Verification note: confirm the current recommended upgrade path and tools from the official Joomla documentation before performing the upgrade.

Alternative options: Akeeba Backup, migration tools, or pro help

When manual restore is difficult, consider alternative approaches that may save time and reduce risk.

Using Akeeba Kickstart

If your backup is an Akeeba archive (.jpa/.jps/.zip) and Kickstart is available, upload the archive and kickstart.php to the target folder and run kickstart.php in a browser to extract and run the Akeeba installer. Akeeba automates much of the file and DB restoration process.

Migration tools and services

Specialized migration services can move a site between hosts, handle serialized data issues, and address compatibility problems. This is often the most reliable option for critical or complex sites.

When to hire a Joomla specialist

  • Custom code, complex integrations, or a broken DB structure.
  • If you lack time or confidence to perform careful restores and upgrades.
  • If the site is business-critical and downtime must be minimized.
Warning: If using a third-party service, provide credentials selectively and change passwords after work is completed. Use vetted providers where possible.
Verification note: check Akeeba's official documentation for Kickstart and restore prerequisites before relying on that workflow.

Checklist: what to verify before going live

Before switching DNS or replacing a live site, run through this pre-launch checklist on your staging copy.

Pre-launch checklist

  • Administrator login works and you can access Extensions > Manage.
  • Important frontend pages load (home, contact, key content).
  • Contact forms and email sending function correctly.
  • File and folder permissions are secure (no 777 left).
  • SSL certificate installed and active (Let's Encrypt or commercial TLS).
  • Sitemap regenerated and robots.txt reviewed.
  • Backups scheduled and tested, including an offsite copy.
  • All passwords changed after recovery: hosting, SFTP, DB, Joomla admin.
Warning: Do not change DNS to point the live domain to the restored site until you have verified the above items and have a rollback plan documented.
Verification note: confirm how to install a temporary SSL for a staging domain (self-signed or Let’s Encrypt) if needed.

Troubleshooting: common errors and quick fixes

This concise troubleshooting section helps you diagnose typical restore failures.

Database connection errors

  • Verify DB credentials in configuration.php (DB host, username, password, database name).
  • Confirm the table prefix in configuration.php matches the tables in the restored database.

Blank page or HTTP 500

  • Check server error logs and enable development error reporting in staging to reveal PHP fatal errors.
  • Review .htaccess rules — a rewrite or module mismatch can cause 500 errors.

Large SQL import failures

  • Use CLI import for large files or decompress the file on the server before import.
  • Consider chunking the SQL file with a tool designed for large imports, but verify the integrity of the import afterwards.

Practical examples

  • Import gzipped SQL via CLI: gunzip < dump.sql.gz | mysql -u joomlauser -p joomla3
  • Find the content table to check prefix: in SQL console run SHOW TABLES LIKE '%_content%'; then compare prefix with configuration.php.
Warning: Avoid running destructive SQL commands on live systems. Always test changes on a copy first.
Verification note: confirm recommended CLI commands and upload/import practices with your hosting control panel documentation.

Security and maintenance steps after recovery

After recovery, prioritize securing the site and setting up a maintenance routine to prevent future loss.

Immediate security actions

  • Change all passwords: control panel, FTP/SFTP, database user, Joomla admin accounts.
  • Enable two-factor authentication for Joomla admin where possible.
  • Review and remove unused administrator users and excessive permissions.

Backup strategy going forward

  • Maintain at least two backup copies: one offsite (cloud storage) and one local.
  • Schedule regular automated backups (daily DB, weekly full) and test restore processes periodically.
  • Consider Akeeba Backup with remote targets (S3, Dropbox) or host snapshot backups if available.

Monitoring and updates

  • Subscribe to Joomla security announcements and set a schedule for updates.
  • Move to a host offering staging sites and multiple PHP versions if your current host restricts options.
Warning: Never store all backups on the same server without an offsite copy. Rotate and test backups regularly.
Verification note: confirm backup retention recommendations and any legal/regulatory requirements for client data in your region.

FAQ

Can I restore a 2022 Joomla 3.10 backup to a new hosting account?

Yes — if your backup contains both site files and a database dump you can restore manually or with Akeeba on a new host. Ensure the new server supports compatible PHP and DB versions and test the restore on staging first.

What should I do if Softaculous or my host refuses to install older Joomla versions?

Ask the host for server backup snapshots or a temporary staging restore. Alternatively perform a manual restore from files + SQL or restore locally and then migrate the working copy to the new host.

How do I know what is inside my backup (full site vs database-only)?

Open the archive with 7-Zip or use tar -tf to list contents. Look for Joomla folders such as /administrator and a SQL dump file. Akeeba archives use .jpa/.jps extensions and include metadata identifying them.

What steps are required for a manual restore (files + database + configuration)?

Create a database and user, upload/extract files into webroot, import the SQL dump into the database (via phpMyAdmin or mysql CLI), edit configuration.php to match the new DB credentials and paths, set correct permissions, and test.

Which PHP and MySQL versions are required to run a Joomla 3.10 site safely?

Joomla 3.10 supports a range of PHP versions, but exact supported and recommended versions should be verified against the official Joomla system requirements before proceeding.

How do I test the restored site without affecting a live domain?

Use a local server (XAMPP/MAMP/Docker), create a staging subdomain, or modify your hosts file to point a test domain to the staging IP so that public DNS is unaffected.

How to handle extension, template or PHP incompatibilities after restore?

Disable or update problematic extensions, switch to a default Joomla template if needed, enable error reporting in staging to identify issues, and plan replacements for extensions that are not supported.

When and how should I upgrade the restored Joomla 3.10 site to Joomla 4?

Only after the restored site is stable and backed up. Update all extensions to their latest 3.x versions, run the Pre-Update Check on a staging copy, and perform the upgrade in staging before upgrading live.

When is it better to hire a professional?

Hire a Joomla specialist if the site has custom code, complex integrations, or if you are uncomfortable performing manual restores and upgrades yourself.

Conclusion

Restoring a Joomla 3.10 site from a 2022 backup is usually achievable even if automated installers are blocked. The safest path is to gather all available data, ask the host for backups and environment details, restore into a local or staging environment, and follow a careful manual or Akeeba-based restore workflow. After restoring, secure the site, schedule reliable offsite backups, and plan a tested upgrade to Joomla 4. If the site is business-critical or complex, engaging a Joomla professional is a sound investment.

Note: Verify PHP and database version requirements, configuration.php variable names, and any host-specific policies against the official Joomla documentation and your host’s support documentation before making production changes.

Add comment

Submit