Storyblok und SEO
Storyblok ist ein visuelles Headless-CMS – es speichert Inhalte, rendert aber nie Ihre Seiten, daher liegt SEO im Frontend. Rendering, Meta-Felder, Preview-noindex, Sitemaps, Bilder.
Sprachen
1 Evidenzsignal auf dieser Seite
- Verknüpftes Live-WerkzeugRaw vs. Rendered HTML Checker
Storyblok ist ein visuelles Headless-CMS: Es speichert blockbasierte Inhalte und liefert sie über REST/GraphQL aus, rendert aber nie Ihre Seiten – Ihr Frontend-Framework übernimmt das, daher sind SEO-Ergebnisse fast vollständig eine Frontend-Entscheidung. SSG und SSR sind sicher; CSR riskiert leeres HTML und verzögerte Indexierung. Die integrierte SEO-Felder-App und die KI-SEO-App fügen nur Felder hinzu; das Frontend muss Meta-Tags, Kanonische URLs, Sitemaps, robots.txt und JSON-LD selbst rendern. Die plattformspezifische Falle ist der Vorschaumodus – blockieren Sie Entwurfs-/Vorschau-Umgebungen mit serverseitig gerenderten noindex-Headern, niemals mit JavaScript. Nutzen Sie den /m/-Bilddienst für WebP und Core Web Vitals und verlassen Sie sich auf Storybloks strukturierte Inhalte für die KI-Suche.
Evidence for this claim The article's described storyblok-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Storyblok documentation Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter GuideTL;DR — Storyblok ist ein „Headless“-CMS – es ist der Ort, an dem Sie Inhalte schreiben, nicht das, was sie anzeigt. Eine separate Website (erstellt mit Next.js, Nuxt oder Astro) ruft Ihre Inhalte ab und erstellt die eigentlichen Seiten. Das bedeutet, dass fast Ihr gesamtes SEO davon abhängt, wie diese Website aufgebaut ist, nicht von Storyblok. Die große Regel: Erstellen Sie Ihre Seiten auf einem Server oder zur Build-Zeit, nicht vollständig im Browser des Besuchers. Und die Meta-Tags, Sitemap und robots.txt, von denen Sie erwarten würden, dass ein CMS sie übernimmt? Die müssen Sie selbst einrichten.
Was Storyblok tatsächlich ist
Storyblok ist ein visuelles Headless-CMS. „Headless“ bedeutet, dass es zwei Aufgaben trennt, die ein traditionelles CMS wie WordPress zusammenhält: wo Sie Inhalte schreiben und wo sie angezeigt werden. Storyblok übernimmt die Schreibseite – es speichert Ihre Inhalte als wiederverwendbare Blöcke und bietet Redakteuren einen visuellen Drag-and-Drop-Editor – und übergibt diese Inhalte dann über eine API an eine separate Website.
Der Website-Teil wird mit einem Framework wie Next.js, Nuxt, Astro oder SvelteKit erstellt. Diese Website ruft Ihre Storyblok-Inhalte ab und wandelt sie in das HTML um, das Google und Bing lesen. Wenn mich also Leute fragen: „Ist Storyblok gut für SEO?“, lautet die ehrliche Antwort: Storyblok selbst beeinflusst Ihr SEO kaum – die Website, die Ihre Entwickler darauf aufbauen, schon.
Die eine Regel, die am wichtigsten ist
Wenn Googlebot eine Seite anfordert, muss das fertige HTML bereit sein. Es gibt zwei sichere Möglichkeiten, das zu tun, und eine riskante:
- Seiten im Voraus erstellen (SSG) – Storyblok-Inhalte werden beim Deployment der Website in einfache HTML-Dateien eingebettet. Schnell und suchmaschinenfreundlich.
- Seiten auf einem Server erstellen (SSR) – der Server stellt die vollständige Seite für jede Anfrage zusammen. Ebenfalls suchmaschinenfreundlich und immer aktuell.
- Seiten im Browser erstellen (CSR) – der Server sendet eine fast leere Seite und JavaScript füllt sie anschließend aus. Das ist die riskante Variante.
Google kann JavaScript ausführen und eine im Browser erstellte Seite irgendwann lesen, aber es geschieht später und weniger zuverlässig – und die meisten KI-Crawler (die Bots hinter ChatGPT und Perplexity) führen überhaupt kein JavaScript aus. Sie sehen nur die leere Seite. Erstellen Sie also Ihr HTML auf dem Server oder zur Build-Zeit.
Was Storyblok nicht für Sie übernimmt
In WordPress hat ein Plugin wie Yoast stillschweigend Ihre Titel-Tags, Meta- Beschreibungen, Sitemap und kanonische Tags verwaltet. Storyblok hat keine Plugin-Ebene, die das tut. Storyblok bietet zwar eine SEO Fields App, die Titel-/Beschreibungsfelder für Redakteure hinzufügt – aber selbst dann muss Ihr Entwickler dafür sorgen, dass die Website diese Werte tatsächlich in die Seite ausgibt. Nichts ist automatisch. Sie benötigen jemanden, der:
- SEO-Felder (Titel, Beschreibung usw.) zu Ihren Inhalten hinzufügt.
- Diese Felder in den
<head>der Seite einbindet. - Eine Sitemap und eine robots.txt im Frontend erstellt.
- Strukturierte Daten (Schema) im Frontend hinzufügt.
Was stillschweigend kaputtgeht: Vorschauseiten
Der visuelle Editor von Storyblok zeigt Vorschauen Ihrer Seiten unter einer separaten Vorschauadresse an. Wenn
diese Vorschauseite für Google erreichbar ist, kann sie indexiert werden – und dann haben Sie eine
Duplikat-, Entwurfsversion Ihrer Website in der Suche. Die Lösung besteht darin, Vorschau-/Staging-Seiten
mithilfe eines Server-Level-noindex von der Indexierung auszuschließen, nicht mit einem JavaScript-basierten (mehr dazu,
warum dieser Unterschied wichtig ist, im Tab „Erweitert“).
Möchten Sie die vollständige Version – die vier Rendering-Modi, die SEO Fields App vs. AI SEO
App, die Preview-noindex-Falle, Sitemaps, den /m/-Bild-Trick und KI-Suche?
Wechseln Sie zum Tab Erweitert.
Evidence for this claim The article's described storyblok-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Storyblok documentation Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter GuideTL;DR — Storyblok ist ein visuelles, API-first Headless-CMS: Es speichert blockbasierten Inhalt und liefert ihn über REST/GraphQL aus, rendert Ihre Seiten jedoch nie — das übernimmt das Frontend-Framework, daher ist SEO eine Frontend-Entscheidung. SSG und SSR liefern vollständig gerendertes HTML und sind sicher; CSR birgt das Risiko von leerem HTML und Verzögerungen durch die Render-Warteschlange. Die integrierte SEO Fields App (
seo-metatags) und die AI SEO App (sb_ai_seo) liefern nur Feldwerte — das Frontend muss Meta-Tags, Canonicals, Sitemaps, robots.txt und JSON-LD selbst rendern. Die plattformspezifische Falle ist der Vorschaumodus: Blockieren Sie Draft-/Vorschau-Umgebungen mit serverseitig gerendertemX-Robots-Tag: noindex, niemals mit JavaScript, da Google die JS-Ausführung überspringen kann, wenn es einnoindexsieht. Nutzen Sie den/m/-Bilddienst für WebP + Core Web Vitals, generieren Sie die Sitemap über die Content Delivery API und setzen Sie auf das strukturierte Inhaltsmodell für die KI-Suche.
Die grundlegende Trennung: Storyblok speichert, das Frontend rendert
Storyblok ist ein Backend. Es bietet ein aus wiederverwendbaren Blöcken aufgebautes Inhaltsmodell, einen visuellen Editor und eine Content Delivery API (REST und GraphQL). Was es nicht tut, ist das Erzeugen des HTML, das Suchmaschinen crawlen. Diese Aufgabe übernimmt ein separates Frontend — Next.js, Nuxt, Astro, SvelteKit — das Storyblok-Inhalte abruft und Seiten rendert.
Storyblok sagt dies deutlich: “Since Google doesn’t load content directly from Storyblok, your team is responsible for a fast and performant website.” (Übersetzung) „Da Google Inhalte nicht direkt von Storyblok lädt, ist Ihr Team für eine schnelle und leistungsfähige Website verantwortlich.“ Derselbe Punkt taucht in ihrer Anleitung zu strukturierten Inhalten auf — “AI doesn’t see your CMS directly. Search engines and generative models read what’s rendered on your website or app, not the JSON coming from Storyblok’s APIs.” (Übersetzung) „KI sieht Ihr CMS nicht direkt. Suchmaschinen und generative Modelle lesen, was auf Ihrer Website oder App gerendert wird, nicht das JSON, das von den Storyblok-APIs kommt.“ Verinnerlichen Sie das, und fast jede Storyblok-SEO-Frage beantwortet sich von selbst: Das CMS ist nahezu SEO-neutral, und die Rendering-Entscheidungen des Frontends bestimmen alles. Dies ist dieselbe Architektur-Realität, die ich in SEO for a Headless CMS behandle; Storyblok ist eine spezifische Variante davon mit visuellem Editor.
Rendering-Strategie: die wichtigste SEO-Entscheidung
Wie Ihr Frontend Storyblok-Inhalte rendert, ist der größte SEO-Hebel. Vier Modi, die alle Inhalte von derselben Storyblok-CDN/GraphQL-API abrufen:
SSG — Static Site Generation. HTML wird zur Bereitstellungszeit erstellt und als statische Dateien ausgeliefert. Best-Case-SEO: vollständiges HTML bei der ersten Anfrage, sehr schnell. Der Haken ist die Aktualität — neue oder bearbeitete Inhalte benötigen einen Neubuild. Verdrahten Sie daher Storybloks Publish-Webhook, um einen auszulösen. Am besten für überwiegend statische Inhalte. Astro und Gatsby sind SSG-first; Next.js und Nuxt unterstützen es pro Route.
SSR — Server-Side Rendering. HTML wird pro Anfrage auf einem Server oder in einer Edge-Funktion gerendert. Immer aktuelle, vollständig gerenderte HTML-Dateien. Am besten für häufig wechselnde Inhalte; der Kompromiss sind Infrastrukturkosten und ein etwas höherer TTFB.
ISR — Incremental Static Regeneration. Standardmäßig statisch, wird nach Zeitplan oder bei Bedarf neu generiert. Der empfohlene Mittelweg für große Storyblok-Sites mit gemischten Inhaltstypen — beachten Sie jedoch die Falle „veraltet bei der ersten Anfrage nach der Neugenerierung“, die ich im Headless-CMS-Artikel detailliert beschreibe.
CSR — Client-Side Rendering (SPA). Der Server sendet eine fast leere Hülle und der Browser erstellt das DOM. Googlebot muss die Seite für eine spätere Render-Welle in die Warteschlange stellen (die “may stay on this queue for a few seconds, but it can take longer than that” (Übersetzung) „kann einige Sekunden in dieser Warteschlange bleiben, aber es kann auch länger dauern“). Das Rendering durch KI-Crawler variiert je nach Anbieter, daher sehen reine HTML-Fetcher nur die Hülle. Liefern Sie Inhaltsseiten niemals nur per CSR aus. Googles eigene Aussage: “If the content isn’t visible in the rendered HTML, Google won’t be able to index it.” (Übersetzung) „Wenn der Inhalt nicht im gerenderten HTML sichtbar ist, kann Google ihn nicht indexieren.“
Die Entscheidungsregel: überwiegend statische Inhalte → SSG; immer aktuelle/volatile Inhalte → SSR; große gemischte Sites → ISR; CSR nur für angemeldete, nicht indexierte Oberflächen.
Integrierte Storyblok-SEO-Funktionen (und ihre Grenzen)
Storyblok bietet drei Möglichkeiten, SEO-Feldwerte zu verwalten. Alle drei erfassen nur Werte – das Frontend muss sie weiterhin rendern.
SEO-Felder-App (seo-metatags). Ein natives Plugin-Feld, das Editoren
Eingaben für Titel, Beschreibung, OG-Titel, OG-Beschreibung und OG-Bild bietet, plus eine
Google-SERP-Vorschau im Editor. Erfordert einen Growth-Plan und muss
pro Inhaltstyp hinzugefügt werden – leicht zu vergessen bei einem neuen Inhaltstyp.
KI-SEO-App (sb_ai_seo). Generiert Meta-Titel, Beschreibung, Keywords und
Autor mit einem LLM in 22 unterstützten Sprachen. Erfordert Premium. Sie können
bulk-generieren über alle Stories mit einer Management-API + Node.js-Skript.
Manuelle Feldmodellierung. Keine Plananforderung: Fügen Sie Ihre eigenen seo_title,
seo_description, og_title, og_image, noindex (boolesch) und canonical_url
Felder zu Ihrem Content-Modell hinzu. Am flexibelsten und das, was ich bei komplexen
Websites verwenden würde.
Das Nonplusultra: Keine Storyblok-App rendert automatisch ein einziges Tag. Eine globale Kopf-/
Layout-Komponente in Ihrem Framework muss die SEO-Feldwerte aus der API-Antwort lesen
und serverseitig ausgeben, mit sinnvollen Fallback-Ketten
(seo_title || story.name).
Kanonische Tags
Storyblok hat keine Kenntnis Ihrer Frontend-URL-Struktur, daher können Canonicals nicht
vom CMS kommen. Berechnen Sie diese im Frontend – typischerweise aus dem full_slug der Story
plus Ihrer Domain – und rendern Sie diese serverseitig. Immer absolute URLs, nie
relative, auf jeder Seitenvorlage. (Für die Mechanik siehe
Canonicalisierung.)
Vorschaumodus und Entwurfsinhalte: das prägende Storyblok-Risiko
Das ist die plattformspezifische Falle, die Sie richtig hinbekommen müssen. Der Visual Editor lädt Ihre
Seiten in einem iframe mit Vorschau-URLs, die _storyblok- und _storyblok_tk-Parameter
enthalten, und die Vorschauumgebung verwendet Entwurfsinhalte mit einem Vorschau-
Zugriffstoken. Die Produktion muss veröffentlichte Inhalte mit dem öffentlichen
Zugriffstoken verwenden. Das saubere Muster sind zwei separate Storyblok-Spaces/Projekte (Vorschau und
Produktion), damit das falsche Token keine Entwurfsinhalte in den Live-Index leaken kann.
Der kritische Teil ist, wie Sie Vorschau/Staging aus dem Index heraushalten. Google warnt:
“When Google encounters the noindex tag, it may skip rendering and JavaScript
execution, which means using JavaScript to change or remove the robots meta tag
from noindex may not work as expected.” (Übersetzung) „Wenn Google auf das noindex-Tag stößt, kann es das Rendering und die JavaScript-Ausführung überspringen, was bedeutet, dass die Verwendung von JavaScript zum Ändern oder Entfernen des Robots-meta-Tags von noindex möglicherweise nicht wie erwartet funktioniert.“ Mit anderen Worten: Ein noindex, das
clientseitig per JS injiziert wird, ist unzuverlässig – Google führt das JS möglicherweise nie aus. Schützen Sie also Nicht-Produktionsumgebungen
mit einem serverseitig gerenderten Antwort-Header – X-Robots-Tag: noindex auf
CDN-/Hosting-Ebene – und fügen Sie Disallow: / in der robots.txt dieser Umgebung hinzu.
Beobachten Sie die Search Console auf unerwartete Vorschau-Domains; das ist Ihre frühe
Warnung.
Sitemaps und robots.txt
Storyblok generiert keines von beiden. Beide werden im Frontend erstellt:
- Sitemap: Alle veröffentlichten Stories von der Content Delivery API abrufen und
XML ausgeben. Astro:
@astrojs/sitemapplus dynamische Routen von der Links API. Next.js:app/sitemap.tsodernext-sitemapnach dem Build. Mitstarts_witheingrenzen, für große Websites paginieren und einen Rebuild über den Storyblok-Publish-Webhook auslösen, damit die Sitemap synchron bleibt. - robots.txt: ebenfalls frontend-generiert. Die Produktion sollte das Crawlen von
öffentlichen Seiten erlauben; Vorschau/Staging sollte
Disallow: /(und denX-Robots-Tag- Header von oben) tragen.
Strukturierte Daten / JSON-LD
Storyblok speichert Inhalte als strukturiertes JSON, aber schema.org-JSON-LD muss im
Frontend generiert werden – Googlebot liest das gerenderte HTML, nicht die API-
Antwort. Bauen Sie eine JsonLd-Komponente, die Inhaltsfelder und Story-Eigenschaften
(story.published_at, story.updated_at, story.name) in ein serverseitig gerendertes
<script type="application/ld+json"> abbildet. Article, BreadcrumbList, Organization,
Product und FAQPage sind alle auf diese Weise implementierbar.
Bilder und Core Web Vitals
Storyblok-Assets werden über Amazon CloudFront ausgeliefert. Der Bilddienst ist ein echter CWV-Gewinn, aber nur bei korrekter Verwendung:
- WebP + Transformationen werden aktiviert, wenn Sie
/m/an die Bild-URL anhängen – z. B.https://a.storyblok.com/f/xxxxx/image.jpg/m/800x600. Größenänderung, Zuschnitt, Qualität und Smart-Crop sind allesamt URL-Parameter; Ergebnisse werden nach der ersten Anfrage am Edge-Cache gespeichert. Ohne das/m/erhalten Sie das unoptimierte Original. - Setzen Sie
widthundheightfür jedes Bild, um Layout-Shift (CLS) zu vermeiden. fetchpriority="high"+loading="eager"für das LCP-Hero-Bild;loading="lazy"unterhalb des Falzes.- Fügen Sie
alt-Text als explizites Feld in jeder Bildkomponente hinzu – dasfilename-Feld ist kein Alt-Text. (Siehe Alt-Text.)
Weiterleitungen, i18n und hreflang
Weiterleitungen. Storyblok hat keinen Redirect-Manager, und das Ändern eines Slugs erzeugt keine
301. Muster: eine redirects_config-Story mit verschachtelbaren redirect_entry-Blöcken
(source_url, target_story), die zur Build-/Anfragezeit abgerufen und in das Framework-Routing
injiziert werden; verwenden Sie resolve_relations, damit Ziele aktualisiert werden, wenn sich Slugs ändern,
und aktualisieren Sie über den Publish-Webhook.
Internationalisierung. Storyblok unterstützt Übersetzungen auf Feld-, Ordner- und Space-Ebene,
und API-Antworten enthalten ein alternates-Array aller übersetzten Versionen. Verwenden Sie es, um
<link rel="alternate" hreflang="...">-Tags serverseitig zu rendern, und binden Sie immer x-default ein. (Siehe
hreflang.)
GEO / KI-Suchbereitschaft
Storybloks strukturiertes, komponentenbasiertes Modell ist wirklich gut für KI-Konsum geeignet – “Storyblok was built around structured data from day one, thanks to its headless, API-first design.” (Übersetzung) „Storyblok wurde von Anfang an um strukturierte Daten herum aufgebaut, dank seines headless, API-first Designs.” Aber die Rendering-Regel gilt weiterhin: LLMs lesen gerendertes HTML, also sind SSR/SSG, korrektes JSON-LD und sauberes semantisches Markup die Eintrittskarte. Sie können auch llms.txt (einen Markdown-Index der wichtigsten Seiten) und llms-full.txt (ein vollständiges Inhaltsarchiv) im Frontend generieren. (Siehe KI-Suche und llms.txt.)
Das Fazit
Storyblok ist weder gut noch schlecht für SEO – es ist neutral und verlagert die gesamte SEO-Last auf das Frontend. Sorgen Sie für korrektes Rendering (SSR/SSG), rendern Sie die Meta-Felder, welche die SEO-Apps erfassen, schützen Sie die Vorschau mit serverseitigem noindex, erstellen Sie die Sitemap und robots.txt selbst und nutzen Sie den /m/-Bilddienst. Wenn Sie das tun, kann eine Storyblok-Site ein vernachlässigtes traditionelles CMS übertreffen. Wenn Sie es überspringen, ist die standardmäßig fehlende SEO-Ebene genau der Punkt, an dem die Site leise auseinanderfällt. Weiterführende Lektüre finden Sie unter Headless-CMS-SEO und JavaScript-SEO.
KI-Zusammenfassung
Eine komprimierte Darstellung der erweiterten Version:
- Storyblok speichert, das Frontend rendert. Storyblok ist ein visuelles, API-first Headless-CMS; es liefert Inhalte über REST/GraphQL aus, rendert aber niemals Seiten. Das Frontend (Next.js, Nuxt, Astro, SvelteKit) entscheidet über Ihre SEO. „Google lädt Inhalte nicht direkt von Storyblok.“
- Rendering ist die Entscheidung Nr. 1. SSG und SSR liefern vollständig gerendertes HTML und sind sicher; ISR ist ein guter Mittelweg (mit einer Stale-First-Request-Falle); CSR ist riskant – leeres HTML, Welle des Rendering-Warteschlangen, unsichtbar für KI-Crawler.
- Integrierte SEO-Funktionen erfassen nur Felder: SEO Fields App (
seo-metatags, Growth-Plan, pro Inhaltstyp), AI SEO App (sb_ai_seo, Premium, 22 Sprachen), oder manuelle Feldmodellierung. Das Frontend muss dennoch jedes Tag serverseitig rendern. - Der Vorschaumodus ist das entscheidende Risiko. Vorschau-URLs verwenden
_storyblok-Tokens und Entwurfsinhalte. Schützen Sie Nicht-Produktionsumgebungen mit einem serverseitig gerendertenX-Robots-Tag: noindex+Disallow: /– niemals per JS, da Google die JS-Ausführung auf einer Seite mitnoindexüberspringen kann. - Canonicals, Sitemap, robots.txt, JSON-LD werden alle im Frontend erstellt. Berechnen Sie
absolute Canonicals aus
full_slug; generieren Sie die Sitemap aus der Content-Delivery-API und aktualisieren Sie diese über den Publish-Webhook. - Bilder: Fügen Sie
/m/für WebP + Transformationen hinzu (CloudFront-gecacht); setzen Siewidth/height(CLS),fetchpriority="high"auf dem Hero (LCP), explizitealtFelder. - Weiterleitungen/i18n: Kein integrierter Weiterleitungsmanager – Slug-Änderungen erzeugen kein 301; erstellen Sie einen
redirects_config-Inhaltstyp. Verwenden Sie dasalternates-Array für hreflang +x-default. - KI-Suche: Strukturierte Inhalte sind eine Stärke, aber LLMs lesen gerendertes HTML – also
gelten SSR/SSG + JSON-LD weiterhin; optional
llms.txtausliefern.
Offizielle Dokumentation
Primärquellen-Dokumentation von den Suchmaschinen (die Headless-/Rendering-Regeln, die Storyblok-SEO bestimmen) und von Storyblok.
- JavaScript-SEO-Grundlagen verstehen – die Crawl-→-Render-→-Index-Pipeline, die Render-Warteschlangen-Verzögerung, die
noindex-über-JS-Warnung und warum SSR/Pre-Rendering bevorzugt wird. - Rendering für inhaltsorientierte Web-Apps – SSR- vs. SSG- vs. CSR-Abwägungen, direkt anwendbar auf die Wahl eines Storyblok-Frontend-Modus.
- Dynamisches Rendering (veralteter Workaround) – warum Google dynamisches Rendering nicht mehr empfiehlt; verwenden Sie stattdessen SSR, statisches Rendering oder Hydration.
- Robots-Meta-Tag, data-nosnippet und X-Robots-Tag – wie Sie
noindexüber denX-Robots-Tag-HTTP-Header setzen (die serverseitige Methode zum Schutz von Vorschau/Staging). - Suchindexierung mit noindex blockieren – die Meta-Tag- vs. Header-Methoden, um Seiten aus dem Index fernzuhalten.
Bing / Microsoft
- Der neue Evergreen-Bingbot (Microsoft Edge) – Bingbot rendert JavaScript über Edge (Chromium), aber weniger konsistent als Google – ein weiterer Grund, SSR/SSG zu bevorzugen.
- IndexNow / indexnow.org – Push-Protokoll, das Sie an Ihren Storyblok-Publish-Webhook anbinden können, damit geänderte URLs sofort signalisiert werden.
Storyblok
- FAQ: Headless CMS und SEO — Storybloks eigene Darstellung, wo die SEO-Verantwortung liegt.
- SEO Fields App-Dokumentation und AI SEO App-Dokumentation — die nativen SEO-Feld-Plugins.
- Image Service API — der
/m/-Transform-/WebP-Dienst. - Internationalisierung und Visual Editor – Konzepte.
Zitate aus der Quelle
Aussagen auf dem Record von Google und von Storyblok. Jeder Link ist ein Deep Link, der zur zitierten Passage auf der Quellseite springt.
Google — wie JavaScript-Seiten verarbeitet werden
- “Once Google’s resources allow, a headless Chromium renders the page and executes the JavaScript. The page may stay on this queue for a few seconds, but it can take longer than that.” (Übersetzung) „Sobald es Googles Ressourcen erlauben, rendert ein Headless-Chromium die Seite und führt das JavaScript aus. Die Seite kann einige Sekunden in dieser Warteschlange bleiben, aber es kann auch länger dauern.“ — Google Search Central-Dokumentation. Zum Zitat springen
- “Keep in mind that server-side or pre-rendering is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript.” (Übersetzung) „Denken Sie daran, dass serverseitiges Rendering oder Pre-Rendering weiterhin eine großartige Idee ist, weil es Ihre Website für Nutzer und Crawler schneller macht und nicht alle Bots JavaScript ausführen können.“ Zum Zitat springen
- “If the content isn’t visible in the rendered HTML, Google won’t be able to index it.” (Übersetzung) „Wenn der Inhalt im gerenderten HTML nicht sichtbar ist, kann Google ihn nicht indexieren.“ Zum Zitat springen
Google — warum noindex per JavaScript scheitert (die Vorschaufalle)
- “When Google encounters the
noindextag, it may skip rendering and JavaScript execution, which means using JavaScript to change or remove the robotsmetatag fromnoindexmay not work as expected.” (Übersetzung) „Wenn Google dasnoindex-Tag findet, kann es das Rendering und die JavaScript-Ausführung überspringen, was bedeutet, dass die Verwendung von JavaScript zum Ändern oder Entfernen desnoindex-meta-Tags möglicherweise nicht wie erwartet funktioniert.“ — Google Search Central-Dokumentation. Zum Zitat springen
Storyblok — wo die SEO-Verantwortung liegt
- “Since Google doesn’t load content directly from Storyblok, your team is responsible for a fast and performant website.” (Übersetzung) „Da Google Inhalte nicht direkt von Storyblok lädt, ist Ihr Team für eine schnelle und leistungsfähige Website verantwortlich.“ — Storyblok FAQ: Headless CMS und SEO. Zum Zitat springen
- “AI doesn’t see your CMS directly. Search engines and generative models read what’s rendered on your website or app, not the JSON coming from Storyblok’s APIs.” (Übersetzung) „Eine KI greift nicht unmittelbar auf Ihr CMS zu. Suchmaschinen und generative Modelle erfassen die gerenderte Ausgabe Ihrer Website oder App, nicht die JSON-Daten aus den Storyblok-APIs.“ — Olena Teselko, Storyblok (Structured Content, Okt. 2025). Zum Zitat springen
- “Laying the foundation for structured content will pay off either way—both search engines and LLMs rely on it.” (Übersetzung) „Das Fundament für strukturierte Inhalte zu legen, zahlt sich in jedem Fall aus – sowohl Suchmaschinen als auch LLMs verlassen sich darauf.“ — Ronny Shani, Storyblok (SEO mit Storyblok und Astro, Aug. 2025). Zum Zitat springen
- “headless CMSs and SPAs aren’t inherently SEO-unfriendly; rather, developers gain full markup control but must implement SEO foundations manually.” (Übersetzung) „Headless-CMS und SPAs sind nicht grundsätzlich SEO-unfreundlich; vielmehr erhalten Entwickler die volle Kontrolle über das Markup, müssen aber SEO-Grundlagen manuell implementieren.“ — Markus Oberlehner, Storyblok (SEO in Zeiten von Headless-CMS und SPAs, 2019). Zum Zitat springen
Storyblok-SEO-Checkliste
Überspringen Sie, was die Plattform nicht für Sie erledigt, und tun Sie die Dinge, die sie dem Frontend überlässt.
Rendering
- Öffentliche Inhaltsseiten rendern ihre Inhalte beim ersten Request als HTML (SSG oder SSR), nicht erst nachdem clientseitiges JavaScript ausgeführt wurde.
- Keine Inhaltsseite wird als CSR-only-SPA ausgeliefert (rohes HTML maximiert die Abdeckung durch KI-Crawler).
- Der Publish-Webhook von Storyblok löst einen SSG-Rebuild / eine ISR-Revalidierung aus, sodass Inhalte und Sitemap aktuell bleiben.
Metadaten & Kanonische URLs
- SEO-Felder existieren auf jedem Inhaltstyp (SEO-Fields-App ist pro Inhaltstyp, oder verwenden Sie manuelle Felder).
- Eine globale Head-Komponente liest die SEO-Feldwerte und rendert Titel, Beschreibung, OG- und Twitter-Tags serverseitig, mit Fallback-Ketten.
- Kanonische Tags sind absolute URLs, berechnet aus
full_slug+ Domain, und werden auf jeder Vorlage serverseitig gerendert.
Vorschau-/Staging-Schutz
- Die Produktion verwendet die veröffentlichte Inhaltsversion + öffentlichen Zugriffstoken; die Vorschau verwendet Entwurf + Vorschau-Token (idealerweise getrennte Spaces).
- Vorschau/Staging gibt einen serverseitig gerenderten
X-Robots-Tag: noindex-Header zurück – kein per JavaScript injiziertes Meta-Tag. - Die robots.txt von Vorschau/Staging enthält
Disallow: /. - Search Console wurde auf unerwartete Vorschau-Domains im Index überprüft.
Crawl-Infrastruktur
- Sitemap wird aus der Content Delivery API generiert und an GSC + Bing Webmaster Tools übermittelt.
- Die Produktions-robots.txt erlaubt das Crawlen öffentlicher Seiten.
- JSON-LD (Article/BreadcrumbList/Organization usw.) wird serverseitig gerendert und besteht den Rich Results Test.
Bilder & i18n
- Bild-URLs verwenden das
/m/-Präfix für WebP + Transformationen. - Bilder tragen
width/height(CLS), Hero verwendetfetchpriority="high", unterhalb des Falzes wirdloading="lazy"verwendet, und jedes Bild hat ein explizitesalt-Feld. - Hreflang wird aus dem
alternates-Array aufgebaut, einschließlichx-default. - Ein
redirects_config-Inhaltstyp mappt geänderte Slugs auf 301er (Storyblok wird das nicht tun).
Die mentalen Modelle
1. Storyblok speichert; das Frontend rendert. Das CMS ist nahezu SEO-neutral. Bevor Sie ein Storyblok-SEO-Problem debuggen, beantworten Sie zuerst eine Frage: Wie rendert das Frontend diesen Inhalt? Fast alles lässt sich darauf zurückführen.
2. Die Entscheidungsregel für den Rendering-Modus.
- Überwiegend statischer Inhalt (Blog, Doku, Marketing) → SSG (Rebuild über Publish-Webhook).
- Immer aktuelle / volatile Inhalte (Preise, Inventar) → SSR.
- Große Website, gemischte Inhalte, statische Geschwindigkeit gewünscht → ISR (Achtung vor der Stale-First-Request-Falle).
- Eingeloggte, nicht für die Indexierung gedachte Oberflächen → CSR ist akzeptabel.
- Öffentliche Inhalte, die Sie ranken oder von KI zitieren lassen möchten → niemals CSR.
3. Apps erfassen Felder; das Frontend rendert Tags.
Die SEO-Fields-App und die AI-SEO-App füllen nur Werte. Kein Tag erreicht das <head>, es sei denn, Ihr Framework liest das Feld und gibt es serverseitig aus. „Wir haben die SEO-App installiert, aber Tags werden nicht angezeigt“ ist fast immer ein fehlender Render-Schritt.
4. noindex muss serverseitig gerendert werden.
Für Vorschau/Staging ist das einzige zuverlässige noindex ein HTTP-Response-Header oder ein SSR-gerendertes Meta-Tag. Ein per JS injiziertes noindex wird möglicherweise nie ausgeführt, da Google die JS-Ausführung überspringen kann, wenn es bereits noindex sieht. Server-Header > JS, immer.
5. Eine einzige Quelle der Wahrheit für URLs.
Kanonische URLs, Sitemap-Einträge, Hreflang und interne Links sollten alle aus dem full_slug der Story plus einer einzigen SITE_URL abgeleitet werden – absolut auf der Rendering-Ebene aufgebaut, niemals manuell zusammengesetzt oder relativ.
Storyblok-SEO – Spickzettel
Rendering-Modi auf einen Blick
| Modus | Wo HTML erstellt wird | SEO | Am besten geeignet für | Achtung |
|---|---|---|---|---|
| SSG | Build-Zeit → statische Dateien | ✅ Am besten | Überwiegend statischer Inhalt | Veraltet bis zum Rebuild – Webhook für Veröffentlichung einrichten |
| SSR | Server, pro Anfrage | ✅ Am besten | Immer aktueller Inhalt | Höhere Infrastrukturkosten; etwas höhere TTFB |
| ISR | Statisch + Hintergrund-Regenerierung | ✅ Gut | Große gemischte Websites | Erste Anfrage nach Revalidierung erhält veraltete Seite |
| CSR | Im Browser | ⚠️ Riskant | Dashboards für angemeldete Benutzer | Leeres HTML für KI-Crawler; Render-Wellen-Verzögerung |
Integrierte SEO-Feldoptionen
| Option | Feld-ID | Plan | Hinweise |
|---|---|---|---|
| SEO Fields App | seo-metatags | Growth | Titel/Beschreibung/OG + SERP-Vorschau; pro Inhaltstyp hinzufügen |
| AI SEO App | sb_ai_seo | Premium | LLM-generierte Meta, 22 Sprachen; Bulk über Management API |
| Manuelle Felder | (eigene) | Beliebig | Am flexibelsten; seo_title, noindex, canonical_url, usw. |
Was Storyblok übernimmt vs. was im Frontend passiert
| Von Storyblok übernommen | Dem Frontend überlassen |
|---|---|
| Speichert Inhalte + stellt API bereit | Rendering-Modus (SSG/SSR/ISR/CSR) |
| SEO-Feldwerte (über Apps) | Rendering von Meta-Tags in <head> |
Bildtransformationen über /m/ | Anwenden von /m/, width/height, alt, Lazy-Load |
alternates-Daten | hreflang + x-default-Tags |
| — | Kanonische URLs, Sitemap, robots.txt, JSON-LD, Weiterleitungen |
Schnelle Regeln
- noindex für Vorschau/Staging über Server-Header (
X-Robots-Tag) – niemals per JS. - Produktion = veröffentlichte Inhalte + öffentlicher Token; Vorschau = Entwurf + Vorschau-Token.
- Bild-WebP/Transformationen greifen nur mit dem
/m/-URL-Präfix. - Slug-Änderungen erzeugen keine 301er – erstellen Sie einen
redirects_config-Inhaltstyp. - Sitemap = veröffentlichte Stories über die CDN-API abrufen; Aktualisierung über Publish-Webhook.
- KI-Crawler-Rendering variiert je nach Anbieter → rohes HTML ist die sicherste Abdeckungsbasis.
Wie sollte eine Storyblok-Route rendern?
Choose the frontend rendering path
Storyblok-SEO-Fehler
- Annehmen, dass SEO-Felder sich selbst rendern. Storyblok speichert Werte; das Frontend muss Titel, Kanonische URLs, Robots-Anweisungen und strukturierte Daten ausgeben.
- Indexierbare Routen als reine CSR-Seiten ausliefern. Rendern Sie primäre Inhalte und Links mit SSG oder SSR in das initiale HTML.
- Vorschau-URLs indexieren lassen. Schützen Sie den Vorschauzugriff und geben Sie serverseitig
noindexzurück; warten Sie nicht darauf, dass clientseitiges JavaScript es hinzufügt. - Inhalte veröffentlichen, ohne das Frontend zu invalidieren. Verbinden Sie Veröffentlichungsereignisse mit Rebuild- oder Cache-Revalidierungs-Workflows.
- Sitemaps aus jeder Story erstellen. Nur kanonische, öffentliche, indexierbare Routen einbeziehen – keine Entwürfe, Komponenten oder Vorschau-Pfade.
Veröffentlichte Storyblok-Änderungen fehlen auf der Website
Wahrscheinliche Ursache: ein fehlgeschlagener Webhook, veralteter statischer Build oder zwischengespeicherte API-/Seitenantwort. Behebung: Verfolgen Sie das Veröffentlichungsereignis durch Build- oder Revalidierungsprotokolle und leeren Sie nur den betroffenen Cache. Bestätigung: Das Live-Roh-HTML enthält die neuen Inhalte und Metadaten.
Metadaten existieren in Storyblok, aber nicht im Seitenquelltext
Wahrscheinliche Ursache: Das Frontend mappt das Feld nie oder aktualisiert es erst nach der Hydration. Behebung: Rendern Sie die SEO-Komponente im Server-/Build-Pfad. Bestätigung: curl gibt den beabsichtigten Titel, die kanonische URL und die Robots-Anweisung zurück.
Vorschauseiten erscheinen in der Suche
Wahrscheinliche Ursache: Der Vorschau-Host ist öffentlich und hat keine serverseitig gerenderte Ausschlussregel. Behebung: Authentifizierung verlangen und X-Robots-Tag: noindex oder entsprechendes HTML in der initialen Antwort senden. Bestätigung: Die Live-Vorschauantwort enthält die Anweisung, bevor JavaScript ausgeführt wird.
Storyblok-Bilder sind langsam oder zu groß
Wahrscheinliche Ursache: Original-Assets werden ohne /m/-Transformationen oder Abmessungen angefordert. Behebung: Korrekt dimensionierte Varianten erzeugen und Layout-Platz reservieren. Bestätigung: Produktionsanfragen verwenden das transformierte Asset und die gerenderten Abmessungen entsprechen den Anzeigeanforderungen.
Storyblok-Ausgabe im Roh-HTML überprüfen
url='https://example.com/page/'
curl -fsSL "$url" | grep -Eio '<title>[^<]+|<link[^>]+rel="canonical"[^>]*|<meta[^>]+name="robots"[^>]*'Führen Sie dies in der DevTools-Konsole aus, um den gerenderten Kopf zu inspizieren:
({title: document.title, canonical: document.querySelector('link[rel="canonical"]')?.href, robots: document.querySelector('meta[name="robots" i]')?.content});Unterschiede zwischen den beiden Ausgaben weisen auf clientseitige Head-Änderungen hin.
Tools für Storyblok-QA
- Render Gap vergleicht initiale und gerenderte Inhalte, Metadaten, Links und Robots-Signale.
- Google Index Checker prüft beobachtbaren Status, kanonische und noindex-Blocker auf öffentlichen Routen.
- HTTP Header Checker prüft Preview-
X-Robots-Tag, Caching und Redirect-Verhalten. - Sitemap Validator prüft, ob generierte Sitemap-URLs auflösen und keine Preview- oder nichtkanonischen Routen offenlegen.
Ein Storyblok-SEO-Release nachweisen
Publish-Pfad-Test
Durchzuführender Test: Veröffentlichen Sie eine kontrollierte Story-Änderung und verfolgen Sie Webhook, Build/Revalidierung und Live-Quell-HTML. Erwartetes Ergebnis: Die kanonische Produktionsroute wird innerhalb des normalen Veröffentlichungsfensters aktualisiert. Fehlerinterpretation: Die Auslieferungskette owelcher der Cache ist veraltet. Überwachungsfenster: Die Veröffentlichungs-SLA der Website. Rollback-Auslöser: Produktionsinhalte und Metadaten stammen aus verschiedenen Versionen.
Preview-Ausschluss-Test
Durchzuführender Test: Fordern Sie Preview-URLs mit curl -I an und prüfen Sie das rohe HTML. Erwartetes Ergebnis: Zugriffskontrolle und ein server-sichtbares noindex verhindern die Indexierung. Fehlerinterpretation: Der Ausschluss hängt von JavaScript ab oder fehlt. Überwachungsfenster: Sofort. Rollback-Auslöser: Eine öffentliche Preview-Antwort ist indexierbar.
Rendering-Test
Durchzuführender Test: Vergleichen Sie rohe und gerenderte Ausgaben für repräsentative Vorlagen. Erwartetes Ergebnis: Primärinhalte, Links, Titel, kanonische und Robots-Regeln stimmen überein. Fehlerinterpretation: Das Frontend verlässt sich für wesentliche SEO-Ausgaben auf Client-Rendering. Überwachungsfenster: Jedes Frontend-Release. Rollback-Auslöser: Eine Schlüsselvorlage verliert Inhalte oder Head-Signale im rohen HTML.
Ressourcen, die Ihre Zeit wert sind
Meine Texte
- Technisches SEO: Leitfaden für Einsteiger — die Grundlage, auf der alles hier aufbaut.
- JavaScript SEO Issues & Best Practices — meine primäre Referenz zu Rendering-Modi, JS-Kanonischen und Metadaten; direkt relevant für jedes Headless-/Storyblok-Setup.
Meine Vorträge
- JavaScript SEO — Ungagged 2019 (SlideShare) — wie Headless-/entkoppelte CMS das Frontend vom Backend trennen, plus Googlebots zustandsloses Rendering. (Ständiger Hinweis: Die Dynamic-Rendering-Empfehlung in diesem Deck ist inzwischen veraltet — Google hat sie eingestellt; verwenden Sie SSR/SSG.)
Auf dieser Website
- SEO for a Headless CMS — das allgemeine Headless-Playbook, das dieser Artikel spezialisiert; Rendering-Modi, die ISR-Falle, kanonische Fragmentierung, Migrationen.
- JavaScript SEO — die Rendering-Seite im Detail.
- Canonicalization — der Konsolidierungsmechanismus hinter Frontend-Kanonischen.
Aus der Branche
- Storyblok – Headless CMS und SEO FAQ – Storybloks eigene Darstellung, wo die SEO-Verantwortung liegt.
- Storyblok – SEO mit Storyblok und Astro (Ronny Shani, Aug. 2025) – das aktuelle, framework-spezifische offizielle Tutorial.
- Storyblok – Strukturierte Inhalte (Olena Teselko, Okt. 2025) – das Argument für KI-Suche/strukturierte Inhalte bei Storyblok.
- Storyblok – Weiterleitungen mit einem Headless CMS verwalten – das
redirects_config-Inhaltstyp-Muster. - Webstacks – Storyblok SEO Technical Optimization Guide – der stärkste unabhängige Leitfaden; Content-Modellierung, Rendering, Core Web Vitals, plus Migrationsfallzahlen (TomTom „2x SEO-Leistung“, Unified „84 % LCP-Verbesserung“).
- FocusReactive – Typische Next.js-SEO-Fallstricke (Alex Hramovich) – das Fehlermuster bei serverseitig gerenderten Metadaten: “if they’re not set server-side, it’s a disaster.” (Übersetzung) „Wenn sie nicht serverseitig gesetzt werden, ist das eine Katastrophe.“
- Straffesites – Lokalisierte Sitemap mit Astro + Storyblok – eine ausgearbeitete Sitemap-/i18n-Implementierung für den Astro- + Storyblok-Stack.
Testen Sie sich: Storyblok SEO
Fünf kurze Fragen zur SEO mit dem Storyblok-Headless-CMS. Wählen Sie für jede Frage eine Antwort und prüfen Sie dann.
Änderungsprotokoll
Aktualisiert am 22. Aug. 2026.
Redaktionelle Zusammenfassung und aufgezeichnete Änderungsdetails.Änderungsdetails
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
Vollständiger Vergleich nicht verfügbar — für diese Version wurde kein früherer Schnappschuss archiviert.
Aktualisiert am 22. Aug. 2026.
Redaktionelle Zusammenfassung und aufgezeichnete Änderungsdetails.Änderungsdetails
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
Vollständiger Vergleich nicht verfügbar — für diese Version wurde kein früherer Schnappschuss archiviert.
Aktualisiert am 22. Aug. 2026.
Redaktionelle Zusammenfassung und aufgezeichnete Änderungsdetails.Änderungsdetails
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
Vollständiger Vergleich nicht verfügbar — für diese Version wurde kein früherer Schnappschuss archiviert.
Aktualisiert am 18. Juli 2026.
Redaktionelle Zusammenfassung und aufgezeichnete Änderungsdetails.Änderungsdetails
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
Vollständiger Vergleich nicht verfügbar — für diese Version wurde kein früherer Schnappschuss archiviert.