Joomla is an open source PHP content management system using MySQL. It sits between WordPress and Drupal in complexity, and has been in continuous development since 2005.
How it models content
- Articles are the main content type
- Categories are hierarchical, and an article belongs to one
- Menus are separate objects that define the site’s navigation and URLs
- Modules are blocks placed into template positions
- Components are larger functional units, such as a contact form or a shop
The menu system is the part that catches people out. In Joomla a menu item is not just a link, it determines how a piece of content is displayed and what its URL is. Remove the menu structure and you lose the site’s URLs along with it.
Joomla and WordPress compared
| Joomla | Closest in WordPress |
|---|---|
| Articles | Posts |
| Categories, nested | Categories, also nested |
| Menu items | Menu items, but they do not control display |
| Modules | Widgets or blocks, roughly |
| Components | Plugins, with no direct equivalent |
Article text and categories map across reasonably well. Menu-driven display logic does not, and neither does anything a component was doing. Those parts get rebuilt rather than moved.
After the move
- Check every old URL. Joomla’s menu-driven URLs rarely match WordPress permalinks, so each one needs a 301 to its new address.
- Rebuild navigation by hand. WordPress menus only link. Anything a Joomla menu item controlled about display has to be recreated in the theme or with blocks.
- Review the imported content. Old Joomla sites often carry years of articles from contributors nobody can vouch for any more. Running the imported articles through AI detection tools is a quick way to check originality before the content goes live under a new domain or brand.
Current status
Actively developed and community-governed. As with any long-lived platform, a lot of live Joomla sites run versions well behind current.