Bezhlavý CMS a SEO: Strapi vs Contentful vs Sanity - co zvolit?
"Chceme přejít na bezhlavý CMS (headless CMS), ale bojíme se, že přijdeme o pozice v Google."
Tuhle větu slyším od klientů stále častěji. A je to legitimní obava. Bezhlavá architektura přináší obrovskou flexibilitu, ale pokud ji neuchopíte správně, může vaše SEO totálně zničit.
V tomto článku vám ukážu, jak funguje bezhlavý CMS, jaké jsou jeho výhody a rizika pro SEO, a hlavně - jak vybrat mezi třemi nejpopulárnějšími platformami: Strapi, Contentful a Sanity.
Co je bezhlavý CMS (headless CMS)? Tradiční vs bezhlavá architektura
Tradiční CMS (WordPress, Drupal SEO)
U tradičního CMS je vše propojené. databáze, administrace, šablony i frontend tvoří jeden monolit. Když NAPíšete článek ve WordPressu, ten ho rovnou vykreslí do HTML a pošle uživateli.
Výhody:
- Jednoduché na pochopení
- Vše na jednom místě
- Pluginy pro všechno
Nevýhody:
- Pomalé (WordPress s 30 pluginy je jako naložený kamion)
- Omezený design (jste svázáni šablonami)
- Bezpečnostní rizika (každý plugin je potenciální díra)
Bezhlavý CMS (headless CMS)
Bezhlavý CMS odděluje backend (kde píšete obsah) od frontendu (kde se obsah zobrazuje). Obsah se ukládá strukturovaně a dodává přes API. Frontend pak může být cokoliv - React aplikace, mobilní app, smart TV, nebo dokonce billboard.
Výhody:
- Bleskurychlý frontend (statické stránky nebo SSR)
- omnichannel - jeden obsah, více výstupů
- Lepší bezpečnost (admin panel není na stejné doméně)
- Vývojářsky přívětivé
Nevýhody:
- Vyžaduje vývojáře (není to "naklikej a jeď")
- Vyšší počáteční náklady
- SEO vyžaduje extra pozornost
Proč firmy přecházejí na bezhlavý CMS?
V roce 2026 vidím tři hlavní důvody:
-
Performance - Core Web Vitals jsou ranking faktor. Next.js SEO + bezhlavý CMS = sub-sekundové načítání.
-
Škálovatelnost - E-shop roste? S headless přidáte mobilní app bez přepisování backendu.
-
Developer experience - Moderní vývojáři chtějí pracovat s React/Vue, ne s PHP šablonami z roku 2005.
SEO výzvy u bezhlavého CMS
Tady to začíná být zajímavé. Bezhlavý CMS sám o sobě nemá žádné SEO funkce. Je to jen databáze s API. Veškerá SEO magie musí přijít z frontendu.
Rendering strategie: SSR/SSG je nutnost
Pokud váš frontend používá čisté Client-Side Rendering (CSR), máte problém. Google sice umí renderovat JavaScript, ale:
- Spotřebovává to crawl budget
- Indexace může trvat týdny místo dnů
- Dynamický obsah se nemusí správně zaindexovat
Řešení: Používejte Server-Side Rendering (SSR) nebo generátor statických stránek (SSG). Frameworky jako Next.js, Nuxt.js nebo Gatsby SEO to umí nativně.
Meta tagy a content modeling
V tradičním CMS máte pole pro meta title a description "zadarmo". V bezhlavém CMS si je musíte vytvořit.
To je vlastně výhoda - můžete navrhnout content model přesně podle SEO potřeb:
Article
├── title (string)
├── slug (string)
├── seoTitle (string, max 60 znaků)
├── seoDescription (string, max 160 znaků)
├── canonicalUrl (string, volitelné)
├── noIndex (boolean)
├── ogImage (media)
├── content (rich text)
└── author (reference)
Problém nastává, když content model navrhnete špatně. Viděla jsem projekty, kde SEO fields chyběly úplně, a pak se zoufalý marketér snažil nacpat meta description do pole "perex".
Preview a publikační workflow
Další věc, která v tradičním CMS funguje automaticky. V bezhlavém CMS musíte preview vyřešit:
- Draft mode - zobrazení nepublikovaného obsahu
- Live preview - reálný náhled změn při editaci
- Scheduled publishing - naplánované publikování
Bez funkčního preview budou editoři frustrovaní a budou dělat chyby. A chyby v meta tagách = propad CTR.
Strapi - open-source možnost
Strapi je můj oblíbenec pro české projekty. Je open-source, hostujete si ho sami a máte plnou kontrolu.
SEO plugin pro Strapi
Strapi má oficiální SEO plugin, který přidá:
- Meta title a description pole s počítadlem znaků
- Preview ve výsledcích vyhledávání
- Analýzu obsahu (podobné Yoast SEO)
- Automatické generování structured data
Instalace:
npm install @strapi/plugin-seo
Po instalaci se v administraci objeví nová záložka "SEO" u každého content type.
Content modeling pro SEO
Ve Strapi vytvoříte content type v GUI editoru. Pro SEO doporučuji tento model:
Collection Type: Article
title(Text, required)slug(UID, based on title)content(Rich Text)seo(Component - SEO)author(Relation to User)publishedAt(DateTime)
Component: SEO
metaTitle(Text, max 60)metaDescription(Text, max 160)canonicalUrl(Text)ogImage(Media)noIndex(Boolean)
Tento přístup s reusable komponentou zajistí konzistentní SEO fields across všech content types.
Integrace s Next.js/Gatsby
Strapi skvěle funguje s moderními frameworky:
Next.js (App Router):
// app/blog/[slug]/page.js
export async function generateMetadata({ params }) {
const article = await getArticle(params.slug);
return {
title: article.seo.metaTitle || article.title,
description: article.seo.metaDescription,
openGraph: {
images: [article.seo.ogImage?.url],
},
};
}
Gatsby:
Gatsby má oficiální plugin gatsby-source-strapi, který automaticky stahuje obsah při buildu (SSG).
Kdy zvolit Strapi?
- Budget-conscious projekty - platíte jen za hosting
- Potřebujete plnou kontrolu - open-source, můžete upravit cokoliv
- Máte vlastní infrastrukturu - VPS, Docker, Kubernetes
- Menší až střední projekty - tisíce článků
Cena: Zdarma (open-source). Platíte za hosting (cca 500-2000 Kč/měsíc na Render, Railway nebo vlastním VPS).
Contentful - enterprise řešení
Contentful je "ten drahý" bezhlavý CMS. Používají ho velké značky jako Spotify, Intercom nebo Red Bull. A mají k tomu důvod.
SEO fields a validace
Contentful nemá SEO plugin jako Strapi, ale má něco lepšího - granulární validace.
Můžete nastavit:
- Minimální a maximální délku textu (meta title 30-60 znaků)
- Povinná pole (meta description musí být vyplněná)
- Regex validace (URL musí začínat lomítkem)
- Custom validace přes App Framework
Příklad validace meta title:
{
"type": "Symbol",
"name": "Meta Title",
"validations": [
{
"size": { "min": 30, "max": 60 },
"message": "Meta title musí mít 30-60 znaků"
},
{
"regexp": {
"pattern": "^[^|]+\\|.+$",
"message": "Meta title musí obsahovat brand (formát: Text | Brand)"
}
}
]
}
Tím zajistíte, že nikdo nepublikuje obsah s nevalidními meta tagy.
Rich text a SEO
Contentful má vlastní Rich Text editor, který ukládá obsah jako strukturovaný JSON, ne jako HTML. To má výhody i nevýhody:
Výhody:
- Čistý, validní HTML na výstupu
- Kontrola nad renderingem (vlastní komponenty pro embedded content)
- Automatické přidání atributů (
rel="nofollow"pro externí odkazy)
Nevýhody:
- Musíte napsat vlastní renderer
- Přechod z HTML editoru je bolestivý
Pro SEO je strukturovaný rich text výhodou - máte jistotu, že výstup bude validní a konzistentní.
Lokalizace (i18n)
Tady Contentful exceluje. Potřebujete web v 10 jazycích? Žádný problém.
- Field-level localization - každé pole může mít jiný obsah pro každý jazyk
- Fallback locales - pokud slovenská verze chybí, použije se česká
- Locale-specific validations - různá pravidla pro různé jazyky
Pro mezinárodní SEO je to klíčové. Můžete mít jiný meta title pro český a slovenský trh, i když je obsah podobný.
Kdy zvolit Contentful?
- Enterprise projekty - stovky článků, desítky editorů
- Multijazyčné weby - 5+ jazyků
- Potřebujete SLA a support - 99.95% uptime garantováno
- Máte budget - není to levné
Cena:
- Free tier: 5 uživatelů, 25K API calls/měsíc
- Team: od $489/měsíc
- Enterprise: individuální (typicky $2000+/měsíc)
Sanity - flexibilní volba
Sanity je "vývojářský" bezhlavý CMS. Dává vám maximální flexibilitu, ale vyžaduje více práce na začátku.
Portable Text a SEO
Sanity používá vlastní formát pro rich text - Portable Text. Je to array of blocks, kde každý block je objekt s typem a children.
Proč je to pro SEO dobré:
- Custom block types - můžete vytvořit speciální bloky (CTA, video embed, FAQ schema)
- Annotations - přidání metadat k textu (nofollow linky, author citations)
- Validace na úrovni bloků - heading musí mít alt text pro obrázky
Příklad custom FAQ bloku:
{
name: 'faq',
type: 'object',
title: 'FAQ Item',
fields: [
{ name: 'question', type: 'string', title: 'Otázka' },
{ name: 'answer', type: 'text', title: 'Odpověď' }
]
}
Tento blok pak můžete automaticky převést na FAQ schema markup na frontendu.
Custom document types
Sanity vám umožní vytvořit jakýkoliv document type. Pro SEO-focused projekt doporučuji:
// schemas/seoSettings.js
export default {
name: 'seoSettings',
type: 'document',
title: 'SEO Settings',
fields: [
{
name: 'defaultTitle',
type: 'string',
title: 'Default Meta Title Suffix'
},
{
name: 'defaultDescription',
type: 'text',
title: 'Default Meta Description'
},
{
name: 'robotsTxt',
type: 'text',
title: 'Custom robots.txt'
},
{
name: 'redirects',
type: 'array',
title: '301 Redirects',
of: [{
type: 'object',
fields: [
{ name: 'from', type: 'string' },
{ name: 'to', type: 'string' }
]
}]
}
]
}
Tím máte SEO nastavení centralizované a editovatelné bez deploymentu.
Real-time collaboration
Sanity má killer feature - real-time collaboration. Více lidí může editovat jeden dokument současně (jako Google Docs).
Pro SEO workflow to znamená:
- Copywriter píše obsah
- SEO specialista současně optimalizuje meta tagy
- Editor schvaluje - vše v jednom dokumentu, bez čekání
Kdy zvolit Sanity?
- Custom requirements - potřebujete věci, které jiné CMS neumí
- Vývojářský tým - máte React vývojáře, kteří chtějí flexibilitu
- Real-time collaboration - velký tým, časté kolaborace
- Portable Text - chcete strukturovaný obsah, ne HTML
Cena:
- Free tier: 3 uživatele, 200K API requests/měsíc
- Team: $99/měsíc
- Business: $949/měsíc
- Enterprise: individuální
Porovnání: Strapi vs Contentful vs Sanity
Tabulka funkcí
Cenotvorba (měsíčně)
Kdy kterou platformu?
Zvolte Strapi, pokud:
- Máte omezený budget
- Chcete open-source a plnou kontrolu
- Nepotřebujete pokročilou lokalizaci
- Máte DevOps kapacity pro self-hosting
Zvolte Contentful, pokud:
- Jste enterprise s budget
- Potřebujete multijazyčný web (5+ jazyků)
- Vyžadujete SLA a enterprise support
- Máte velký redakční tým
Zvolte Sanity, pokud:
- Máte silný vývojářský tým
- Potřebujete maximální flexibilitu
- Real-time collaboration je priorita
- Chcete code-first přístup
Best practices pro SEO u bezhlavého CMS
Content modeling tipy
-
Vytvořte reusable SEO komponentu
- Použijte ji ve všech content types
- Zajistí konzistenci napříč projektem
-
Validujte délky textů
- Meta title: 30-60 znaků
- Meta description: 120-160 znaků
- Alt texty: požadujte u všech obrázků
-
Nastavte výchozí hodnoty
- Default meta title suffix (| Brand)
- Fallback OG image
- Default robots direktivy
-
Verzování obsahu
- Udržujte historii změn pro audit
- Umožněte rollback při SEO problémech
Preview workflow
[Draft] → [Preview] → [SEO Review] → [Publish]
- Draft mode - editor píše obsah
- Preview - náhled na staging URL
- SEO Review - kontrola meta tagů, schémat, internal links
- Publish - automatický deploy/invalidace cache
Tip: Nastavte webhooks pro automatickou notifikaci SEO týmu při vytvoření nového obsahu.
Performance monitoring
Bezhlavý CMS je jen polovina rovnice. Sledujte také frontend:
- Core Web Vitals - LCP, INP, CLS
- TTFB - Time to First Byte (mělo by být < 200ms)
- Cache hit ratio - kolik requestů jde do cache vs. API
- API latency - rychlost odpovědí z CMS
Nástroje:
- Vercel Analytics (pro Next.js)
- Cloudflare Web Analytics
- Google Search Console Core Web Vitals report
Často kladené otázky (FAQ)
1. Je bezhlavý CMS dobrý pro SEO?
Bezhlavý CMS není automaticky dobrý ani špatný pro SEO. Záleží na implementaci.
Dobré pro SEO, pokud:
- Používáte SSR nebo SSG (ne čisté CSR)
- Máte správně nastavený content model s SEO fields
- Frontend generuje validní HTML s meta tagy
- Máte funkční preview pro QA
Špatné pro SEO, pokud:
- Frontend je čistě client-side rendered
- Chybí SEO fields v content modelu
- Nikdo nekontroluje meta tagy před publikací
Realita: S bezhlavým CMS můžete dosáhnout lepšího SEO než s tradičním CMS, protože máte plnou kontrolu nad HTML výstupem a rychlostí.
2. Jaký bezhlavý CMS je nejlepší pro malé firmy?
Pro malé firmy doporučuji Strapi nebo Sanity Free tier.
Strapi:
- Nulové měsíční náklady (kromě hostingu ~500 Kč)
- SEO plugin "out of the box"
- Jednodušší pro ne-technické uživatele
Sanity Free:
- 3 uživatelé zdarma
- Real-time collaboration
- Rychlý setup
Contentful Free je také možnost, ale limit 5 uživatelů a 25K API calls může být omezující.
3. Jak zajistit SEO preview v bezhlavém CMS?
Každý CMS má jiný přístup:
Strapi:
- Plugin
strapi-plugin-preview-button - Custom preview URL s draft parametrem
Contentful:
- Nativní Preview API
- Nastavíte preview URL v Content Model settings
Sanity:
@sanity/preview-kitpackage- Real-time preview přímo v Studio
Obecný postup:
- Vytvořte preview endpoint na frontendu (
/api/preview) - Endpoint nastaví cookie/session pro draft mode
- Frontend pak fetchuje draft obsah místo published
- Po ukončení preview se draft mode zruší
4. Potřebuji vývojáře pro bezhlavý CMS?
Ano, ale záleží na úrovni:
Bez vývojáře (omezené možnosti):
- Sanity má templates, které fungují "out of the box"
- Existují no-code frontendy jako Stackbit, TinaCMS
S juniorem (základní projekt):
- Next.js/Nuxt.js starter templates
- Hotová integrace s bezhlavým CMS
- Vlastní úpravy designu
Se seniorem (enterprise projekt):
- Custom content modeling
- Komplexní SEO automatizace
- Preview workflows
- Performance optimalizace
Realita: Pro seriózní SEO-focused projekt počítejte s vývojářem alespoň na setup (20-40 hodin).
5. Kolik stojí Contentful vs Strapi?
Strapi (self-hosted):
- Software: zdarma
- Hosting: 500-3000 Kč/měsíc (Render, Railway, VPS)
- Celkem: 500-3000 Kč/měsíc
Contentful:
- Free tier: 0 Kč (omezené)
- Team: ~12 000 Kč/měsíc ($489)
- Enterprise: ~50 000+ Kč/měsíc
- Celkem: 0-50 000+ Kč/měsíc
Rozdíl je obrovský, ale Contentful nabízí:
- Garantovaný uptime (SLA)
- Enterprise support
- Pokročilou lokalizaci
- Žádné starosti s hosting/update
Pro malé projekty: Strapi. Pro enterprise: Contentful nebo Sanity Business.
Závěr: Jak vybrat správný bezhlavý CMS
Bezhlavý CMS není hype - je to legitimní architektura pro moderní weby. Ale není to "plug and play" řešení. Vyžaduje plánování, vývojářské kapacity a pozornost k SEO detailům.
Moje doporučení podle typu projektu:
Ať už zvolíte cokoliv, pamatujte: SEO u bezhlavého CMS není automatické. Musíte ho aktivně navrhnout, implementovat a kontrolovat.
Potřebujete pomoct s bezhlavým CMS a SEO?
Pomáhám firmám implementovat SEO best practices pro bezhlavé projekty. Bez složitých smluv, jen výsledky.
O autorce

Ing. Jana Hrabalová
SEO specialistka
SEO se věnuji od roku 2012. Pomáhám firmám získat více zákazníků z Google a přežít každý algoritmus update bez škrábnutí.
📚 Čtěte dále
Získejte SEO článek zdarma
Publikuji váš článek na kvalitním webu s vysokou autoritou
- Publikace na webu s DA 50+
- Dofollow odkaz na váš web
- Profesionální copywriting
Vyzkoušejte také mé bezplatné SEO nástroje: