Compare publishing workflows, languages and application needs
A website shared by several country teams is a different proposition from a product portal with customer accounts. A magazine is built around publishing; a business application may treat content as one part of a wider data model. Those distinctions should shape the shortlist.
We compare the seven CMSs featured on our service pages. Headless is not another product. It is an architectural choice: content management and presentation run separately. Several of these systems support both a conventional website and a separate frontend.
What each feature requires in practice
The table distinguishes built-in capabilities from configuration, extensions and custom development. Each carries a different amount of work. Commercial editions and subscription plans also matter: confirm the required features against the proposal for your project.
The first row highlights what makes each system worth considering. These are our assessments of how the documented features work together, not claims of exclusive capabilities. We reviewed TYPO3 14, Drupal Core 11 and Drupal CMS 2, Neos 9, Craft 5, and the current Storyblok, Payload and WordPress documentation.
Drupal needs a distinction here: Drupal CMS is a preconfigured package built on Drupal Core. Version 2 includes Canvas for visual page building; Canvas is not a core module.
| Criterion | TYPO3 | Drupal | Neos | Craft | Storyblok | Payload | WordPress |
|---|---|---|---|---|---|---|---|
| Distinctive strength | Run a family of websites from one installation, with a central page tree, multiple languages, separate editorial permissions and staged publishing. | Turn related content into searchable directories and filtered lists. Fields, taxonomies and Views let teams configure many of those queries in the admin interface. | Edit in the page layout while managing content variants. Content Dimensions combine languages, regions and other variants with defined fallback rules. | Build the publishing interface around the content: custom fields and nested Matrix entries, with bespoke templates and Live Preview. | Visual editing in a hosted headless CMS. Editors select and change blocks in the connected frontend; Storyblok runs the CMS. | Keep the CMS and application in one Next.js project. TypeScript configuration generates the data model, admin UI and APIs; business logic can use the Local API directly. | From blogs to company websites: a block-based editor and a broad choice of themes and plugins provide ready-made building blocks for publishing. |
| Editing | Page tree, content elements and website preview | Core: forms and Layout Builder; Drupal CMS 2 adds Canvas | Edit content within the page view | Custom editing forms with Live Preview | Visual Editor with preview and block selection in the connected frontend | Generated admin panel; built-in Live Preview connects to your frontend | Block editor for posts and pages; block themes also enable template and site-wide design editing |
| Content model | Pages, content elements and custom record types | Content types, fields, taxonomies and references; Views for display | Node Types define documents and content in a tree | Sections and Entry Types; Matrix for nested entries | Stories and defined blocks; references for reusing content | Collections, Globals and fields defined in TypeScript | Posts, pages, taxonomies and custom post types; extra fields through code or plugins |
| Languages & variants | Multilingual content and multiple sites in core | Core modules for content and configuration translation | Content Dimensions for languages, regions and other variants | Related sites; translation and propagation configured by field and section | Localisation through fields, folders or separate spaces | Field-level localisation; configure languages and fallbacks in code | Plugins for multilingual content; core Multisite does not supply a translation model |
| Approvals | Bundled Workspaces extension with configurable approval stages | Core Workflows and Content Moderation modules; configure states and transitions | Personal workspaces, optional review workspace before publication; separate publishing permissions | Drafts, revisions and publishing permissions; extend for additional approval stages | Default workflow; custom workflows and stages depend on the plan | Configurable drafts and versions; multi-step approvals through custom development or the enterprise offering | Drafts, revisions and posts awaiting review; plugins or custom code for multi-step approvals |
| Permissions | Backend access to pages, tables, permission-controlled fields and languages | Roles and module-defined permissions; additional modules for custom rules | Flow policies and workspace roles; configurable content access rules | User groups and permissions, subject to edition | Roles and content access; custom roles depend on the plan | Document- and field-level rules; Local API access checks must be explicitly enabled | Core roles and capabilities; extend permissions through plugins or custom code |
| Headless & APIs | Extensions for JSON output; custom APIs can be developed | Core JSON:API for content data; modules for further integrations | JSON output through Fusion; custom APIs and additional packages | Built-in GraphQL or conventional website rendering with Twig | Content Delivery API and Management API; frontend runs separately | Automatic REST and GraphQL APIs; Local API for direct server-side calls | Built-in REST API; a separate frontend needs its own preview and authentication integration |
| Custom features | PHP extensions; Extbase for application logic, Fluid for templates | PHP modules and services built on Symfony | PHP packages built on Neos Flow; Fusion for rendering | PHP plugins and modules built on Yii; Twig templates | Apps, field plugins, webhooks and external backend services | TypeScript, hooks, custom endpoints and React components | PHP plugins and hooks, custom blocks and themes |
| Hosting & licensing | Open source; plan hosting and maintenance separately | Open source; plan hosting and maintenance separately | Open source; plan hosting and maintenance separately | Free Solo edition, paid Team/Pro; self-hosting or Craft Cloud | SaaS with free and paid plans; frontend hosting is separate | Open-source core; arrange hosting separately, with additional enterprise offerings | Open-source software from WordPress.org; arrange hosting and maintenance separately, with some paid plugins and themes |
TYPO3
Drupal
Neos
Craft
Storyblok
Payload
Where we would start the shortlist
These are our starting points, not a league table. A requirement that looks minor at first can change the right choice.
- A blog, magazine or website with well-established requirements
- WordPress deserves a place on the shortlist. Its block editor, themes and plugins offer plenty of existing building blocks. We would check which extensions the project actually needs and how they work together. Multilingual publishing and multi-step approvals require additional solutions rather than coming ready to use in core.
- Multiple brands, markets and editorial teams
- TYPO3, Drupal and Neos are worth evaluating. Start with ownership, language variants and a real approval process. The question is how well the system matches the organisation, not how many languages it lists on a product page.
- A bespoke corporate website or magazine
- Craft centres on tailored editing forms with Live Preview; Neos lets editors work in the page layout. Craft’s multisite model is intended for related sites with overlapping editorial responsibilities, rather than unrelated projects. TYPO3 and Drupal are also candidates, particularly where an existing platform or in-house expertise provides a strong foundation.
- One content source, several frontends
- Storyblok combines a hosted content service with visual editing. Payload is worth considering for a TypeScript and Next.js application where developers need to own the data model and access rules. The other systems also offer routes to API-based delivery.
- A portal with business-specific rules
- Bring accounts, permissions, search, workflows and integrations into the prototype. Payload, Drupal and a custom application built on Neos Flow offer different starting points; the editorial interface alone will not settle the choice.
Compare development, migration and ongoing costs
For each CMS, budget for discovery, content migration, frontend development and extensions. Ongoing costs can include licences or subscriptions, hosting and maintenance. A SaaS subscription covers the CMS service on offer; custom frontends and integrations still need separate support.
Before choosing, establish what can be exported, where the custom code will live and what another team would need to take over. Those questions apply to self-hosted software just as much as SaaS.
Test shortlisted systems with a real workflow
Choose a small but representative piece of work: a product page in several languages, approval by two roles and a data import, for example. Try it in two suitable systems. Let editors use the prototype and let the IT team examine integration and operations.
That exercise exposes features which look good on paper but require awkward workarounds. It also gives everyone a concrete basis for the decision, rather than leaving it to the development team’s favourite software.
A multilingual product page, approval by two roles and a data import: testing a workflow like this in the shortlisted systems shows what their differences mean for your team.