Word & Press · 24 publishing platforms profiled Updated 10 October 2026

CMS profile

Storyblok for publishers: visual editing on a hosted headless CMS

Storyblok is a hosted headless CMS built around a Visual Editor. Plans start free, with workflows, scheduling and roles that depend on your tier.

By Word & Press Published 10 October 2026 Facts verified 10 October 2026 Evidence vendor docs Read 5 min

The short answer

Storyblok suits publishers who want editors to work in a visual, block-based editor while developers keep control of a separately built front end. The trade-off is that it is SaaS-only, priced per space and seat, and the Visual Editor, sitemaps, structured data and redirects all depend on front-end work.

STORYBLOK

What is Storyblok?

Storyblok is a hosted headless CMS. Editors build pages from blocks in a Visual Editor, while content is delivered by API to a front end that developers build separately. The documentation describes the Visual Editor as an interface that lets non-technical people edit content while developers keep full control of the front and back end.

Storyblok is SaaS. Projects are called spaces, and the pricing page says subscriptions are per space. We could not verify a founding year or a software licence from the pages we opened, so we do not state them. For the headless model in general, see the headless guide.

Fact Detail
Licence Hosted service under Storyblok’s terms (no software licence verified)
Latest version Not applicable; continuously updated SaaS
Written in Not stated in the documentation we read
Database Managed by Storyblok
Hosting Storyblok-hosted SaaS only
Price Starter free; Growth $99/month; Growth Plus $349/month; Premium and Elite custom
Made by Storyblok

Who is Storyblok best for?

Storyblok suits a publisher whose editors want to arrange pages visually and see the result straight away, while a developer team keeps the front end in a modern framework. It works for landing-page-heavy sites, special reports and multi-language operations, where block-based layouts save editors from filing developer tickets.

It is less suitable for a pure article archive where structured fields are enough and visual layout adds little. It is also unsuitable if you need to host the CMS yourself, or if per-seat and per-space costs are hard to absorb.

Editorial workflow

The default workflow has three stages: Drafting, Reviewing and Ready to Publish. New stories start with no stage, and in the default workflow only stories at Ready to Publish can be published. Custom workflows, including language-based workflows where each translation moves through stages independently, are only available on specific plans, according to the documentation. Workflow stage changes can trigger webhooks.

Roles come as defaults (Admin, Editor, Owner), whose permissions cannot be changed, and custom roles. The documentation’s example is a German translator role with full access to German content and read-only access to English. The roles page did not say which plan custom roles need, so check the pricing page for your tier.

Scheduling lets editors set a later publish date for a draft or an update to a published story, with timezones. The documentation says scheduled publication is only available on specific plans. Where languages can be published individually, each can have its own schedule.

What the front end must handle: preview. The Visual Editor works only if your front end cooperates. It must fetch draft content using a preview token, add the data-blok-c and data-blok-uid attributes produced from each block’s _editable property, and load @storyblok/preview-bridge so the page reloads when editors save or publish. A Preview URL is set in the space settings. Separately, public tokens return only published stories, so keep preview tokens out of public code.

SEO, structured data and feeds

Storyblok delivers content; it does not render pages. The documentation pages we read describe no built-in sitemap, structured-data output or redirect handling, so assume these are front-end work and check the Storyblok app directory for extensions.

  • Sitemaps: generate XML from the Content Delivery API using published stories, and exclude drafts. Use the story’s own dates for lastmod.
  • Structured data: add Article or NewsArticle JSON-LD in your templates from fields such as author, dates and image.
  • Redirects: apply them in the web server, CDN or framework. If slugs change, your front end must keep the old URLs resolving.
  • Titles, descriptions and canonicals: model them as fields in your block schema and render them.
  • Multilingual URLs and hreflang: the translation model you choose (field, folder or space) decides how URLs are structured, and your front end must output the alternates.
  • Cache refresh: use webhooks for story published, unpublished, deleted or moved, to rebuild pages or clear caches. The API also accepts a cv cache-version parameter, a Unix timestamp used for caching.
  • Feeds: RSS or Atom generated by the front end.

Media, multilingual and performance

The Image Service transforms images through the asset URL: resize with a width-by-height pattern, change quality or format, and apply filters including focal point. The documentation mentions WebP and AVIF, with browser support varying, and notes that GIFs support only resizing.

Translation can be field-level, with one story holding every language and the language parameter choosing one, folder-level, with a folder per language and room for different structures, or space-level for separate regional teams. They can be mixed. For performance, the API and CDN behaviour should be confirmed in Storyblok’s current documentation, since the pages we opened did not cover it.

Hosting and requirements

There is nothing to install for the CMS itself. Storyblok hosts the editor and the API. Your own stack must host the front end, with a framework able to render draft content on request. Plan quotas matter: Starter lists 100GB traffic and 100k API requests per month, and Growth lists 400GB and 1M.

Extending Storyblok

The documentation home lists SDKs and API clients, a CLI and an MCP server under tooling, and apps and plugins. Webhooks cover stories, assets, workflows, releases and more, with signature verification and static IP ranges for allowlisting. The translation documentation also mentions a Dimensions app for linking alternate versions of a story across folders. We did not verify an extension count.

What Storyblok costs

Starter is free with one seat and one space. Growth is listed at $99 per month ($90.75 per month when billed annually) with five seats, and Growth Plus at $349 per month with 15 seats. Extra seats are $15 per month each. Premium and Elite are custom-priced, with SLAs, SSO and dedicated support listed.

The pricing page does not state a currency symbol beyond the dollar sign, so confirm it at purchase. As with any headless CMS, add front-end development and hosting. The cost guide explains the categories.

Where Storyblok falls short

  • No self-hosting. The platform is SaaS, and you depend on the vendor’s terms and prices.
  • Plan-gated editorial features. Custom workflows and scheduling are limited to specific plans.
  • Seat and space pricing. A multi-site or large-newsroom setup adds up.
  • Visual Editor depends on your code. It does nothing until the front end implements the bridge.
  • SEO is yours to build. Sitemaps, schema and redirects are not described as core features.
  • Free tier is small. One seat and two locales suit a trial, not a newsroom.

The verdict for publishers

Storyblok is worth shortlisting if visual page editing is the priority and you have developers to build and maintain the front end. Its default workflow, translation options and webhook coverage are documented clearly, and the free plan lets you test the Visual Editor integration cheaply.

Be cautious if your team needs staged approval, scheduling or custom roles and has not confirmed they are in the plan you can afford. Compare it with other headless CMSs on the comparison hub. This profile rests on vendor documentation; see how we test.

Questions people ask

Is Storyblok open source or self-hosted?

No. Storyblok is a hosted service, and the documentation and pricing describe spaces on Storyblok's platform. We did not find a self-hosted edition. Your rights come from the contract, so read the export and cancellation terms. See the [licence guide](/license.php).

Is there a free Storyblok plan?

Yes. The pricing page lists Starter as free, with one space, one user seat, 100GB of traffic and 100k API requests per month, and two locales. A newsroom with several editors will outgrow one seat quickly.

Can editors preview articles on the live design?

Yes, through the Visual Editor, but your developers must build the support first. The front end has to fetch draft content, mark up blocks with the editable attributes and load the Preview Bridge. Without that work, the editor shows nothing useful.

Does Storyblok manage redirects and sitemaps?

The documentation pages we read do not describe either as a core feature. Treat sitemaps, structured data and redirects as front-end responsibilities, and check the Storyblok app directory for extensions.

Can Storyblok handle several languages?

Yes. It documents field-level, folder-level and space-level translation, and they can be combined. Field-level uses one story for all languages, while folder and space models allow different structures per language.

Sources

  1. Storyblok's pricing page lists Starter as free (1 space, 1 user seat, 100GB traffic and 100k API requests per month, 2 locales), Growth at $99 per month ($90.75 per month billed annually, 5 seats, 400GB traffic, 1M API requests) and Growth Plus at $349 per month (15 seats, 1TB traffic, 4M API requests), with Premium and Elite at custom pricing. — source, checked 10 October 2026.
  2. Additional seats are listed at $15 per month each, and subscriptions are per space (project). — source, checked 10 October 2026.
  3. The Visual Editor requires the front end to fetch draft content, add data-blok-c and data-blok-uid attributes from each block's _editable property, and load the @storyblok/preview-bridge library; a Preview URL is set in Settings, Visual Editor. — source, checked 10 October 2026.
  4. Storyblok's default workflow has three stages (Drafting, Reviewing, Ready to Publish), only stories at Ready to Publish can be published, and custom workflows are only available on specific plans. — source, checked 10 October 2026.
  5. Storyblok can schedule a new draft or update to a published story for later publication, but the documentation says scheduled publication is only available on specific plans. — source, checked 10 October 2026.
  6. Storyblok has default roles (Admin, Editor, Owner) with predefined permissions that cannot be changed, and custom roles tailored to the project, such as a German translator role limited to German content. — source, checked 10 October 2026.
  7. The Content Delivery API's version parameter selects draft or published stories; preview tokens access unpublished draft content and public tokens access only published stories. — source, checked 10 October 2026.
  8. Storyblok offers three translation strategies: field-level (one story, many languages, selected with the language parameter and optional fallback_lang), folder-level (a folder per language) and space-level (a space per region or market). — source, checked 10 October 2026.
  9. The Image Service transforms asset URLs by resizing, changing format (including WebP and AVIF) and applying filters such as focal point and quality; the /m/ prefix converts to WebP depending on the browser. — source, checked 10 October 2026.
  10. Storyblok webhooks cover story events (published, unpublished, deleted, moved) and asset, workflow and release events, and are suited to cache clearing and build triggers; a webhook secret is available on paid plans only. — source, checked 10 October 2026.
  11. The Storyblok documentation home lists developer quickstarts, libraries (SDKs and API clients), tooling (a CLI and an MCP server), an API reference and apps and plugins. — source, checked 10 October 2026.