Joomla upgrade and migration 3 · 4 · 5

Move to Joomla 6 without downtime or lost rankings

Every Joomla upgrade is different: from version 5 it is usually one calm step, from version 3 a full migration with a rebuilt template and some extensions replaced. I handle both: I start with an audit, do the whole move to Joomla 6 on a staging copy and only release a tested version. Recently I completed such a migration on a large site, recepty.mobi, which now runs Joomla 6 with custom components, a custom template and plugins.

  • Work on a staging copy
  • About 15 minutes of downtime
  • URLs and rankings kept

Which Joomla version do you run now?

Enter the site address: I will show the version and how long its support lasts.

What I solve

01

Site on Joomla 3 or 4

Joomla 3 has received no security patches since 17 August 2023, and the paid extended support for version 3 has closed as well. Joomla 4 support ended in October 2025; the last release of that branch was 4.4.14 on 30 September 2025. Today fixes are released only for versions 5 and 6.

02

Moving from Joomla 5 to Joomla 6

Joomla itself calls this an update, not a migration, and the work really is simpler. The catch: the “Behaviour - Backward Compatibility” plugin from Joomla 5 has to be switched off, some extensions still rely on old APIs, and the admin panel can break exactly at that moment. That is why I test on a copy, not on the live site.

03

Extensions without a version for the new Joomla

I make an inventory of everything installed and check each item separately. Some work right away, some only with the compatibility plugin, and some look fine but fail once you use them. For those without a successor I find a replacement or write my own solution.

04

Custom template and overrides

Joomla 4 removed MooTools from the core, Bootstrap 5 replaced Bootstrap 2 and 3, and the WebAssetManager took over script loading. That is why old templates and layout overrides usually cannot simply be “updated”; they are moved over by hand. I have been through this part of the work on a large site with a custom template and components.

05

PHP too old on the hosting

Joomla 6 requires at least PHP 8.3 (8.4 recommended) and a recommended PHP memory limit of at least 256 MB. For comparison, Joomla 4.4 still allowed PHP 7.2.5. Before touching the CMS itself I check the server: PHP version, database and limits.

06

URLs and Google rankings

In a migration, as opposed to rebuilding the site, articles and categories keep their IDs, so URLs can be preserved. A separate topic is sh404SEF, whose support ended on 17 August 2023. I move its URLs and metadata to 4SEF, 4SEO or core features and cover the rest with 301 redirects.

How the Joomla upgrade works

Audit and inventory

I check the Joomla version, PHP and database versions, the list of all extensions, the template, overrides and custom code changes. At this stage it is clear what moves over unchanged, what needs a replacement and what has to be rewritten. You get a list of tasks and a quote.

A copy of the site on staging

All work happens on a copy, on a subdomain or a separate server, never on the live site. Before starting I make a full backup of files and database and secure emergency access to the panel and the database.

Migration step by step

There is no jump from version 3 straight to 6: the official path is 3.10.x, then 4.4.x, then 5.4.x and only then 6.x, each time through the Joomla Update component with the channel switched to “Joomla Next”. Before every step I use the built-in extension compatibility check.

Testing

I click through the site the way a visitor and an editor would: home page, lists, articles, search, forms, language versions, the admin panel and adding content. Separately I check URLs, the sitemap, structured data and error logs.

Go-live

I schedule the go-live for the hours with the least traffic. The actual downtime is usually about fifteen minutes, needed to swap files and the database. For the first days I watch the logs and 404 errors, and the old version waits in a backup, ready for a rollback.

What it costs

Very different jobs are sold under the single word “migration”, so prices vary a lot. Here is how it looks with me.

starting from 5.4.x

Joomla 5 to Joomla 6 upgrade

A typical site without exotic extensions: work on a copy, testing and go-live.

Pricefrom 500 PLN net
via version 5

Joomla 4 to Joomla 6 upgrade

Two stages instead of one, replacing or updating some extensions.

Pricefrom 1200 PLN net
standard site

Joomla 3 to Joomla 6 migration

About fifteen extensions, a ready-made commercial template, moving content, URLs and metadata.

Price2500-6000 PLN net
template, components, plugins

Large site with custom code

The work is mostly rewriting your own code for the new APIs, not clicking around the admin panel.

Pricequote, usually from 8000 PLN net

The price depends mainly on the number and quality of extensions, whether the template can be carried over or needs rebuilding, the amount of custom code, and whether URLs have to be rescued after sh404SEF. I give an exact amount after a free audit, when I see a concrete list of tasks, not from a site address alone. Prices are net: the invoice is issued by the Useme service, which adds 23% VAT for clients from Poland and invoices companies from other EU countries without VAT.

Related services

Frequently asked questions

Can I go straight from Joomla 3 to Joomla 6?

Not in one step. Every official Joomla guide assumes a specific starting version: you move to 4 from 3.10.x, to 5 from 4.4.x and to 6 from 5.4.x. In practice it is a chain of 3.10, 4.4, 5.4, 6.x, and extensions and the template have to be checked between the stages. For you it is one service and one go-live, but technically several upgrades.

What happens to the old template?

It depends on what it is built on. The default Joomla 3 template, Protostar, is not compatible with Joomla 4, so the default template is changed before the start. Commercial templates usually have a successor from the vendor, but that is a version you buy or download, not a regular update. If the template is custom or the vendor is gone, I rebuild the look by hand on a current Joomla 6 base.

How long will the site be down?

The whole migration happens on a copy, so your site keeps working as usual all the time. Downtime only concerns the switch itself and is usually about fifteen minutes, scheduled for the time with the least traffic. If someone adds content at that moment, we agree on a window when nobody publishes.

What if an extension is no longer developed?

There are three options, and we choose together during the audit: a replacement, a Joomla core feature or a custom solution. Much of what needed an add-on in the Joomla 3 days is now built into the system, for example redirect management or custom fields. The worst option is keeping a dead extension “because it works”.

Do I need to change hosting?

Not always, but it has to be checked. Joomla 6 requires at least PHP 8.3 (8.4 recommended), MySQL 8.0.13 or newer, MariaDB 10.6 or newer or PostgreSQL 14.0 or newer, and a recommended PHP memory limit of at least 256 MB. On most shared hosting the PHP version can be switched right in the panel. If the server has to change, I say so before the work starts, not in the middle.

What about Google rankings?

This is what I watch most closely. In a migration, articles and categories keep their IDs, so URLs can usually be kept one to one. Where a URL does change, I add a 301 redirect and fix internal links. I also check .htaccess and the SEF settings, because the typical avalanche of 404 errors after a migration comes from there.

How long will Joomla 6 last?

According to the official Joomla roadmap, the 6.x branch gets regular bug fixes until 17 October 2028 and security fixes until 16 October 2029. For comparison, Joomla 5 loses regular support on 13 October 2026. Moving to version 6 settles the update question for several years ahead.

Joomla upgrade

Describe your site

Tell me which Joomla version your site runs on and add its address. I will do a free audit: check the PHP and database versions, the list of extensions and the template, and answer concretely whether an update is enough in your case or a full migration is needed, how long it will take and what it will cost.