Upgrading to Joomla 7 is a significant step. Unlike minor version updates that are largely automatic, a major version upgrade — especially one that removes deprecated APIs and modernizes the codebase — requires careful preparation. This checklist walks you through every step, from initial audit to post-upgrade verification.

Work through this list methodically. Check off each item before moving to the next. Rushing a major Joomla upgrade is how sites break in production.


Phase 1: Pre-Upgrade Audit (Do This Now)

These steps should be completed before Joomla 7 is even released. The earlier you start, the more time you have to resolve compatibility issues.

✅ 1.1 — Take Stock of Your Extension Stack

Create a complete inventory of every extension installed on your site:

  • Go to System → Extensions → Manage
  • Export or manually list every component, module, plugin, and template
  • Note the developer, current version, and last update date for each

Extensions that haven't been updated in 2+ years are high-risk for Joomla 7 compatibility issues.

✅ 1.2 — Check Each Extension for Joomla 7 Compatibility

For each extension in your inventory:

  • Visit the developer's website and check for Joomla 7 compatibility announcements
  • Check the extension's GitHub repository for Joomla 7 branches or issues
  • Check the Joomla Extensions Directory (JED) for updated listings
  • If in doubt, contact the developer directly and ask

Flag any extensions with no Joomla 7 compatibility roadmap — these may need to be replaced.

✅ 1.3 — Identify Custom Code

Beyond third-party extensions, check for any custom code on your site:

  • Custom components, modules, or plugins developed specifically for your site
  • Template customizations and overrides
  • Custom PHP files in /templates/, /plugins/, or elsewhere

All custom code needs its own compatibility audit — search for JFactory, JHtml, JText, jimport, and other deprecated patterns.

✅ 1.4 — Verify Your PHP Version

Joomla 7 requires PHP 8.1 or higher. Check your current PHP version:

  • In Joomla admin: System → System Information
  • Or ask your hosting provider

If you're on PHP 7.x, you'll need to upgrade PHP before you can run Joomla 7. Coordinate this with your hosting provider.

✅ 1.5 — Check Your Database Version

Joomla 7 requires MySQL 8.0+ or MariaDB 10.4+. Verify compatibility with your host.


Phase 2: Set Up a Staging Environment

Never run a major version upgrade on your live production site without testing first. A staging environment is non-negotiable.

✅ 2.1 — Clone Your Production Site to Staging

Create an exact copy of your production site:

  • Copy all files to a staging subdomain or server
  • Export and import a copy of the production database
  • Update the configuration.php to point to the staging database
  • Verify the staging site loads correctly and matches production

✅ 2.2 — Keep Staging Isolated

  • Block search engines from indexing staging (robots.txt disallow all, or password protect)
  • Disable outgoing emails on staging (use a mail trap service)
  • If your site takes payments, ensure payment gateways are in test mode

✅ 2.3 — Test Current Functionality on Staging

Before applying any updates, verify everything works on the staging clone. This is your baseline — you need to know staging works before you can measure what the upgrade breaks.


Phase 3: Pre-Upgrade Preparation

✅ 3.1 — Update to the Latest Joomla 6.x Release

Before jumping to Joomla 7, make sure you're on the latest Joomla 6.x release. This ensures you have all the intermediate bug fixes and the cleanest possible starting point for the major upgrade.

✅ 3.2 — Update All Extensions to Their Latest Joomla 7-Compatible Versions

Extension developers will release Joomla 7-compatible versions. Install these updates on staging before running the Joomla 7 upgrade itself.

✅ 3.3 — Remove Extensions with No Joomla 7 Support

If an extension has no Joomla 7-compatible version and no roadmap from the developer, remove it before upgrading. A broken extension is worse than a missing one. Find alternatives or plan to go without.

✅ 3.4 — Perform a Full Backup

Back up everything on both staging and production before touching anything:

  • Full file backup (all Joomla files)
  • Complete database backup (mysqldump or via your hosting control panel)
  • Store backups in at least two locations (server + off-server)
  • Test that your backup is restorable — a backup you can't restore isn't a backup

✅ 3.5 — Enable Maintenance Mode

Put your staging site in maintenance mode so users don't see an in-progress upgrade if anything goes wrong during testing.


Phase 4: Run the Joomla 7 Upgrade (on Staging First)

✅ 4.1 — Run the Upgrade via Joomla's Updater

When Joomla 7 is available:

  1. Go to System → Update → Joomla
  2. If Joomla 7 shows as available, click Update Now
  3. Wait for the update to complete — do not close the browser during this process

✅ 4.2 — Run the Database Migration

After the file update, go to System → Maintenance → Database and fix any schema issues the upgrader flags.

✅ 4.3 — Clear All Caches

After the upgrade:

  • System → Clear Cache — clear Joomla's application cache
  • Clear your server's PHP OPcache if applicable
  • Clear any CDN cache if you use one

Phase 5: Post-Upgrade Verification (Staging)

This is the most important phase. Test thoroughly on staging before touching production.

✅ 5.1 — Check the Joomla Admin Dashboard

  • Log in to the admin panel — does it load without errors?
  • Check System → System Information for any warnings
  • Review the Joomla error log (System → Logs)

✅ 5.2 — Test the Frontend

  • Browse every section of your site: homepage, articles, category views, contact form, search
  • Test on desktop and mobile
  • Test in multiple browsers (Chrome, Firefox, Safari, Edge)
  • Check all navigation menus work correctly

✅ 5.3 — Test Every Extension

Work through your extension inventory and test each one:

  • Does it load without PHP errors?
  • Does it function correctly (forms submit, data displays, admin screens work)?
  • Check the PHP error log for any warnings or notices from extension code

✅ 5.4 — Test User Workflows

  • User registration and login
  • Contact forms and email delivery
  • E-commerce checkout (if applicable)
  • Member-only content access
  • Search functionality

✅ 5.5 — Check the Deprecation Log

Enable deprecation logging (System → Global Configuration → System → Debug System: Yes + Log Deprecated API: Yes) and browse the site. Review /logs/deprecated.php for any remaining deprecated API calls from your extensions or custom code.

✅ 5.6 — Performance Check

  • Run a quick performance check — does the site load at a similar speed?
  • Check if caching is working correctly
  • If you use a CDN, verify assets are loading correctly

Phase 6: Production Upgrade

Only proceed to this phase once staging passes all checks.

✅ 6.1 — Schedule the Upgrade During Low-Traffic Hours

Check your analytics for your site's quietest period (typically early morning on a weekday). Schedule the production upgrade for that window.

✅ 6.2 — Take a Final Production Backup

Even if you backed up yesterday, take a fresh backup immediately before starting the production upgrade.

✅ 6.3 — Enable Maintenance Mode on Production

Put your live site in maintenance mode before starting the upgrade. This prevents users from experiencing a broken site during the upgrade process.

✅ 6.4 — Run the Production Upgrade

Follow the same steps as you did on staging:

  1. Update extensions to Joomla 7-compatible versions
  2. Run Joomla updater (System → Update → Joomla)
  3. Run database migration if prompted
  4. Clear all caches

✅ 6.5 — Verify Production

Run through your key test scenarios on the live site before disabling maintenance mode. This is your final check.

✅ 6.6 — Disable Maintenance Mode

Once verified, take the site out of maintenance mode and monitor closely for the first few hours.


Phase 7: Post-Upgrade Monitoring

✅ 7.1 — Monitor Error Logs for 48 Hours

After going live, actively watch your Joomla error logs and PHP error logs for the first 48 hours. Real users accessing edge cases may trigger issues your testing didn't catch.

✅ 7.2 — Watch for User Reports

Make it easy for users to report problems. Check support channels more frequently than usual in the days following a major upgrade.

✅ 7.3 — Remove Staging Database After Successful Launch

Once production is stable, clean up your staging environment — especially the database copy, which contains real user data.


Conclusion: Preparation Is Everything

A successful Joomla 7 upgrade is almost entirely determined by preparation. The upgrade itself — running the Joomla updater — takes minutes. Everything before and after that moment is where the work happens.

Use this checklist every time. Don't skip steps to save time. The most common upgrade failures happen when someone skips the staging phase or forgets to back up. Don't be that story.

Explore the full Joomla 7 series on thepixel.dev: