Panduan Storyblok SEO
Storyblok adalah sebuah visual CMS headless — ini stores konten tetapi tidak pernah renders Anda halaman, so SEO lives di frontend. rendering, meta fields, preview noindex, sitemaps, images.
1 sinyal bukti di halaman ini
- Alat aktif terkaitRaw vs. Rendered HTML Checker
Storyblok adalah sebuah visual CMS headless: ini stores block-based konten dan menyajikan ini di atas REST/GraphQL, tetapi ini tidak pernah renders Anda halaman — Anda frontend kerangka kerja melakukan, so SEO outcomes adalah hampir entirely sebuah frontend decision. SSG dan SSR adalah safe; CSR risks empty HTML dan delayed pengindeksan. dibangun-di SEO Fields App dan AI SEO App hanya tambahkan fields; frontend harus masih render meta tags, canonicals, sitemaps, robots.txt, dan JSON-LD itself. platform-spesifik trap adalah preview mode — block draft/preview environments dengan server-dirender noindex headers, tidak pernah JavaScript. gunakan /m/ image service untuk WebP dan Core Web Vitals, dan lean pada Storyblok's structured konten untuk AI penelusuran.
Bukti untuk klaim ini The article's described storyblok-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Cakupan: Platform-specific capability documentation. Tingkat keyakinan: tinggi · Diverifikasi: Storyblok documentation Bukti untuk klaim ini Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Cakupan: Google requirements independent of platform. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: SEO Starter GuideTL;DR — Storyblok adalah sebuah “headless” (terjemahan) “headless” CMS — ini adalah place Anda tulis konten, tidak hal itu menampilkan ini. sebuah terpisah situs web (dibangun dengan Berikutnya.js, Nuxt, atau Astro) pulls Anda konten dan membangun sebenarnya halaman. itu berarti hampir semua dari Anda SEO bergantung pada bagaimana itu situs web adalah dibangun, tidak pada Storyblok. big aturan: bangun Anda halaman pada sebuah server atau di bangun time, tidak entirely di pengunjung’s browser. dan meta tags, sitemap, dan robots.txt Anda’d expect sebuah CMS untuk tangani? Anda memiliki untuk set itu up yourself.
Apa Storyblok sebenarnya adalah
Storyblok adalah sebuah visual CMS headless. “Headless” (terjemahan) “Headless” berarti ini splits dua jobs itu sebuah tradisional CMS like WordPress mempertahankan together: di mana Anda tulis konten dan di mana ini mendapatkan ditampilkan. Storyblok menangani writing side — ini stores Anda konten sebagai reusable blocks dan memberikan editors sebuah drag-dan-drop visual editor — dan lalu hands itu konten untuk sebuah terpisah situs web melalui sebuah API.
situs web bagian adalah dibangun dengan sebuah kerangka kerja like Berikutnya.js, Nuxt, Astro, atau SvelteKit. itu situs web fetches Anda Storyblok konten dan turns ini ke HTML itu Google dan Bing baca. So ketika orang tanyakan me “adalah Storyblok good untuk SEO?” (terjemahan) “adalah Storyblok baik untuk SEO?”, honest jawaban adalah: Storyblok itself barely memengaruhi Anda SEO — situs web Anda developers bangun pada top dari ini melakukan.
satu aturan itu penting sebagian besar
Ketika Googlebot menanyakan untuk sebuah halaman, finished HTML memiliki untuk menjadi ready. ada dua safe cara untuk melakukan itu dan satu risky cara:
- bangun halaman ahead dari time (SSG) — Storyblok konten adalah baked ke plain HTML files ketika situs deploys. Fast dan penelusuran-friendly.
- bangun halaman pada sebuah server (SSR) — server assembles penuh halaman untuk setiap permintaan. juga penelusuran-friendly dan selalu fresh.
- bangun halaman di browser (CSR) — server mengirim sebuah near-empty halaman dan JavaScript fills ini di afterward. ini adalah risky satu.
Google dapat jalankan JavaScript dan eventually baca sebuah browser-dibangun halaman, tetapi ini happens kemudian dan lebih sedikit reliably — dan sebagian besar AI crawler ( bot behind ChatGPT dan Perplexity) jangan jalankan JavaScript di semua. mereka hanya see empty halaman. So bangun Anda HTML pada server atau di bangun time.
stuff Storyblok tidak akan melakukan untuk Anda
di WordPress, sebuah plugin like Yoast diam-diam handled Anda tag judul, meta deskripsi, sitemap, dan tag canonical. Storyblok memiliki Tidak plugin layer melakukan itu. Storyblok melakukan offer sebuah SEO Fields App itu menambahkan judul/deskripsi boxes untuk editors untuk fill di — tetapi bahkan lalu, Anda developer memiliki untuk membuat situs web sebenarnya output itu nilai ke halaman. Tidak ada apa pun adalah automatic. Anda’ll perlu seseorang untuk:
- tambahkan SEO fields (judul, deskripsi, dan seterusnya.) untuk Anda konten.
- Wire itu fields ke halaman’s
<head>. - bangun sitemap dan sebuah robots.txt di frontend.
- tambahkan data terstruktur (schema) di frontend.
hal itu diam-diam breaks: preview halaman
Storyblok’s visual editor previews Anda halaman pada sebuah terpisah preview address. jika
itu preview situs adalah reachable oleh Google, ini dapat mendapatkan terindeks — dan now Anda’ve mendapat sebuah
duplicate, draft copy dari Anda situs di penelusuran. perbaiki adalah untuk block preview/staging
dari pengindeksan menggunakan sebuah server-tingkat noindex, tidak sebuah JavaScript satu (lebih pada mengapa
itu pembedaan penting di Advanced tab).
ingin penuh versi — four rendering modes, SEO Fields App vs. AI SEO
App, preview noindex trap, sitemaps, /m/ image trick, dan AI penelusuran?
Switch untuk Advanced tab.
Bukti untuk klaim ini The article's described storyblok-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Cakupan: Platform-specific capability documentation. Tingkat keyakinan: tinggi · Diverifikasi: Storyblok documentation Bukti untuk klaim ini Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Cakupan: Google requirements independent of platform. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: SEO Starter GuideTL;DR — Storyblok adalah sebuah visual, API-pertama CMS headless: ini stores block-based konten dan menyajikan ini di atas REST/GraphQL, tetapi ini tidak pernah renders Anda halaman — frontend kerangka kerja melakukan, so SEO adalah sebuah frontend decision. SSG dan SSR ship fully-dirender HTML dan adalah safe; CSR risks empty HTML dan queued-render delays. dibangun-di SEO Fields App (
seo-metatags) dan AI SEO App (sb_ai_seo) hanya supply field nilai — frontend harus masih render meta tags, canonicals, sitemaps, robots.txt, dan JSON-LD itself. platform-spesifik trap adalah preview mode: block draft/preview environments dengan server-direnderX-Robots-Tag: noindex, tidak pernah JavaScript, karena Google dapat skip JS execution ketika ini sees sebuahnoindex. gunakan/m/image service untuk WebP + Core Web Vitals, generate sitemap dari konten Pengiriman API, dan lean pada structured konten model untuk AI penelusuran.
fundamental split: Storyblok stores, frontend renders
Storyblok adalah sebuah backend. ini memberikan Anda sebuah konten model dibangun dari reusable blocks, sebuah visual editor, dan sebuah konten Pengiriman API (REST dan GraphQL). Apa ini melakukan tidak melakukan adalah produce HTML itu mesin pencari crawl. itu job belongs untuk sebuah terpisah frontend — Berikutnya.js, Nuxt, Astro, SvelteKit — itu fetches Storyblok konten dan renders halaman.
«Storyblok says this plainly: “Since Google doesn’t load content directly from Storyblok, your team is responsible for a fast and performant website.” The same point shows up in their structured-content guidance — “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.” Internalize that and almost every Storyblok SEO question answers itself: the CMS is nearly SEO-neutral, and the frontend’s rendering decisions determine everything. This is the same architecture reality I cover in SEO for a Headless CMS; Storyblok is a specific, visual-editing flavor of it. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh empat, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
rendering strategy: paling penting SEO decision
Bagaimana Anda frontend renders Storyblok konten adalah single biggest SEO lever. Four modes, semua dari yang fetch konten dari yang sama Storyblok CDN/GraphQL API:
SSG — Static situs Generation. HTML adalah dibangun di deploy time dan disajikan sebagai static files. Best-case SEO: menyelesaikan HTML pada pertama permintaan, very fast. catch adalah freshness — baru atau edited konten perlu sebuah rebuild, so wire Storyblok’s publish webhook untuk trigger satu. Best untuk mostly-static konten. Astro dan Gatsby adalah SSG-pertama; Berikutnya.js dan Nuxt mendukung ini per route.
SSR — rendering sisi server. HTML adalah dirender per permintaan pada sebuah server atau edge function. selalu-fresh, fully-dirender HTML. Best untuk frequently mengubah konten; tradeoff adalah infrastructure cost dan slightly lebih tinggi TTFB.
ISR — Incremental Static Regeneration. Static oleh default, regenerated pada sebuah schedule atau pada-demand. recommended middle ground untuk besar Storyblok situs dengan mixed konten jenis — tetapi note stale-pada-pertama-permintaan-setelah-revalidation trap I detail di CMS headless tulis-up.
CSR — rendering sisi klien (SPA). server mengirim sebuah near-empty shell dan browser membangun DOM. Googlebot harus queue halaman untuk sebuah kemudian render wave (yang “mungkin stay pada ini queue untuk beberapa seconds, tetapi it dapat take lebih lama daripada itu” (terjemahan) “dapat stay pada ini queue untuk sebuah sedikit seconds, tetapi ini dapat take lebih lama daripada itu”). AI-crawler rendering varies oleh provider, so HTML-hanya fetchers see hanya shell. tidak pernah ship konten halaman sebagai CSR-hanya. Google’s own line: “Jika itu konten tidak visible di itu dirender HTML, Google tidak akan menjadi able untuk index it.” (terjemahan) “jika konten tidak terlihat di dirender HTML, Google tidak akan menjadi able untuk indeks ini.”
decision aturan: mostly-static konten → SSG; selalu-fresh/volatile konten → SSR; besar mixed situs → ISR; CSR hanya untuk logged-di, non-terindeks surfaces.
dibangun-di Storyblok SEO fitur (dan mereka limits)
Storyblok ships three cara untuk manage SEO field nilai. semua three hanya capture nilai — frontend masih memiliki untuk render them.
SEO Fields App (seo-metatags). sebuah native plugin field itu memberikan editors
judul, deskripsi, OG judul, OG deskripsi, dan OG Image inputs, plus sebuah Google
SERP snippet preview di editor. memerlukan sebuah Growth plan, dan ini memiliki untuk menjadi ditambahkan
per konten jenis — easy untuk forget pada sebuah baru konten jenis.
AI SEO App (sb_ai_seo). Generates meta judul, deskripsi, keywords, dan
author dengan sebuah LLM, di seluruh 22 didukung languages. memerlukan Premium. Anda dapat bulk-generate
di seluruh semua stories dengan sebuah Management API + Node.js script.
Manual field modeling. Tidak plan requirement: tambahkan Anda own seo_title,
seo_description, og_title, og_image, noindex (boolean), dan canonical_url
fields untuk Anda konten model. sebagian besar flexible, dan apa I’d reach untuk pada kompleks
situs.
non-negotiable: Tidak Storyblok app auto-renders sebuah single tag. sebuah global head/
layout component di Anda kerangka kerja harus baca SEO field nilai dari API
respons dan output them server-side, dengan sensible fallback chains
(seo_title || story.name).
tag canonical
Storyblok memiliki Tidak awareness dari Anda frontend struktur URL, so canonicals dapat’t come
dari CMS. Compute them di frontend — typically dari story’s full_slug
plus Anda domain — dan render them server-side. selalu absolute URLs, tidak pernah
relative, pada setiap halaman template. (untuk mechanics, see
canonicalization.)
Preview mode dan draft konten: defining Storyblok risk
ini adalah platform-spesifik pitfall untuk mendapatkan right. Visual Editor memuat Anda
halaman di dalam sebuah iframe menggunakan preview URLs itu carry _storyblok dan _storyblok_tk
parameters, dan preview environment menggunakan draft konten dengan sebuah preview
access token. Production harus gunakan published konten dengan publik access
token. bersih pattern adalah dua terpisah Storyblok spaces/projects (preview dan
production) so wrong token dapat’t leak draft konten ke langsung indeks.
«The critical part is how you keep preview/staging out of the index. Google warns:
“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.” In other words, a noindex injected by
client-side JS is unreliable — Google may never run the JS. So protect non-production
environments with a server-rendered response header — X-Robots-Tag: noindex at
the CDN/hosting level — and add Disallow: / in that environment’s robots.txt.
Watch Search Console for unexpected preview domains showing up; that’s your early
warning.
» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh dua, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Sitemaps dan robots.txt
Storyblok generates neither. Keduanya adalah frontend-dibangun:
- Sitemap: fetch semua published stories dari konten Pengiriman API dan emit
XML. Astro:
@astrojs/sitemapplus dynamic routes dari tautan API. Berikutnya.js:app/sitemap.tsataunext-sitemappost-bangun. Cakupan denganstarts_with, paginate untuk besar situs, dan trigger sebuah rebuild dari Storyblok publish webhook so sitemap tetap di sync. - robots.txt: juga frontend-generated. Production seharusnya izinkan crawling dari
publik halaman; preview/staging seharusnya
Disallow: /(dan carryX-Robots-Tagheader di atas).
data terstruktur / JSON-LD
Storyblok stores konten sebagai structured JSON, tetapi schema.org JSON-LD memiliki untuk menjadi
generated di frontend — Googlebot membaca dirender HTML, tidak API
respons. bangun JsonLd component itu maps konten fields dan story properties
(story.published_at, story.updated_at, story.name) ke sebuah server-dirender
<script type="application/ld+json">. artikel, BreadcrumbList, Organization,
Product, dan FAQPage adalah semua implementable ini cara.
Images dan Core Web Vitals
Storyblok assets adalah disajikan melalui Amazon CloudFront. image service adalah sebuah nyata CWV win, tetapi hanya ketika digunakan correctly:
- WebP + transforms activate ketika Anda append
/m/untuk image URL — e.g.https://a.storyblok.com/f/xxxxx/image.jpg/m/800x600. Resize, crop, quality, dan smart-crop adalah semua parameter URL; hasil adalah edge-cached setelah pertama permintaan. Forget/m/dan Anda mendapatkan unoptimized original. - Set
widthdanheightpada setiap image untuk mencegah layout shift (CLS). fetchpriority="high"+loading="eager"pada LCP hero image;loading="lazy"di bawah fold.- tambahkan
alttext sebagai sebuah jelas field pada setiap image component —filenamefield adalah tidak teks alt. (See teks alt.)
Redirects, i18n, dan hreflang
Redirects. Storyblok memiliki Tidak redirect manager, dan mengubah sebuah slug melakukan tidak
buat 301. Pattern: sebuah redirects_config story dengan nestable redirect_entry
blocks (source_url, target_story), fetched di bangun/permintaan time dan injected
ke kerangka kerja routing; gunakan resolve_relations so targets perbarui jika slugs perubahan,
dan refresh melalui publish webhook.
Internationalization. Storyblok mendukung field-, folder-, dan space-tingkat
translation, dan API respons sertakan sebuah alternates array dari semua translated
versi. gunakan ini untuk render <link rel="alternate" hreflang="..."> tags
server-side, dan selalu sertakan x-default. (See
hreflang.)
GEO / AI penelusuran readiness
Storyblok’s structured, component-based model adalah genuinely well-suited untuk AI
consumption — “Storyblok adalah built sekitar structured data dari day satu, thanks untuk
its headless, API-pertama design.” (terjemahan) “Storyblok adalah dibangun sekitar data terstruktur dari day satu, thanks untuk
-nya headless, API-pertama design.” tetapi rendering aturan masih aturan: LLMs baca
dirender HTML, so SSR/SSG, correct JSON-LD, dan bersih semantic markup adalah price
dari entry. Anda dapat juga generate llms.txt (sebuah markdown indeks dari key halaman) dan
llms-full.txt (sebuah penuh konten archive) di frontend. (See
AI penelusuran dan llms.txt.)
intinya
Storyblok adalah neither baik nor buruk untuk SEO — ini adalah neutral, dan ini shifts entire
SEO burden onto frontend. Mendapatkan rendering right (SSR/SSG), render meta fields
SEO apps capture, lindungi preview dengan server-side noindex, bangun sitemap
dan robots.txt yourself, dan gunakan /m/ image service. melakukan itu dan sebuah Storyblok
situs dapat outperform sebuah neglected tradisional CMS. Skip ini dan missing-oleh-default
SEO layer adalah persis di mana situs diam-diam falls apart. Related reading lives di
CMS headless SEO dan
JavaScript SEO.
AI summary
sebuah condensed take pada Advanced versi:
- Storyblok stores, frontend renders. Storyblok adalah sebuah visual, API-pertama CMS headless; ini menyajikan konten di atas REST/GraphQL tetapi tidak pernah renders halaman. frontend (Berikutnya.js, Nuxt, Astro, SvelteKit) decides Anda SEO. “Google tidak load konten secara langsung dari Storyblok.” (terjemahan) “Google tidak muat konten secara langsung dari Storyblok.”
- rendering adalah #1 decision. SSG dan SSR ship fully-dirender HTML dan adalah safe; ISR adalah sebuah baik middle ground (dengan sebuah stale-pertama-permintaan trap); CSR adalah risky — empty HTML, queued render wave, invisible untuk AI crawler.
- dibangun-di SEO fitur hanya capture fields: SEO Fields App (
seo-metatags, Growth plan, per konten jenis), AI SEO App (sb_ai_seo, Premium, 22 languages), atau manual field modeling. ** frontend harus masih render setiap tag server-side.** - Preview mode adalah defining risk. Preview URLs gunakan
_storybloktokens dan draft konten. Lindungi non-production dengan sebuah server-direnderX-Robots-Tag: noindex+Disallow: /— tidak pernah JS, karena Google dapat skip JS execution pada sebuah halaman dengannoindex. - Canonicals, sitemap, robots.txt, JSON-LD adalah semua frontend-dibangun. Compute
absolute canonicals dari
full_slug; generate sitemap dari konten Pengiriman API dan refresh melalui publish webhook. - Images: append
/m/untuk WebP + transforms (CloudFront-cached); setwidth/height(CLS),fetchpriority="high"pada hero (LCP), jelasaltfields. - Redirects/i18n: Tidak dibangun-di redirect manager — slug perubahan jangan 301; bangun
redirects_configkonten jenis. gunakanalternatesarray untuk hreflang +x-default. - AI penelusuran: structured konten adalah sebuah strength, tetapi LLMs baca dirender HTML — so
SSR/SSG + JSON-LD masih apply; secara opsional ship
llms.txt.
Dokumentasi resmi
Utama-sumber documentation dari mesin pencari ( headless/rendering aturan itu govern Storyblok SEO) dan dari Storyblok.
- memahami JavaScript SEO Basics — crawl → render → indeks pipeline, render-queue delay,
noindex-melalui-JS warning, dan mengapa SSR/pre-rendering adalah preferred. - rendering untuk konten-Driven Web Apps — SSR vs. SSG vs. CSR tradeoffs, secara langsung applicable untuk choosing sebuah Storyblok frontend mode.
- Dynamic rendering (deprecated workaround) — mengapa Google Tidak lebih lama recommends dynamic rendering; gunakan SSR, static rendering, atau hydration alih-alih.
- Robots meta tag, data-nosnippet, dan X-Robots-Tag — cara set
noindexmelaluiX-Robots-Tagheader HTTP ( server-side metode untuk protecting preview/staging). - Block penelusuran pengindeksan dengan noindex — meta-tag vs. header metode untuk mempertahankan halaman out dari indeks.
Bing / Microsoft
- baru evergreen Bingbot (Microsoft Edge) — Bingbot renders JavaScript melalui Edge (Chromium), tetapi lebih sedikit consistently daripada Google — lainnya alasan untuk prefer SSR/SSG.
- IndexNow / indexnow.org — push protocol untuk wire untuk Anda Storyblok publish webhook so changed URLs adalah signaled instantly.
Storyblok
- FAQ: CMS headless dan SEO — Storyblok’s own framing dari di mana SEO responsibility sits.
- SEO Fields App docs dan AI SEO App docs — native SEO field plugins.
- Image Service API —
/m/transform/WebP service. - Internationalization dan Visual Editor concepts.
Quotes dari sumber
pada—record statements dari Google dan dari Storyblok. setiap tautan adalah sebuah deep tautan itu jumps untuk quoted passage pada sumber halaman.
Google — bagaimana JavaScript halaman adalah processed
«- “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.” — Google Search Central docs. Jump to quote » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh lima, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- “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.” Jump to quote » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh lima, bagian kecil dua: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- “If the content isn’t visible in the rendered HTML, Google won’t be able to index it.” Jump to quote » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh lima, bagian kecil tiga: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Google — mengapa noindex-melalui-JS fails ( preview trap)
«- “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.”
— Google Search Central docs.
Jump to quote
» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh tujuh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Storyblok — di mana SEO responsibility sits
«- “Since Google doesn’t load content directly from Storyblok, your team is responsible for a fast and performant website.” — Storyblok FAQ: Headless CMS and SEO. Jump to quote
- “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.” — Olena Teselko, Storyblok (Structured Content, Oct 2025). Jump to quote
- “Laying the foundation for structured content will pay off either way—both search engines and LLMs rely on it.” — Ronny Shani, Storyblok (SEO with Storyblok and Astro, Aug 2025). Jump to quote
- “headless CMSs and SPAs aren’t inherently SEO-unfriendly; rather, developers gain full markup control but must implement SEO foundations manually.” — Markus Oberlehner, Storyblok (SEO in Times of Headless CMSs and SPAs, 2019). Jump to quote » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh sembilan, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Storyblok SEO checklist
Skip apa platform tidak melakukan untuk Anda dan melakukan hal ini leaves untuk frontend.
rendering
- Publik konten halaman render mereka konten di HTML pada pertama permintaan (SSG atau SSR), tidak hanya setelah client-side JavaScript berjalan.
- tanpa konten halaman ships sebagai sebuah CSR-hanya SPA (mentah HTML maximizes AI-crawler coverage).
- Storyblok publish webhook triggers sebuah SSG rebuild / ISR revalidation so konten dan sitemap stay saat ini.
Metadata & canonicals
- SEO fields exist pada setiap konten jenis (SEO Fields App adalah per konten jenis, atau gunakan manual fields).
- sebuah global head component membaca SEO field nilai dan renders judul, deskripsi, OG, dan Twitter tags server-side, dengan fallback chains.
- tag canonical adalah absolute URLs computed dari
full_slug+ domain dan dirender server-side pada setiap template.
Preview / staging protection
- Production menggunakan published konten versi + publik access token; preview menggunakan draft + preview token (ideally terpisah spaces).
- Preview/staging mengembalikan sebuah server-dirender
X-Robots-Tag: noindexheader — tidak sebuah JavaScript-injected meta tag. - Preview/staging robots.txt memiliki
Disallow: /. - Search Console diperiksa untuk unexpected preview domains di indeks.
crawl infrastructure
- Sitemap generated dari konten Pengiriman API dan submitted untuk GSC + Bing Webmaster alat.
- Production robots.txt memungkinkan crawling dari publik halaman.
- JSON-LD (artikel/BreadcrumbList/Organization/dan seterusnya.) dirender server-side dan passing Rich hasil Test.
Images & i18n
- Image URLs gunakan
/m/prefix untuk WebP + transforms. - Images carry
width/height(CLS), hero menggunakanfetchpriority="high", di bawah-fold menggunakanloading="lazy", dan setiap image memiliki sebuah jelasaltfield. - hreflang dibangun dari
alternatesarray, includingx-default. - sebuah
redirects_configkonten jenis maps changed slugs untuk 301s (Storyblok tidak akan).
mental models
1. Storyblok stores; frontend renders. CMS adalah nearly SEO-neutral. sebelum debugging apa pun Storyblok SEO issue, jawaban satu pertanyaan pertama: bagaimana adalah frontend rendering ini konten? Hampir semuanya resolves untuk itu.
2. rendering-mode decision aturan.
- Mostly-static konten (blog, docs, marketing) → SSG (rebuild melalui publish webhook).
- selalu-fresh / volatile konten (prices, inventory) → SSR.
- besar situs, mixed konten, ingin static speed → ISR (mind stale-pertama-permintaan trap).
- Logged-di, tidak-dimaksudkan-untuk-menjadi-terindeks surfaces → CSR adalah acceptable.
- Publik konten Anda ingin diperingkatkan atau AI-cited → tidak pernah CSR.
3. Apps capture fields; frontend renders tags.
SEO Fields App dan AI SEO App hanya populate nilai. Tidak tag reaches <head>
unless Anda kerangka kerja membaca field dan outputs ini server-side. “We installed itu
SEO app tetapi tags tidak menunjukkan” (terjemahan) “kami installed
SEO app tetapi tags tidak menunjukkan” adalah hampir selalu sebuah missing render langkah.
4. noindex harus menjadi server-dirender.
untuk preview/staging, satu-satunya reliable noindex adalah sebuah respons header HTTP atau
SSR-dirender meta tag. sebuah JS-injected noindex dapat tidak pernah jalankan, karena Google dapat
skip JS execution ketika ini sudah sees noindex. server header > JS, selalu.
5. Satu sumber kebenaran untuk URLs.
Canonicals, sitemap entries, hreflang, dan tautan internal seharusnya semua derive dari
story’s full_slug plus sebuah single SITE_URL — dibangun absolute di rendering layer,
tidak pernah hand-assembled atau relative.
Storyblok SEO — cheat sheet
rendering modes di sebuah glance
| Mode | Di mana HTML adalah dibangun | SEO | Best untuk | Watch out untuk |
|---|---|---|---|---|
| SSG | bangun time → static files | ✅ Best | Mostly-static konten | Stale until rebuild — wire publish webhook |
| SSR | server, per permintaan | ✅ Best | selalu-fresh konten | Lebih tinggi infra cost; slightly lebih tinggi TTFB |
| ISR | Static + background regen | ✅ baik | besar mixed situs | pertama permintaan setelah revalidation mendapatkan stale halaman |
| CSR | di browser | ⚠️ Risky | Logged-di dashboards | Empty HTML untuk AI crawler; render-wave delay |
dibangun-di SEO field options
| Option | Field ID | Plan | Notes |
|---|---|---|---|
| SEO Fields App | seo-metatags | Growth | judul/desc/OG + SERP preview; tambahkan per konten jenis |
| AI SEO App | sb_ai_seo | Premium | LLM-generated meta, 22 languages; bulk melalui Management API |
| Manual fields | (Anda own) | apa pun | sebagian besar flexible; seo_title, noindex, canonical_url, dan seterusnya. |
Apa Storyblok melakukan vs. apa pada frontend
| Handled oleh Storyblok | Left untuk frontend |
|---|---|
| Stores konten + menyajikan API | rendering mode (SSG/SSR/ISR/CSR) |
| SEO field nilai (melalui apps) | rendering meta tags ke <head> |
Image transforms melalui /m/ | Applying /m/, width/height, alt, lazy-muat |
alternates data | hreflang + x-default tags |
| — | Canonicals, sitemap, robots.txt, JSON-LD, redirects |
Fast aturan
- noindex preview/staging melalui server header (
X-Robots-Tag) — tidak pernah JS. - Production = published konten + publik token; preview = draft + preview token.
- Image WebP/transforms hanya fire dengan
/m/URL prefix. - Slug perubahan jangan buat 301s — bangun
redirects_configkonten jenis. - Sitemap = fetch published stories dari CDN API; refresh melalui publish webhook.
- AI-crawler rendering varies oleh provider → mentah HTML adalah safest coverage baseline.
Bagaimana seharusnya sebuah Storyblok route render?
Choose frontend rendering path
Storyblok SEO mistakes
- Assuming SEO fields render themselves. Storyblok stores nilai; frontend harus output judul, canonicals, robots directives, dan data terstruktur.
- Shipping rankable routes sebagai CSR-hanya halaman. Render utama konten dan tautan ke awal HTML dengan SSG atau SSR.
- Letting preview URLs indeks. Lindungi preview access dan kembalikan server-tingkat
noindex; melakukan tidak tunggu untuk client JavaScript untuk tambahkan ini. - Penerbitan konten tanpa invalidating frontend. Connect publication events untuk rebuild atau cache-revalidation workflows.
- membangun sitemaps dari setiap story. sertakan hanya canonical, publik, dapat diindeks routes—tidak drafts, components, atau preview paths.
Published Storyblok perubahan adalah missing pada situs
mungkin penyebab: sebuah failed webhook, stale static bangun, atau cached API/halaman respons. Perbaiki: trace publish event melalui bangun atau revalidation logs dan purge hanya affected cache. Konfirmasi: langsung mentah HTML berisi baru konten dan metadata.
Metadata ada di Storyblok tetapi tidak di halaman sumber
mungkin penyebab: frontend tidak pernah maps field, atau memperbarui ini hanya setelah hydration. Perbaiki: render SEO component pada server/bangun path. Konfirmasi: curl mengembalikan yang dimaksud judul, canonical, dan robots directive.
Preview halaman muncul di penelusuran
mungkin penyebab: preview host adalah publik dan lacks server-dirender exclusion. Perbaiki: memerlukan authentication dan kirim X-Robots-Tag: noindex atau equivalent HTML di awal respons. Konfirmasi: langsung preview respons berisi directive sebelum JavaScript berjalan.
Storyblok images adalah slow atau oversized
mungkin penyebab: original assets adalah requested tanpa /m/ transformations atau dimensions. Perbaiki: generate correctly sized variants dan reserve layout space. Konfirmasi: production permintaan gunakan transformed asset dan dirender dimensions match display perlu.
Verify Storyblok output di mentah HTML
url='https://example.com/page/'
curl -fsSL "$url" | grep -Eio '<title>[^<]+|<link[^>]+rel="canonical"[^>]*|<meta[^>]+name="robots"[^>]*'Jalankan ini di DevTools Console untuk inspect dirender head:
({title: document.title, canonical: document.querySelector('link[rel="canonical"]')?.href, robots: document.querySelector('meta[name="robots" i]')?.content});Differences antara dua outputs poin untuk client-hanya head perubahan.
alat untuk Storyblok QA
- Render Kesenjangan compares awal dan dirender konten, metadata, tautan, dan robots sinyal.
- Google indeks Checker memeriksa observable status, canonical, dan noindex blockers pada publik routes.
- header HTTP Checker memeriksa preview
X-Robots-Tag, caching, dan redirect perilaku. - Sitemap Validator memeriksa itu generated sitemap URLs resolve dan melakukan tidak expose preview atau noncanonical routes.
Prove sebuah Storyblok SEO rilis
Publish-path test
Test untuk jalankan: publish sebuah controlled story perubahan dan trace webhook, bangun/revalidation, dan langsung sumber HTML. Yang diharapkan hasil: canonical production route memperbarui di dalam wajar penerbitan window. Failure interpretation: pengiriman chain atau cache adalah stale. Monitoring window: situs’s publish SLA. Rollback trigger: production konten dan metadata come dari berbeda versi.
Preview-exclusion test
Test untuk jalankan: permintaan preview URLs dengan curl -I dan inspect mentah HTML. Yang diharapkan hasil: access control dan sebuah server-terlihat noindex mencegah pengindeksan. Failure interpretation: exclusion bergantung pada JavaScript atau adalah absent. Monitoring window: immediate. Rollback trigger: sebuah publik preview respons adalah dapat diindeks.
rendering test
Test untuk jalankan: bandingkan mentah dan dirender output untuk representative templates. Yang diharapkan hasil: utama konten, tautan, judul, canonical, dan robots aturan agree. Failure interpretation: frontend relies pada client rendering untuk essential SEO output. Monitoring window: setiap frontend rilis. Rollback trigger: sebuah key template loses konten atau head sinyal di mentah HTML.
Resources worth Anda time
My writing
- Beginner’s Guide untuk SEO teknis — foundation semuanya di sini sits pada.
- JavaScript SEO Issues & Best Practices — my utama reference pada rendering modes, JS canonicals, dan metadata; secara langsung relevant untuk apa pun headless/Storyblok bangun.
My speaking
- JavaScript SEO — Ungagged 2019 (SlideShare) — bagaimana headless/decoupled CMSes split frontend dari backend, plus Googlebot’s stateless rendering. (Standing disclaimer: dynamic-rendering advice di itu deck adalah now outdated — Google deprecated ini; gunakan SSR/SSG.)
pada ini situs
- SEO untuk sebuah CMS headless — umum headless playbook ini artikel specializes; rendering modes, ISR trap, canonical fragmentation, migrations.
- JavaScript SEO — rendering side secara mendalam.
- Canonicalization — consolidation mechanism behind frontend canonicals.
dari sekitar industry
- Storyblok — CMS headless dan SEO FAQ — Storyblok’s own framing dari di mana SEO responsibility lands.
- Storyblok — SEO dengan Storyblok dan Astro (Ronny Shani, Aug 2025) — saat ini, kerangka kerja-spesifik official tutorial.
- Storyblok — Structured konten (Olena Teselko, Oct 2025) — AI-penelusuran/structured-konten case untuk Storyblok.
- Storyblok — Managing Redirects dengan sebuah CMS headless —
redirects_configkonten-jenis pattern. - Webstacks — Storyblok SEO Teknis Optimization Guide — strongest independent guide; konten modeling, rendering, Core Web Vitals, plus migration case data (TomTom “2x SEO performance,” (terjemahan) “2x SEO performa,” Unified “84% LCP improvement” (terjemahan) “84% LCP improvement”).
- FocusReactive — Typical Berikutnya.js SEO Pitfalls (Alex Hramovich) — server-dirender-metadata failure mode: “if they’re not set server-side, it’s a disaster.” (terjemahan) “jika mereka’re tidak set server-side, ini adalah sebuah disaster.”
- Straffesites — Localized Sitemap dengan Astro + Storyblok — sebuah worked sitemap/i18n implementation untuk Astro + Storyblok stack.
Uji pemahaman Anda: Storyblok SEO
Five quick pertanyaan pada melakukan SEO dengan Storyblok CMS headless. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.