Getting Started with Drupal for Publishing Organizations
Drupal occupies a specific and durable niche in the publishing world. It is not the easiest CMS to get started with, and it is not trying to be. What it offers is a structured, extensible content management framework that scales to genuinely complex editorial operations — the kind where content types, taxonomies, workflows, and access control matter as much as the editing interface.
Major news organizations, government publishers, universities, and enterprise media companies run on Drupal. Understanding why requires understanding what the platform actually does well.
What Drupal Is
Drupal is an open-source CMS written in PHP. Like WordPress, it runs on a LAMP or LEMP stack and stores content in a relational database. Unlike WordPress, Drupal was designed from the beginning around structured content modeling rather than blog-style post-and-page publishing.
In Drupal, content is built from content types — configurable entities that define what fields a piece of content contains. A news article might have headline, byline, body, publication date, primary image, related articles, and geographic tags as distinct structured fields. A product review might have a different schema entirely. You define these content types in configuration; Drupal enforces the structure and makes it queryable.
This matters because structured content is what makes headless delivery, sophisticated theming, and complex editorial workflows tractable at scale.
Installing Drupal
Drupal is installed via Composer, the PHP dependency manager. The canonical starting point:
composer create-project drupal/recommended-project my-site
cd my-site
php web/core/scripts/drupal quick-start standard
For production deployments, you will want to point a web server (Apache or Nginx) at the web/ directory and configure a MySQL or PostgreSQL database. Drupal’s installation wizard walks through the database connection and initial site configuration.
Managed Drupal hosting is available from Acquia, Pantheon, and Platform.sh, all of which offer environments tuned for Drupal’s caching and deployment patterns.
Core Concepts for Publishers
Content types. Navigate to Structure → Content types to define your editorial entities. Each content type gets its own field configuration. A publishing operation will typically create separate content types for articles, pages, press releases, authors, and any other structured entities.
Taxonomy. Drupal has a first-class taxonomy system — vocabulary and term management built into core. Use it for topics, beats, series, tags, and any other classification dimension. Taxonomy terms are themselves entities that can carry fields, so a “topic” term can have an image, a description, and curated related content.
Views. The Views module (bundled in core since Drupal 8) lets you create lists, tables, feeds, and blocks of content using a query builder interface. An article archive page, a latest-news block, and an RSS feed for a specific topic can all be built in Views without writing PHP.
Roles and permissions. Drupal’s permission system is granular. You can configure roles like Contributor, Editor, and Publisher with distinct permissions — contributors can create content but not publish it; editors can publish but not delete; administrators manage the full system. This maps naturally onto most editorial organization structures.
Editorial Workflow
Out of the box, Drupal’s content states are limited to published and unpublished. For a proper editorial workflow, install the Content Moderation module (included in Drupal core as an experimental module, stable since Drupal 9) alongside the Workflows module.
With these enabled, you can define workflow states — Draft, In Review, Approved, Published, Archived — and configure which roles can move content between which states. Editorial queue management becomes part of the CMS rather than an external process.
The Scheduler module adds scheduled publication and unpublication, useful for news operations running timed releases.
Key Modules for Publishing Sites
- Pathauto — Automatically generates URL aliases from content fields (e.g.,
/news/[year]/[month]/[title]). Essential for clean URL structures. - Metatag — Manages meta tags, Open Graph data, and structured data (JSON-LD) per content type and per node.
- Simple XML Sitemap — Generates XML sitemaps, with per-content-type inclusion and priority controls.
- Paragraphs — Replaces the monolithic body field with a flexible component system. Articles can be composed of text paragraphs, pullquotes, embedded media, call-to-action blocks, and other reusable components arranged freely.
- Media — Core media management for images, documents, video, and audio with reusable asset handling.
When to Choose Drupal
Drupal is a serious choice that rewards serious investment. The learning curve is steeper than WordPress, the ecosystem is smaller, and finding Drupal developers is harder than finding WordPress developers.
In return, you get a content management system that does not buckle under editorial complexity. Precise content modeling, granular access control, mature workflow tooling, and robust API output (JSON:API and GraphQL are both available in core or through well-maintained modules) make Drupal the right foundation for publishing organizations that have outgrown the assumptions baked into simpler CMSes.
If your content model is essentially posts and pages, WordPress or Ghost will serve you better with less effort. If your editorial operation has multiple content types, multiple contributor roles, structured taxonomy, and workflow complexity, Drupal is worth the investment.