Directus: When WordPress Is Overkill and Headless CMS Is Just Right

Directus is an open-source headless CMS that sits on top of any SQL database. A review of features, the admin panel, and use cases.

The headless CMS market is enormous: Strapi, Contentful, Sanity, Ghost. But Directus holds a unique position: it does not dictate the data structure, but adapts to an existing database.

Directus is a layer on top of an SQL database. You take PostgreSQL (or MySQL, SQLite, MSSQL, Oracle) — and get a REST API, a GraphQL API, and an admin panel. Tables become collections, rows become items, relationships become relationships.

Why This Is Great

Directus’s main advantage is that it does not own your data. Unlike Strapi or Contentful, where the data structure is defined by the engine, in Directus the database comes first. You can create tables via SQL migrations, and Directus will pick them up automatically.

This enables scenarios unavailable to other CMSes:

  • Adding a CMS on top of an existing production database
  • Sharing data between the CMS and the main application
  • Migrating from a custom admin panel without changing the DB schema

The Admin Panel

The Directus interface is one of the best among headless CMSes. Clean design, customizable dashboards, a drag-and-drop form builder. Role and permission management is granular down to the field level. Content translation support at the platform level.

API and Performance

REST and GraphQL APIs are generated automatically. Support for filtering, sorting, pagination. Webhooks for CRUD events. A JavaScript SDK is available.

Performance: the API layer is written in Node.js, and queries are translated directly into SQL. With proper database indexing, latency is minimal. Caching is via Redis.

Drawbacks

Updates between major versions can break custom modules. The documentation is improving but is incomplete in places. The plugin ecosystem is smaller than Strapi’s.

Bottom Line

Directus is the choice for projects where data matters more than the CMS. If you already have a database and need an admin panel + API — Directus is ideal. If you are starting from scratch and want maximum plug-and-play — Strapi may be simpler.

Official Directus Website