AI ready structured data for
Storyblok.
Storyblok is a headless content management system with an API-first architecture and a unique visual editor. Content teams can see changes in real-time directly on the frontend, with drag-and-drop functionality for arranging components. The system is built around reusable content blocks delivered via REST API or GraphQL to any frontend technology.
enhancely automatically injects the right JSON-LD (schema.org) for each Storyblok page—no manual markup, no brittle scripts. enhancely and Storyblok is a perfect match. Read more about how enhancely fits in a composable architecture.
graph LR A["Browser"] --> B["Next.js / Nuxt App"] B --> C["enhancely Plugin"] C --> D["enhancely API"] D --> E["JSON-LD"] E --> C C --> F["Cache"] B --> G["HTML + JSON-LD"] H["Storyblok Webhook"] -.-> I["Cache Invalidation"] I -.-> F
Fetch. Inject. Cache.
Send URL
Receive JSON-LD
SSR Injection
<script type="application/ld+json"> in SSR HTML. Revalidation
revalidateInterval, default 5 minutes) avoids calling the API on every request. Webhook Refresh
What you get.
Quick setup.
Installation
npm install https://github.com/enhancely/headless-cms-plugin/releases/download/v1.0.6/enhancely-headless-cms-plugin-1.0.6.tgz
Caching included
ETag-aware caching (reduces API calls; keeps schema fresh)
Cache backends: Memory, File, or Redis
For multi-instance/serverless production, prefer Redis (shared cache)
Storyblok Webhook
Create a webhook pointing to: /api/webhooks/storyblok
Protect with secret via x-webhook-secret or Authorization: Bearer header.
If payload contains full_slug, clears that page. Otherwise clears all.
Compatibility & Requirements
Node.js >= 18
Next.js: >= 13 (App Router recommended)
Nuxt: >= 3
CMS: Storyblok (webhook supported)