When Joomla 3 reached end of life, site owners faced the need to migrate to a current version. The standard path is Joomla 4 or straight to 5. But the architecture changed: PSR-4, Namespaces, DI Container. This breaks compatibility of old extensions. We help move your site to Joomla 5 without data loss or functionality gaps. With over 50 successful migrations under our belt, we assess your project in one day and propose the optimal route. Before any work, we always take a full backup using Akeeba Backup: files, database, configuration — everything is preserved. That eliminates the risk of data loss.
What problems does migration solve?
- Extension incompatibility: Many third-party components for J3 have no J5 versions. Alternative extensions must be found, or custom code rewritten.
-
Outdated code: Custom extensions often use
JFactoryand direct DB access, which are deprecated in J5. Refactoring to DI and namespaces is required. - Templates: Designs based on J3 templates don't work in J5. A full switch to a Bootstrap 5 API-based template is necessary.
Migration strategies: staged upgrade or clean install?
Option 1: Staged upgrade — J3 → J4 → J5. The Pre-Update Check tool identifies incompatible extensions at each stage. Suitable if most extensions already have J4-compatible versions.
Option 2: Clean J5 install — Install J5 from scratch, migrate only content and configuration. The template and extensions are new compatible versions. Faster if many extensions are outdated.
Pre-Update Check
Components → Joomla! Update → Pre-Update Check. It shows:
- Extensions without J4/J5-compatible versions
- Deprecated PHP functions in custom code
- Outdated database tables
How to update Joomla: from 3 to 5
J3 → J4: direct upgrade
# 1. Via web updater (if all extensions are compatible) # Components → Joomla! Update → install Joomla 4.x # 2. Fix incompatible extensions before updating # Find J4-compatible versions or remove them # 3. After upgrade php cli/joomla.php database:update J4 → J5: upgrade
# Joomla 5 requires PHP 8.1+ php -v # check version # Update via updater # Components → Joomla! Update → Joomla 5.x How to migrate content and adapt templates?
Content migration is possible via staged upgrade or clean install with import. The jos_content table structure is the same in J3/J4/J5 — a direct SQL dump often works without changes. But some fields changed, so verification is needed.
// Export content from J3 // Use com_content data export or direct SQL dump // Import via CLI: php cli/joomla.php import:content --file /tmp/content-export.sql J3 templates are not compatible with J5. For J5 you need templates based on Bootstrap 5 API or Cassiopeia. Popular frameworks: Helix Ultimate (open source), Astroid Framework, YOOtheme Pro. The design is adapted to the new template.
Migrating custom extensions
Custom Joomla 3 components require refactoring. Example changes:
// J3 (deprecated): $db = JFactory::getDbo(); $user = JFactory::getUser(); $app = JFactory::getApplication(); // J5 (correct): $db = \Joomla\CMS\Factory::getDbo(); $user = \Joomla\CMS\Factory::getApplication()->getIdentity(); $app = \Joomla\CMS\Factory::getApplication(); // Namespaces namespace MyCompany\Component\Catalog\Site\Controller; use Joomla\CMS\MVC\Controller\BaseController; Unrefactored custom code can cause 500 errors, Class not found, or fatal crashes. Refactoring with DI and PSR-4 ensures stable operation under J5. We rewrite the code according to new standards.
Why backup and testing matter?
Always take a full backup before migration: site files, database, configuration. Use the Akeeba Backup component for Joomla. After each stage, test critical functionality. For an accurate route, contact our engineers — they check compatibility and create a plan.
Step-by-step migration guide from Joomla 3 to 5
1. Make a backup using Akeeba Backup. 2. Check extension compatibility via Pre-Update Check. 3. Upgrade PHP to 8.1 or higher. 4. Execute staged upgrade: J3→J4→J5, or clean install J5. 5. Migrate content (SQL dump or CLI import). 6. Install new template and configure design. 7. Test all functionality.Strategy comparison and timelines
| Feature | Staged upgrade | Clean J5 install |
|---|---|---|
| Preserve extensions | Yes, if compatible | No, installed anew |
| Execution time | Longer, many steps | Faster, one stage |
| Risks | Moderate, possible conflicts | Low, no legacy code |
| Ideal for | Sites with few extensions | Sites with outdated extensions |
| Site type | Timeline |
|---|---|
| Informational site (only content, standard extensions) | 3–5 days |
| Medium site with a few custom extensions | 2–4 weeks |
| Large portal with com_virtuemart / K2 Pro / custom code | 1–2 months |
What our work includes
- Audit of current site and extension compatibility
- Development of migration plan
- Update or replacement of incompatible extensions
- Migration of content and configuration
- Setup of new template matching the design
- Full functionality testing
- Documentation of migration results
- 30-day compatibility guarantee
We have years of experience and have completed 70+ migration projects for Joomla sites. We provide a compatibility certificate and technical support after the move. Order an audit today — get a detailed assessment of your project. Contact us to discuss migration details.







