Headless CMS: co to je a kdy dává smysl
Headless CMS je systém pro správu obsahu, který nemá vlastní „hlavu“ – tedy část, která vykresluje stránky. Obsah v něm spravujete jako obvykle, ale web, aplikace nebo jiný kanál si ho stahují přes rozhraní a zobrazují po svém. Pro menší firemní web je to často zbytečné, pro web s více jazyky nebo kanály naopak velmi praktické.
Aktualizováno
Jak headless CMS funguje
Klasický redakční systém (CMS) dělá dvě věci najednou: ukládá obsah a zároveň z něj podle šablony skládá stránky, které vidí návštěvník. Headless systém si nechává jen první půlku. Obsah ukládá jako strukturovaná data – nadpis, perex, obrázek, cena, autor – a nabízí ho přes API.
O vzhled se stará samostatná aplikace, takzvaný frontend, typicky postavená na frameworku jako Next.js, Astro nebo Nuxt. Ta si obsah vyžádá a vykreslí. Často to udělá už při sestavení webu, takže návštěvník dostane hotovou statickou stránku, která se nemusí pro každého zvlášť skládat na serveru.
Rozdíl oproti WordPressu
| Klasický WordPress | Headless CMS | |
|---|---|---|
| Vzhled | Šablona a pluginy uvnitř systému | Samostatný frontend |
| Obsah | Hlavně stránky a příspěvky s editorem | Vlastní typy obsahu s pevnými poli |
| Kanály | Především web | Web, mobilní aplikace, displeje, newsletter |
| Rozšíření | Tisíce pluginů | Funkce se dopisují ve frontendu |
| Náhled úprav | Přímo v systému | Musí se zvlášť nastavit |
| Provoz | Jedna aplikace | Dvě části: CMS a frontend |
Kdy headless dává smysl
- Rychlost – předem vygenerované stránky se dobře posílají přes CDN a snáz dosáhnete výborných výsledků v měření (viz rychlost webu).
- Více kanálů – stejný ceník nebo katalog se zobrazuje na webu, v mobilní aplikaci a třeba na obrazovce v prodejně.
- Vícejazyčnost – překlady jsou pole u každé položky, takže se nestane, že jedna jazyková verze zapomene na novou cenu.
- Bezpečnost – administrace není na stejné adrese jako veřejný web, útočníci nemají co zkoušet.
- Volnost frontendu – design a interakce nejsou omezené možnostmi šablony.
Kdy je zbytečně složitý
U vizitkového nebo menšího firemního webu, kde se jednou za měsíc změní text nebo fotka, přináší headless hlavně další díl, který je potřeba hostovat a aktualizovat. Pokud si chcete sami skládat nové stránky z bloků bez vývojáře, nebo stojíte na konkrétních pluginech (rezervace, formuláře, e-shop), bývá jednodušší klasický systém. Obecné srovnání přístupů najdete v článku web na míru, nebo šablona.
Co to znamená pro toho, kdo obsah spravuje
Pro redaktora vypadá headless administrace jako formulář: pole pro nadpis, perex, fotku, tlačítko „Publikovat“. Nevidí ale rovnou stránku tak, jak ji uvidí návštěvník. Proto se obvykle nastavuje náhled, který koncept zobrazí v podobě skutečného webu ještě před zveřejněním.
Když frontend generuje stránky dopředu, změna se na webu neobjeví okamžitě. Po publikování se spustí nové sestavení, které trvá od několika vteřin po pár minut podle velikosti webu. U ceníku nebo otvírací doby je to v pořádku, u zpravodajství s minutovými změnami se volí kombinace s průběžným překreslováním jednotlivých stránek.
Příklady: Strapi, Sanity, Directus
- Strapi – open source, napsaný v JavaScriptu, provozujete ho na vlastním serveru nebo v jejich cloudu. Typy obsahu se skládají v administraci.
- Sanity – hostovaná služba s velmi přizpůsobitelným editorem a spoluprací více lidí v reálném čase. Strukturu obsahu definuje vývojář v kódu.
- Directus – open source vrstva nad běžnou SQL databází. Hodí se, když data už v databázi máte a chcete k nim přívětivou administraci.
Dalšími známými zástupci jsou například Contentful nebo Payload. Licenční podmínky a tarify se u všech čas od času mění, takže je před výběrem ověřte.
Headless CMS u nás
Pro většinu menších webů ho nedoporučujeme – vyplatí se tam, kde obsah sdílí víc kanálů nebo jazyků, případně kde správu obsahu chcete oddělit od webu. Takové zadání stavíme jako Web na míru za 35 000 Kč; jestli se do této varianty vejde, nebo bude potřeba něco navíc, řekneme po prvním rozhovoru.
Časté otázky
Je headless CMS rychlejší než WordPress?
Samotný systém pro správu obsahu rychlost nedělá, rozhoduje, jak se stránky doručují. Headless řešení se ale obvykle kombinuje s předem vygenerovanými stránkami, které se posílají hotové, a to je rychlé. Dobře nastavený WordPress s mezipamětí může být také rychlý, jen to dá víc práce.
Můžu v headless CMS upravovat web sám bez programátora?
Texty, obrázky, články nebo položky ceníku ano – na to je administrace stavěná. Nový typ stránky nebo nový blok ale musí nejdřív připravit vývojář, protože vzhled žije ve frontendu. Proto je důležité při návrhu dobře promyslet, jaké bloky budete potřebovat.
Dá se WordPress použít jako headless CMS?
Ano. WordPress má rozhraní REST API, přes které může obsah číst samostatný frontend. Využijete tak známou administraci, ale přijdete o část pluginů, které počítají s klasickým zobrazováním stránek přes šablonu.
Kolik stojí provoz headless CMS?
Open source systémy jako Strapi nebo Directus můžete provozovat na vlastním serveru, platíte tedy hosting a údržbu. Hostované služby typu Sanity mají tarify podle počtu uživatelů a objemu dat. Aktuální podmínky se mění, proto je ověřujte v ceníku poskytovatele.