Skip to content
Orvenant
Orvenant

Planning a Joomla upgrade

Planning a Joomla upgrade

Plan a Joomla upgrade by checking the complete installation against the target version: core, extensions, template overrides, PHP, database and custom code. Rehearse on a separate copy before changing production.

Inventory the installation that actually runs

Record the installed Joomla, PHP and database versions, then list components, plugins, modules, languages and the active template. For each extension, identify its purpose, vendor, version, update access and business owner. Include disabled extensions and custom changes; something unused today may still contain old data or influence an update. Keep the inventory tied to the actual production installation rather than an old handover document. Unknown ownership is a task to resolve before scheduling the change.

Capture hidden dependencies

List scheduled jobs, email delivery, login providers, forms, search, commerce connections and custom template overrides. Record which customer task would fail if each stopped working.

Choose a supported path for every dependency

Check the migration guidance for the exact starting and target versions, plus each extension vendor’s compatibility information. Core readiness does not establish that the complete site is ready. Joomla’s compatibility policy has defined limits, and its policy does not promise unchanged rendered markup. A template override therefore deserves a visual and functional check even when the update completes. Treat uncertain vendor support as an unresolved dependency, with a choice to replace, revise or retire the affected feature.

Plan the upgrade as a project

Use the dependency inventory to separate core upgrade work from extension replacement, template changes and content migration.

Explore Plan the upgrade as a project

Rehearse on an isolated and representative copy

Create a protected copy with the required files and database, then reproduce the intended hosting configuration closely enough to test the upgrade. Keep private records protected and disable real outbound actions before running journeys. A test form must not email customers; a commerce check must not use live charging credentials. Run the selected upgrade sequence and record warnings, repairs and duration. Keep those instructions reproducible so the final release does not depend on remembering which manual fix worked during rehearsal.

Worked decision: an unsupported form extension

Consider a site whose core has a supported upgrade route but whose request form depends on an extension with no confirmed target compatibility. Simply removing the extension could lose stored submissions and break a business process. First identify the fields, recipients, stored records and downstream actions. Then assess a supported replacement and migrate only what is required. Test field validation, delivery and staff access independently. This makes the replacement an explicit part of the release scope rather than an unpleasant discovery after updating core.

Verify journeys, permissions and destinations

Review more than the homepage. Check article editing, navigation, search, account access, forms and any commercial integration. Compare important old URLs with their intended destinations and inspect the template at narrow and wide widths. Check who can see restricted content and whether a logged-out visitor receives the correct view. Have the content owner perform ordinary administration tasks; a technically successful upgrade can still leave the team unable to publish.

Protect search continuity

If extension or routing changes alter public URLs, prepare and test a URL map instead of accepting new addresses accidentally.

Explore Protect search continuity

Keep performance separate

If the site is slow after the upgrade, measure its specific bottleneck before adding unrelated optimization changes.

Explore Keep performance separate

Restore the prior state instead of improvising a downgrade

Joomla’s policy does not support downgrading after an upgrade; it advises restoring a backup made before the change. Verify that the backup contains the matching database and files and that someone can restore them in the target environment. Agree the editing freeze or final synchronization, public verification steps and rollback decision owner. Decide how to preserve records created after cutover if rollback becomes necessary. Close the upgrade only when the site’s users and operators can complete the agreed journeys and the final dependency inventory is recorded.

Sources and further reading

Sources support the stated technical context. The planning recommendations are Orvenant's assessment.

PUT THE GUIDANCE TO WORK

Bring us the problem. We’ll work through the next step.

Share what exists today and what you want to change. We can discuss the scope, dependencies and a practical way forward.

Privacy settings

Optional Google Analytics measures page visits and contact-option use. Rejecting keeps Analytics off. Accepting allows analytics cookies. Advertising features stay off, and enquiry contents and contact details are not sent to Analytics.

Withdrawing stops future collection and removes this site’s accessible Analytics cookies. It does not erase information already received by Google. Privacy notice · Cookie notice