Symfony vs Drupal: when to choose a framework over a CMS.
Both tools are written in PHP, and Drupal itself uses Symfony components. Even so, they solve different problems — and choosing wrong only starts to cost you a year in, when the project begins to grow.
The short answer.
Choose Drupal when the core of the project is content: articles, offers, a catalog, multiple languages, editors with different permissions. Choose Symfony when the core is business logic: processes, billing, a customer portal, integrations. Content is something you publish. Logic is something you execute.
How the two differ in practice.
Drupal is a ready-made content management system. After installation you have an admin interface, content types, users, roles, translations, and thousands of modules. Symfony is a framework: a set of building blocks a developer assembles into an application. After installation you have nothing a client could look at — but nothing limits you either.
Since version 8, Drupal has been built on Symfony components, so similar mechanisms run underneath. The difference is how many decisions someone has already made for you.
When Drupal is the better choice.
- Content is added by non-technical people who need a comfortable interface from day one
- The site has several language versions
- You need roles and permissions: editor, reviewer, administrator
- The content structure is complex, but it is still content — related entries, categories, catalogs
- The budget doesn't cover writing an admin interface from scratch
When to choose Symfony over Drupal.
- Most features are custom processes: orders with non-standard rules, bookings, quotes, document workflows
- The application is primarily an API for a mobile app or other systems
- The data model doesn't look like “pages with fields” — it's transactions, states, and dependencies
- Performance and full control over database queries are a requirement, not a wish
- There is little editorial content, or none at all
A warning sign: if most of the work in Drupal is switching off and working around its mechanisms, the project is asking for a framework.
Cost: at the start and three years in.
At the start, Drupal is cheaper wherever you use what it already has. An editorial interface written from scratch in Symfony is weeks of work that Drupal hands you on installation day. A few years in, the balance can flip: an application with a lot of custom logic squeezed into a CMS is harder to upgrade, because every new Drupal version means checking your own code. In Symfony you upgrade only what you wrote and deliberately pulled in.
Either way the site needs care afterwards — what that cost consists of is covered in how much Drupal maintenance costs.
The hybrid setup.
The choice doesn't have to be all-or-nothing. A split often works well: Drupal handles the public side and the content, while a separate Symfony application handles the business logic, with the two connected through an API. Editors get a comfortable interface, developers get clean code without compromises. The price is maintaining two systems instead of one, so it only makes sense on larger projects.
Questions that settle the choice.
- Who will use the system more: editors, or customers performing operations?
- How many items on the requirements list does Drupal have ready, and how many must be written?
- In two years, will there be more content or more processes?
- Who will maintain it, and what is their experience?
Frequently asked questions.
When should I choose Symfony over Drupal? When the core of the project is business logic rather than content: custom processes, billing, a customer portal, an API for other systems. If most of the work would be working around Drupal's mechanisms, it's better to start with a framework.
Is Drupal built on Symfony? Yes. Since version 8, Drupal has used Symfony components, including for HTTP request handling, routing, and the service container. It is still a separate system with its own conventions, but a Symfony developer will recognize familiar pieces.
Which is cheaper: Symfony or Drupal? For a content-driven site Drupal is cheaper, because the editorial interface, permissions, and translations come ready-made. For an application with custom logic Symfony can be cheaper over the long run, because you aren't paying to bend a CMS to jobs it wasn't made for.
Can Symfony and Drupal be combined? Yes. A common setup is Drupal as the content management system and a separate Symfony application handling the business logic, connected through an API.
Summary.
Drupal saves work when the project revolves around content. Symfony saves it when the project revolves around logic. If you have a site on an older Drupal and are staying with a CMS, see what a Drupal migration to the current version involves. If you're still choosing between CMS platforms, how to choose a CMS for your business will help.