Drupal
Drupal is an open-source PHP content management system with a more flexible data model than most alternatives. It runs on PHP and MySQL (or PostgreSQL), and has been in continuous development since 2001.
How it models content
- Nodes are the basic content unit. Every piece of content is a node with a content type (article, page, or custom types you define)
- Content types are configurable, with custom fields per type. This is Drupal’s main structural advantage over simpler CMS platforms
- Taxonomy uses vocabularies (groups of terms) rather than a single flat tag system. You can create as many vocabularies as you need
- Blocks are reusable content placed in theme regions
- Views is the query builder that assembles listings, feeds, and filtered content displays
- Modules extend functionality, equivalent to plugins elsewhere
Drupal’s data model is powerful but means the export is never a clean one-to-one operation. Custom content types, field configurations, and Views logic have no direct equivalents elsewhere.
Drupal and WordPress compared
| Drupal | Closest in WordPress |
|---|---|
| Nodes (articles) | Posts |
| Nodes (pages) | Pages |
| Custom content types | Custom post types (need a plugin or code) |
| Taxonomy vocabularies | Custom taxonomies (categories and tags are the defaults) |
| Blocks | Widgets or block editor blocks |
| Views | No built-in equivalent. Needs a plugin or custom queries |
| Modules | Plugins |
Basic articles and pages move across with effort. Anything built on custom content types, Views, or Drupal’s permissions system will need rebuilding rather than migrating. The more Drupal-specific the setup, the more work the move involves.
Current status
Actively maintained. Drupal 11 is the current major version (see the Drupal core release schedule). It powers a significant share of government and university websites.