NEW CASE
Serhii Illichov, Attorney at Law — business card website case study

We create digital solutions that work for businesses


Give us a call +38 (066) 35-14-529

Let's take the first step towards your website — write to us

Close
BB STUDIO 13 min read
Updated:

How to Upgrade Joomla 3 and 4 to Joomla 5 and 6: Step-by-Step Guide, PHP and Prices

Hosting & tech
How to Upgrade Joomla 3 and 4 to Joomla 5 and 6: Step-by-Step Guide, PHP and Prices

If your site runs on Joomla 3 or 4, it is on a version that no longer receives security updates. The site still loads and enquiries keep coming in, so there seems to be no hurry. But every new vulnerability in the core or in a popular extension now stays open for good, and hosting providers are gradually removing the old PHP versions these sites depend on.

This article sets out a practical route to Joomla 5 and 6: which versions to go through, what each step requires of the server, what to do with your template and extensions, how to keep your Google rankings and how much the upgrade costs.

Short answer

Joomla can only be upgraded one step at a time: 3.10 → 4.4 → 5.4 → 6. Before each step the site must be on the latest release of its current branch, and the server must meet the requirements of the next one: Joomla 4 needs PHP 7.2.5 or later, Joomla 5 needs 8.1 or later, and Joomla 6 needs 8.3 or later plus MySQL 8.0.13 or later. The core itself usually upgrades in the standard way, through the Joomla Update component in the admin panel. The real work lies in the template and extensions: Joomla 3 templates do not work in the new versions, and some extensions will have to be replaced.

Do the upgrade on a copy of the site, with a backup before each step and testing after it. Upgrading Joomla 4 to 5 or 6 usually takes 1–3 working days; moving from Joomla 3 takes one to two weeks.

Joomla version status in 2026

Version Status End of support Minimum PHP version
Joomla 1.5 and 2.5 no longer supported 2012 and 2014 PHP 4.3 / 5.2.4
Joomla 3.10 no longer supported 17 August 2023 PHP 5.3.10 (runs on up to 8.0)
Joomla 4.4 no longer supported 14 October 2025 PHP 7.2.5
Joomla 5.x security fixes only 12 October 2027 PHP 8.1
Joomla 6.x current branch actively supported PHP 8.3

Joomla 6.0 was released on 14 October 2025, and version 6.2 followed in October 2026. So if your site is on Joomla 3 or 4 today, make Joomla 6 your target from the start: Joomla 5, the intermediate step, now only receives security fixes.

How to check your Joomla and PHP versions

In the admin panel, open System → System Information: it shows the versions of Joomla, PHP, the database and the web server. The Joomla Update component shows the current version too. If the admin panel will not open, you can find the version in the file libraries/src/Version.php (in early Joomla 3 releases, libraries/cms/version/version.php), and the PHP version in your hosting control panel.

Why you cannot just click “Update”

In Joomla 4 the developers rewrote a large part of the core: a new administrator interface, Cassiopeia as the default template instead of Protostar, Bootstrap 5 instead of Bootstrap 2 and a different extension structure. So moving from 3 to 4 is not a minor update but a migration. The 4 → 5 and 5 → 6 steps are simpler: each of them comes with a backward compatibility plugin that keeps old code working for one more release cycle.

What breaks most often:

  • the template — Joomla 3 templates do not work in Joomla 4 or later, and commercial templates have a separate version for each generation;
  • extensions — components, modules and plugins that the developer has not adapted, or has adapted only in a paid version;
  • template overrides (layout overrides) — your own changes to how articles, menus and forms are displayed;
  • edits to the core — if anyone has ever modified Joomla files directly, the upgrade will overwrite them;
  • the server — the new Joomla needs newer versions of PHP and MySQL than your old hosting provides.

The upgrade path, step by step

Step 0. A backup and a staging copy of the site

Take a full backup of the files and the database — with your hosting tools or Akeeba Backup — and check that it can actually be restored. Then deploy a copy of the site on a staging subdomain, block it from indexing and turn on debug mode. Do all the following steps on the copy, while the live site carries on serving visitors. For more on backups, see our article on website backups.

Step 1. The latest Joomla 3.10 release and an audit

Update the site to the latest 3.10 release and the extensions to their latest Joomla 3 versions. Draw up a table: every extension, its version, whether there is a release for Joomla 5 and 6, and what to do with it. In Joomla 3.10 the Joomla Update component has a built-in pre-update check: it shows which extensions have declared compatibility with Joomla 4 and whether the server meets the requirements. But the check relies on information supplied by developers, so confirm compatibility on the developer’s website and in the Joomla Extensions Directory (JED).

Step 2. A server ready for Joomla 4

Joomla 4 needs PHP 7.2.5 or later, MySQL 5.6 or later, the json, simplexml, dom, zlib and gd PHP extensions and a database driver. Switch the copy to PHP 7.4 or 8.0: these versions suit both Joomla 3.10 and Joomla 4, so the site gets through the upgrade without a PHP change halfway through.

Step 3. Joomla 3.10 → 4.4

Temporarily switch the site to a default template, disable any extensions that have no Joomla 4 version and run the upgrade. After that, update the compatible extensions to their Joomla 4 versions and the core to the latest 4.4 release. Check the pages, the admin panel and the PHP error log.

Step 4. Joomla 4.4 → 5.4

Switch PHP to 8.1–8.3 and make sure MySQL is 8.0.13 or newer. During the upgrade to Joomla 5, the “Behaviour – Backward Compatibility” plugin is enabled: it keeps code written for Joomla 4 working. Update the extensions to their Joomla 5 versions and bring the site up to the latest 5.4 release.

Step 5. Joomla 5.4 → 6

Joomla 6 needs PHP 8.3 or later (8.4 recommended) and either MySQL 8.0.13+ or MariaDB 10.6+. Before upgrading, disable the old “Behaviour – Backward Compatibility” plugin — the new one, “Behaviour – Backward Compatibility 6”, is enabled automatically during the upgrade. If the server does not meet the requirements, the button to upgrade to Joomla 6 simply will not appear in the Joomla Update component.

Step 6. Testing and launch

Work through the checklist at the end of this article, turn off debug mode and only then move the upgraded site to the live domain. Keep the old version of the site archived for at least a month, so that you have something to check the data against if anything has gone missing.

Server requirements at each step

Joomla version Minimum PHP Recommended PHP MySQL
3.10 5.3.10 7.4–8.0 5.1 or later
4.4 7.2.5 8.1–8.2 5.6 or later
5.x 8.1 8.2–8.3 8.0.13 or later
6.x 8.3 8.4 8.0.13 or later

This path is easiest on hosting where the PHP version is chosen separately for each site: the copy runs on one version, the live site on another, and you do not have to move hosts halfway through the upgrade. Our Joomla hosting offers PHP 5.6 to 8.5, Apache mode with .htaccess or Nginx + PHP-FPM, and MySQL 8. We explain how these modes differ in our article Apache vs Nginx + PHP-FPM.

What to do with the template

The template is the most visible part of the upgrade, because it is what visitors see. There are three workable options:

  1. A new version of a commercial template. If you bought the template from a well-known developer, check whether there is a version for Joomla 5 and 6. Settings usually do not carry over automatically — they have to be recreated by hand.
  2. Cassiopeia with a child template. Since Joomla 4.1, the default Cassiopeia template supports child templates: your styles and overrides are kept separately and do not disappear after updates. For most company websites this is the most reliable route.
  3. Moving the design to a new template. If the template was custom-built, the design is recoded from scratch on a modern structure. Visitors see the same site, but the code is up to date and faster.

Check the template overrides in the template’s html folder separately: they were written for the old markup and may break how articles or menus are displayed after the upgrade.

What to do with extensions

Situation What we do
There is a version for Joomla 5 and 6 update it and check the settings
The new version is paid-only you buy a licence, or we choose a free alternative
The extension has been abandoned find an alternative and migrate the data: forms, galleries, catalogue
The feature is now in the core remove the extension: for example, custom fields in articles instead of a separate component
The extension is not used uninstall it before the upgrade — less code, fewer risks

The golden rule: after the upgrade you should have fewer extensions than before it. Every unnecessary extension is one more piece of code that has to be kept updated and could become a vulnerability.

How to keep your Google rankings

  • keep your page URLs: SEF settings, the .html suffix, article and menu item aliases;
  • if URLs do change, set up 301 redirects from the old addresses to the new ones — our article on 301 and 302 redirects explains how to do it properly;
  • carry over page titles and descriptions, image alt text and structured data;
  • check the language versions and hreflang tags if the site is multilingual;
  • after launch, submit your sitemap in Google Search Console and keep an eye on the Page indexing report for 2–4 weeks.

Common mistakes

  • upgrading the live site without a copy, “because it is just one button”;
  • skipping versions — trying to install Joomla 6 straight over Joomla 3;
  • changing PHP before the core has been upgraded — and the site goes down before the upgrade has even started;
  • disabling extensions on the live site without checking what depends on them;
  • forgetting about template overrides and old edits to the core;
  • not testing forms and email — and enquiries quietly stop arriving;
  • deleting the old version of the site straight after launch.

How much a Joomla upgrade costs

Scenario What is included BB STUDIO price
Joomla 4 → 5 or 6 audit, staging copy, core and extension updates, PHP 8.2–8.4, testing from ₴3,000
Joomla 3 → 5 or 6 audit, upgrade via 4.4 and 5.4, design transfer, extension replacement, redirects from ₴7,200
Joomla 1.5 or 2.5 content migration to a current Joomla version or another CMS quoted separately
Support after the upgrade updates, backups, monitoring, security, minor fixes from ₴2,900/mo

The final price depends on the number of extensions, the template, the language versions and the amount of content. We give you the price after the audit, before any work starts, and we do not ask for prepayment. Details are on the Joomla upgrade service page.

Post-upgrade checklist

  • all menu items and internal links open without 404 errors;
  • forms send emails, and the emails actually arrive;
  • site search works and the Smart Search index has been rebuilt;
  • the language versions and the language switcher work;
  • meta tags, canonical URLs and the sitemap are in place;
  • the PHP error log is empty and debug mode is off;
  • the site is no slower than before the upgrade — a website speed audit will show this;
  • the site has been scanned for viruses and malicious code;
  • daily backups of the upgraded site are set up.

Conclusion

A Joomla upgrade is not a one-click job but a small project: an audit, a staging copy, the sequential steps 3.10 → 4.4 → 5.4 → 6, a new template and replacement extensions. In return, the site gets security updates again, runs on modern PHP and loads faster.

If you would like to hand this work over to us, get in touch with BB STUDIO: we will audit the site and give you a price before we start. To find out which PHP version to choose for other CMSs, see our PHP and CMS compatibility table.

Frequently asked questions

No. The Joomla Update component only offers the next major version, and only from the latest release of the current branch. The path is always 3.10 → 4.4 → 5.4 → 6. The good news is that on a copy of the site you can go through the whole chain in one go, and visitors only see the finished result.

Technically, yes, but with risks. Joomla 3 has not received security updates since August 2023, its extensions have stopped being updated too, and support for PHP 8.0, which it still runs on, ended in November 2023. The longer you put it off, the more work there will be later.

Joomla 4 → 5 or 6 usually takes 1–3 working days. Joomla 3 → 6 takes one to two weeks: the template and replacing extensions take up most of the time. Throughout, the live site keeps working as usual.

Yes, if the design is transferred to a compatible template rather than replaced with “something similar”. A Joomla 3 template will not work in the new version, so the site gets new code but keeps the same look. Any small differences are best agreed before launch.

PHP 8.3 at minimum, with 8.4 recommended. You also need MySQL 8.0.13+ or MariaDB 10.6+. If the server does not meet these requirements, the upgrade to Joomla 6 will not appear in the admin panel.
Rate this article
It helps us write better content
Be the first to rate 5.0 of 5 0 votes
Share this article:

Related articles

Let’s create something amazing together

Become a clientBecome a client
Telegram Viber Call us