How a headless CMS works
In a traditional CMS like WordPress, the admin panel and the website are one unit: the system both stores content and builds the pages. In a headless system, these roles are separated. Strapi is just the content "warehouse" with a convenient admin panel, while the website, app or any other interface pulls data from it and displays it in its own way.
What Strapi can do right after installation:
- create content types and fields with a visual builder in the admin panel;
- automatically serve content through a REST API, and through GraphQL if needed;
- store images and files in a media library;
- manage multiple language versions and separate drafts from published content;
- set separate permissions for editors and for external applications.
Strapi advantages
- One source of content, many channels. The website, mobile app and partner services pull data from one place, so there's no need to duplicate changes.
- Frontend freedom. The site can be built with any technology and replaced later without migrating content.
- An editor-friendly admin panel. It's built from your content types, so there are no unnecessary menus or settings.
- Open source and self-hosted. The free version can be deployed on your own server, with data stored wherever you need.
- Extensibility. Strapi is written in JavaScript and TypeScript, so custom logic is written by the same team that builds the frontend.
Limitations and drawbacks
- Two projects instead of one. Strapi and the website are separate applications that need to be developed, deployed and maintained. That costs more than a single site on a traditional CMS.
- Preview has to be set up. Editors don't automatically see a page as it will appear on the site; that requires separate frontend work.
- Major version upgrades. Moving between major Strapi versions has historically required noticeable rework, and this should be factored into your support plan.
- Fewer ready-made solutions. There are far fewer plugins than for WordPress, and many features have to be built.
- Some features are paid. Strapi's developer offers paid plans with additional features for larger teams, as well as cloud hosting.
When you don't need Strapi
A headless approach isn't always justified. We'll recommend a different solution if:
- you have a single corporate website or blog and no other channels: WordPress is simpler and cheaper;
- the site rarely changes and a developer updates it: a static Astro site without a separate CMS is enough;
- the project runs on Python and Django, and it's more convenient to keep content next to the rest of the logic: Wagtail is a better fit.
Content model: what makes it easy to use
The most important part of working with Strapi isn't installation; it's designing the content structure. If every page is a blank canvas, editors get freedom, but the site quickly becomes inconsistent. If everything is rigid, every new page will require a developer.
We aim for balance: we create a set of blocks (banner, text with image, product collection, FAQ, form) that editors use to assemble pages, plus separate types for recurring entities such as services, products, news, team members and locations. This is what you'll see in the admin panel every day, so we show the structure to your editors before frontend development begins.
New project or migrating to Strapi
A new project is designed with all channels in mind from the start, even if the mobile app comes later. That way, connecting it won't require restructuring content.
Migrating from another CMS means moving data, a new structure and a new frontend all at once. We do it in phases: first the content model and migration, then the website, and only after testing do we switch the domain. Old page URLs are redirected so you don't lose search traffic.
Strapi and mobile apps
One of Strapi's most useful roles is managing in-app content. Normally, changing on-screen text or a promo banner means releasing a new version and waiting for App Store and Google Play review. When that data comes from Strapi, your marketer changes it in the admin panel and the app shows the update immediately. We set up these APIs for native and cross-platform apps.
Integrations and custom logic
Strapi is more than a place to store text. Because it's a Node.js application, you can add custom logic and connect it to other systems:
- pull products, prices or schedules from your accounting system and display them alongside editorial content;
- send website form submissions to your CRM and trigger notifications in Slack or by email;
- automatically rebuild site pages after content is published;
- add content search with Algolia or Meilisearch.
We write this logic as separate modules so it doesn't get in the way of updating Strapi itself.
What affects the cost
- Size of the content model: the number of types, fields, relations and blocks.
- Number of channels: just the website, or also an app and external services.
- Frontend: design, number of page templates and performance requirements.
- Languages and roles: how many language versions and how complex the content approval process is.
- Migration: the volume of content in the old system and its condition.
Frequently asked questions
Is Strapi hard for editors to use? No, the admin panel is simple and built around your content. Much more depends on how well the structure is designed.
Where is the data stored? On a server you choose: your own server, a cloud provider or hosting from Strapi's developer. The database is usually PostgreSQL or MySQL.
Does headless affect SEO? Not by itself. What matters is how the frontend is built: we build sites so that search engines receive fully rendered pages with all text and meta tags.
Can we redesign the site later without touching the content? Yes, that's one of the main advantages of a headless approach: the new frontend connects to the same API, and editors don't have to migrate anything.
Can Strapi be combined with an online store? Yes: products and orders stay in the ecommerce platform, while Strapi handles content such as articles, lookbooks and brand pages.
Why Promodex
Promodex has been in business since 2015 and has delivered 750+ projects, including websites, apps and web services. That's why we see Strapi not in isolation but as part of the whole product: frontend, app, analytics and SEO. Each project is handled by our in-house team with no outsourcing. We'll tell you straight if a headless approach is overkill for your needs, and after launch we'll keep supporting and developing the system.