Migration from Joomla 3 to Joomla: 4 step by step

 In Uncategorized

This guide assumes you are new to Joomla 3.10.x. If you are using an older version, be sure to upgrade to Joomla 3.10 before upgrading to Joomla 4.


Below are step-by-step instructions to migrate your 3.10.x site to Joomla! 4.x. While there are hundreds of different scenarios, this will give you the basic steps to follow. Very complex migrations will likely result from installed third-party extensions.


Migration from Joomla! 3.10.x to 4.x is considered a mini-migration. Indeed, the main extensions of Joomla will be upgraded with a “one click” upgrade via Joomla! Update the component on the backend admin side of Joomla.

Many third-party extensions are a one-click upgrade as well. Some are not. You need to look at each one and determine the path the extension needs to take to go from 3.10 to 4.x. If you haven’t already, you might want to read the  3.10 to 4.x Migration Self-Assessment  and  Planning  before proceeding with the steps below.

Joomla! Main extensions:

  • Categories
  • Articles
  • Menus
  • Modules (basic modules – not third party)
  • Action Logs
  • Banners
  • The fields
  • Content history
  • Contacts
  • Messaging
  • News
  • Redirect
  • Search (decoupled in 4.x. Existing 3.x sites will continue to migrate it. However, we recommend that you use smart search in the future. See notes under Evaluate each extension)
  • Smart search
  • Tags
  • Web links (decoupled, but your site may be using it and it will migrate. See remarks under Evaluate each extension)

Migration from Joomla 3 to 4 – Step by step


Configure a development location

  1. Make sure you are using the latest version of Joomla 3.10.x before continuing.
  2. Back up your live 3.10.x site. You can use a suggested tool (see  suggested toolsat the bottom of the page) or you can do it manually.
  3. Make sure your environment meets the  technical requirements for Joomla 4before continuing.
  4. Create a new database and a new user to restore your 3.10.x site.
  5. Create a test site or build zone to work in and restore the backup copy of your 3.10.x site to one of the following locations:
    • A subdomain.
    • A sub-directory.
    • A local device. Joomla has a detailed tutorial on installing  XAMPPon  XAMPP  . However,  WAMP  ,  MAMP  ,  LAMP  are all suitable alternatives.
    • A new hosting account on a temporary root domain. (If you want to change hosts during migration.)
      • Restoring a site to a local device. See  Install Joomla Locallyand  Configure Your Workstation for Joomla Development  .
      • Restoration of a site with a tool listed at the bottom of the page. (Read the developer’s documentation.)
  1. In your test location, update your Joomla! 10.x to the latest maintenance release.
  2. Make sure the latest database schema is updated to the latest version 3.10.x by going to the  Extension Manager  →  Database tab   . If your schema is not up to date as in the following image, click the  Correct button   : 
  3. Empty the trash: do you have any items in the trash? If so, delete them (along with any applicable media that might be associated with them if not used elsewhere on the site). Items (categories and menu items as well) left in the trash can cause error-free migration issues.
  4. Save again.

Evaluate each extension

In your  planning  , you determined which third-party extensions remained or were valid and how they migrate. For this part of the step-by-step process, you will largely use two different sections of the site; Registration prior to component   update  →  Joomla! Update  and  Extensions  →  Manage  →  Manage  .      

You will examine each extension installed on your site. You will determine whether they need to be updated to the latest version or uninstalled.


  1. Using the  pre-update check: To use the pre-update check, you will need to define the Joomla! Update the component to Joomla 4. To do this, follow these steps:
  2. Go to  Components  →  Joomla Update  . (It should say that no update was found. If not, update Joomla to the latest version (should be 3.10.x) and test. Then make another backup. ) Click the Options button in the upper right corner. 
  3. Select  Joomla Next(This is the current text – it may be different in the future) from the update server drop-down list.

Need image like below to go to j4 but the thing won’t let me do it.


  1. Click Save and Close
  2. You will then see your installed version of Joomla, the latest version of Joomla! version and the URL of the update package. Joomla will again show you the requirements for Joomla 4. If it reports that you have an incompatible system or extensions, it will tell you here
  3. Need a picture like below in section go to 4 but the thing won’t let me do that.


  1. Look at the pre-update check and the pre-update plugin check in the Check before update tab of the Joomla Update component. If an extension that is not in your planning is listed here, add it to your list of extensions to review.
  2. If you have migrated from Joomla! 5 to 3.x in the past there may be some remaining extensions that need to be cleaned up.
  • plg_content_geshi
  • Bluestork admin template
  • Beez_20
  • Beez5
  • Atomic
    1. As for models, uninstall all major frontend or backend models except Protostar and Beez3 (frontend models) and Isis or Hathor (admin models)
    2. If you come across other files that need to be uninstalled, please add them to this page. This is a wiki for anyone to add to the page. Thanks in advance for your service.
  1. You will notice the tags indicating whether an extension is compatible or not. These tags usually tell a true story whether they say no or yes. If they say “Compatibility tag missing”, it means that the developer of the extension did not use a tag in their extension, so we don’t know if it is or is not compatible with Joomla 4. Talk to the developer to verify.
  2. Update Extensions: Update any extensions that you will keep on your website. In Joomla! 10.x you can go to the  Extension Manager   →  Update tab   and click on  Find Updates  which will add a tooltip in the Version column, under the Manage tab, giving compatibility information from the backend. This feature only supports extensions updated through the Update tab of Extension Manager. If you have any extensions installed that do not use the Joomla Extension Update, they should be manually evaluated as detailed below.  The same goes for plugins that have a tooltip. You will still need to check the package type and migration path with the extension developer to verify how to upgrade / migrate.
  3. Uninstall and investigate extensions: go to  Extension Manager  →  Manage tab 
  4. Click the drop-down list for Type.
  5. Select Package from the drop-down list.


  1. It is recommended that you select Package first because if there is something you need to uninstall in a package, it automatically uninstalls the associated modules, plugins or any other package element at the same time.
  2. Uninstall any packages that you no longer need or that will not migrate to Joomla 4.
  3. Repeat this process going through the Manage tab for all types in the drop-down list: component, file, language, library, module, plug-in, and model. If the author declares Joomla! Project, then leave these extensions alone. For everyone else, be sure to uninstall the ones that are not being used or are not compatible with Joomla! x..

Recent Posts

Leave a Comment

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.