Joomla 3 to 5 migration in 2026: the official path, where it breaks, and the fresh-site route
Joomla 3 has had no security fixes from the project since August 2023, and the paid extended support ended in February 2025. If your site still runs 3.10, there are two ways to Joomla 5: update in place through Joomla 4, or build a fresh Joomla 5 site and copy your content into it. This guide explains both, where each one tends to break, and how to choose.
Where Joomla stands in November 2026
The Joomla project ended official support for Joomla 3 on 17 August 2023. A paid Extended Long Term Support programme carried security fixes to 17 February 2025; that has ended too. A Joomla 3 site today gets no security updates from anyone official.
Stopping at Joomla 4 is no longer an option either. Its last release, 4.4.14, came out on 30 September 2025, and its security support ended on 14 October 2025, the day Joomla 6.0 shipped. Joomla's download page now marks the 4.x series as "no longer supported".
On the other side, Joomla 6.0 and 5.4 were released together on 14 October 2025. Joomla's roadmap calls 5.4 "the fourth and last minor version" of Joomla 5: its bug fixes ended with 5.4.10 on 13 October 2026, and it receives security fixes until 12 October 2027. Moving from 5.4 to 6 is an update, not a migration: you run it from the Joomla Update component once your extensions are ready.
So the practical goal for a Joomla 3 site is: get to Joomla 5.4, then update to 6 when your extensions allow.
Check your server first
Joomla 5 needs at least PHP 8.1 and MySQL 8.0.13, MariaDB 10.4 or PostgreSQL 12. Joomla 6 needs PHP 8.3. Many Joomla 3 sites still run on PHP 7.x, so confirm with your host that you can get a newer PHP version (on the same account or a new one) before planning anything else.
Hosts are also forcing the question. Joomla's manual lists PHP 8.0 as the recommended version for Joomla 3, and PHP itself has moved on: PHP 8.0 reached end of life on 26 November 2023, PHP 8.1 on 31 December 2025, and PHP 8.2's security support ends on 31 December 2026. Hosts remove versions after that. Reclaim Hosting took PHP 8.0 off its cPanel shared servers on 1 September 2026 and PHP 8.1 on 13 October 2026; Web Wiz will move every shared-hosting site still on PHP 8.2 to PHP 8.3 in January 2027. When a host switches a Joomla 3 site to a newer PHP version without asking, the site can stop working overnight, so plan the move before your host's date, not after.
Key dates at a glance
- 17 August 2023: Joomla 3 official support ends (paid extended security support ran to 17 February 2025).
- 14 October 2025: Joomla 4 security support ends; 4.4.14 (30 September 2025) was the last release.
- 31 December 2025: PHP 8.1 end of life.
- 31 December 2026: PHP 8.2 security support ends; hosts start removing it (Web Wiz: January 2027).
- 12 October 2027: Joomla 5 security support ends; update 5.4 to 6 before then.
Path 1: update in place (the official route)
Joomla's documentation calls the 3.10 to 4 step a "mini-migration": the core updates itself, but every extension and template has to be checked by hand. You cannot jump from 3 to 5 directly; the Joomla 4 to 5 guide assumes you start from 4.4.
- Update the live site to the latest 3.10 release, then copy it to a test site (subdomain, local machine or new host). Never do the first attempt on the live site.
- On the test site, open Components > Joomla Update, set the update channel to "Joomla Next" and read the Pre-Update Check. It lists PHP, database and extension compatibility. Do not click update yet.
- Go through every installed extension: update the ones that have Joomla 4 versions, uninstall the ones that don't. Protostar and other Joomla 3 templates do not work on Joomla 4, so switch to Cassiopeia or a Joomla 4 version of your template.
- Back up, set Error Reporting to Maximum, and run the update to 4.4. Fix the database structure if Joomla asks, then test the front end and back end.
- From 4.4, update to 5. The "Behaviour - Backward Compatibility" plugin is switched on automatically so Joomla 4 extensions keep working; turn it off only after every extension works without it.
- Update 5.x to 5.4, then to 6 when your extensions support it. Joomla 6 drops the Joomla 4 compatibility layer.
This route keeps everything: menus, modules, settings and extensions that have upgrade paths. It works well for small sites built on core Joomla and well-maintained extensions.
Where the in-place update breaks
The Joomla forum's migration board is full of threads like "J! 3.10.12 to 4.4.2 migration failed; site restored broken backend" and "Migration from J3.10 to J4 fails during update process". The causes repeat:
- Templates and overrides. A Joomla 3 template, or template overrides written for Joomla 3, can break the front end or stop the update. The usual first test is to switch to Cassiopeia.
- Extensions with no Joomla 4 version. Abandoned components, page builders and old plugins either block the update or fail after it. The Pre-Update Check only knows what extension developers declared; the Joomla 4 to 5 guide itself calls it "an extremely high level overview", not the source of truth.
- K2. JoomlaWorks announced on 30 May 2024 that K2 will not be made available for Joomla 4 or 5. A site whose articles live in K2 has no in-place path: the K2 data stays in Joomla 3 tables that nothing on Joomla 5 reads.
- Years of leftovers. Sites that started on Joomla 1.5 or 2.5 carry old tables, extension records and settings that the update trips over.
When an update fails, forum advice is consistent: restore the full backup (files and database) and start again, rather than patching a half-updated site.
Path 2: a fresh Joomla 5 site with your content copied in
The other route skips Joomla 4 entirely. You install a clean Joomla 5.4 site with a template you choose today, copy the content across from the Joomla 3 database, and rebuild menus and modules by hand. You lose nothing you wanted to keep and none of the old extension debris comes along.
The hard part is the copy. Articles, categories, users, tags, custom fields and permissions are spread over many tables, and their IDs matter: internal links like index.php?option=com_content&view=article&id=12 and your SEF URLs depend on them. That is what Bridge35 does. It reads the Joomla 3 database (read-only) and writes into the fresh Joomla 5 site:
- Articles, the category tree and tags keep their IDs and aliases, so rebuilt menus with the same aliases give the same URLs.
- Users keep their passwords where the hash is bcrypt (every login made on Joomla 3.2 or later). Groups, access levels and permissions are remapped to Joomla 5.
- Custom fields, field groups and their values are copied. Repeatable fields, removed in Joomla 4, are skipped with a note.
- A check run shows counts and warnings with no changes; the real run happens in one transaction and rolls back on any error. Large sites can use the command line.
- It does not move menus, modules, templates, language associations or third-party extensions, and two-factor users set up Joomla 5's multi-factor login again.
For K2 sites, K2Bridge turns K2 items into native Joomla 5 articles and K2 extra fields into Joomla custom fields, keeping item IDs and aliases. Each tool expects an empty Joomla 5 site, so if your site has both core articles and K2 items, write to support@sidecarsoft.com before you buy and we'll tell you how to handle it.
Which path fits your site
- Update in place if the site is small, uses core Joomla plus a few maintained extensions, and the Pre-Update Check comes back clean.
- Fresh site if the template is custom or abandoned, if key extensions have no Joomla 4 or 5 version, if the site is old and messy, or if you planned a redesign anyway.
- Fresh site with K2Bridge if your content lives in K2. There is no other path that keeps K2 item IDs on Joomla 5.
- Either way: finish on 5.4, then update to 6 before Joomla 5's security fixes end on 12 October 2027.
A checklist for the fresh-site route
- Note your top pages and their URLs (from your sitemap or analytics) so you can confirm they still resolve afterwards.
- Install Joomla 5.4 on a staging host with PHP 8.1 or later and the same content languages as the old site.
- Give the Joomla 5 server a read-only database user for the Joomla 3 database.
- Back up the empty Joomla 5 site, run the check, fix anything red, then migrate.
- Copy the images folder, rebuild menus with the same aliases, recreate modules and choose extensions with Joomla 5 versions.
- Test logins, the top pages and forms; then point the domain at the new site and add redirects for any URL that changed.
Sources
- Joomla: Joomla is 18! and Extended Security Support for Joomla 3 (17 Aug 2023)
- Joomla Community Magazine: Extended Security Support for Joomla 3.x (to 17 Feb 2025)
- Joomla: Joomla 6.0 and Joomla 5.4 are here!
- Joomla: Joomla 5.4.10 Bugfix release (end of 5.4 bug fixes)
- Joomla Downloads: Joomla! 4.x packages (4.4.14, 30 Sep 2025; series no longer supported)
- endoflife.date: Joomla (Joomla 4 security support to 14 Oct 2025)
- Joomla Developer Network: Project roadmap
- Joomla Manual: Technical requirements (5.4)
- Joomla Manual: Technical requirements (6.x)
- Joomla User Guide: Planning for Mini-Migration, Joomla 3.10.x to 4.x
- Joomla User Guide: Joomla 4 to 5 planning and upgrade step by step
- Joomla Forum: J! 3.10.12 to 4.4.2 migration failed; site restored broken backend
- Joomla Forum: Migration from J3.10 to J4 fails during update process
- JoomlaWorks: K2 will not be made available for Joomla 4/5 (30 May 2024)
- Joomla Manual: Technical requirements, incl. Joomla 3.x (recommended PHP 8.0)
- PHP: Supported versions (PHP 8.2 security support to 31 Dec 2026)
- PHP: Unsupported branches (PHP 8.0 EOL 26 Nov 2023, PHP 8.1 EOL 31 Dec 2025)
- Reclaim Hosting: Get ready for PHP 8.0 removal (11 Aug 2026)
- Web Wiz: Shared Hosting Removal of PHP 8.2 - January 2027 (6 Oct 2026)