Drupal
Drupal is an open-source PHP content management system known for its flexible data model. It uses content types with configurable fields, a taxonomy system built on vocabularies, and a module ecosystem that extends core functionality.
How it models content
- Nodes are the basic content unit, each belonging to a content type (article, page, or custom)
- Content types carry custom field configurations, giving Drupal more structural flexibility than most CMS platforms
- Taxonomy organises content through vocabularies (groups of terms), not just a flat tag system
- Blocks are reusable content placed in theme regions
- Views is the query builder that creates listings, feeds, and filtered displays
- Modules extend functionality
Drupal and Joomla compared
| Drupal | Closest in Joomla |
|---|---|
| Nodes (articles) | Articles |
| Nodes (pages) | Articles (in a dedicated category or as uncategorised) |
| Custom content types | No direct equivalent without extensions. Joomla’s content model is less flexible |
| Taxonomy vocabularies | Categories (hierarchical) and tags (flat) |
| Blocks | Modules (placed in template positions) |
| Views | No built-in equivalent. Closest is a component or menu item configuration |
| Modules | Extensions (components, modules, and plugins — Joomla splits the concept into three) |
Basic articles transfer with effort, but Drupal’s structural flexibility makes a clean move difficult. Custom content types, Views-driven listings, and Drupal’s granular permissions all require rebuilding in Joomla’s more opinionated content model. The more heavily customised the Drupal site, the more gets rebuilt rather than moved.
Current status
Both platforms are actively maintained. Drupal 11 is the current major version. Joomla and Drupal serve overlapping audiences, though Drupal skews toward more complex, structured content needs.