Upgrading Joomla 3 to Joomla 6: the order that does not break the site
Many Joomla 3 sites are still online in 2026. They work, so nobody touches them, and then the host switches off old PHP versions and the site goes down on a Monday morning. There is no direct jump from Joomla 3 to Jooml
Many Joomla 3 sites are still online in 2026. They work, so nobody touches them, and then the host switches off old PHP versions and the site goes down on a Monday morning.
There is no direct jump from Joomla 3 to Joomla 6. You go through every major version. Here is the order I use on client sites, and the places where upgrades usually fail.
The path
Joomla 3.10.x -> 4.4.x -> 5.4.x -> 6.x
Each arrow is a separate upgrade with its own checks. Joomla 3.10, 4.4 and 5.4 are "bridge" releases: they exist to prepare the site for the next major version.
Step 0. Work on a copy
Never upgrade the live site. Make a full backup (files and database), restore it on a staging subdomain or a local server, and close the copy from search engines. The live site keeps working while you break things on the copy.
Step 1. Audit extensions and the template
This is where most of the work is. For every installed extension, write down:
- Is there a version for Joomla 4, 5 and 6?
- Is it still maintained at all?
- Do you actually use it?
A typical Joomla 3 site has 30 to 60 extensions and uses a third of them. Uninstall what you do not need before the upgrade. Every abandoned plugin is a possible fatal error later.
The template is the second risk. Most Joomla 3 templates do not run on Joomla 4 or newer. Check whether the vendor has a new version. If not, plan to rebuild the design on a current template or framework.
Step 2. Joomla 3.10 and the pre-update check
Update to the latest 3.10.x first. It adds the Pre-Update Check: a screen that shows which extensions are not compatible with Joomla 4 and whether your server meets the requirements.
Do not continue until that list is clean. Update, replace or remove everything it marks.
Step 3. PHP and the database
Requirements grow with every major version. Joomla 6 needs PHP 8.3 or newer and a current database server (MySQL 8.0.13+, MariaDB 10.6+ or PostgreSQL 14+).
The trap: Joomla 3.10 does not officially support the newest PHP versions, and Joomla 6 does not run on the old ones. So you switch PHP in steps, together with the Joomla version, and test after each switch. Check which versions your host offers before you start.
Step 4. Upgrade to 4.4, then test
Switch the update channel to "Joomla Next" and upgrade to 4.4.x. Then check:
- frontend pages and menus
- login and user registration
- contact forms and email
- the admin panel, especially custom fields and modules
- the error log
Joomla 4 removed a lot of old API. Template overrides copied from Joomla 3 are a classic source of white pages. If a page is broken, rename the html folder of the template and see if the page comes back.
Step 5. Upgrade to 5.4
Joomla 5 ships with the Behaviour - Backward Compatibility plugin. It keeps old class names working. Leave it enabled during the upgrade, then try to switch it off on the copy: if the site survives, your extensions are ready for the next step.
Step 6. Upgrade to 6
Update all extensions again, read the pre-update check again, then upgrade. Joomla 6 has its own compatibility plugin for code written for Joomla 5. The same rule applies: if an extension only works with the compatibility plugin, it will break in the next major version, so ask the vendor about an update.
Step 7. URLs and SEO
An upgrade should not change your URLs, but a new template, a new menu structure or a replaced SEF extension can. Before going live:
- crawl the old site and the new copy and compare the URL lists
- add 301 redirects for every address that changed
- compare titles, meta descriptions and canonical tags
- check
robots.txtand the sitemap
Step 8. Go live
Pick a quiet hour. Take a fresh backup of the live site, move the upgraded copy into place, import content that changed during the work (new articles, orders, users), clear the cache and test again. Keep the old backup for at least a month.
Where upgrades usually fail
- An abandoned extension with no Joomla 4+ version.
- A template that was never updated.
- Template overrides from Joomla 3.
- PHP switched too early or too late.
- Custom code written directly into core files.
None of these is a reason to stay on Joomla 3. They are reasons to do the upgrade on a copy and in the right order.
I do these upgrades for clients: audit, staging copy, upgrade to Joomla 6, redirects and testing. Details and prices: Joomla upgrade and migration.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.