API (Application Programming Interface)
Eine definierte Schnittstelle, über die Softwaresysteme miteinander kommunizieren können – der Standard für die Integration von KI-Diensten in Anwendungen.
Ein Content-Management-System, das Content und Darstellung vollständig trennt – Inhalte werden über eine API bereitgestellt und können in beliebigen Frontends (Web, App, Voice, Digital Signage) genutzt werden.
Traditionelle CMS wie WordPress sind monolithisch: Das System verwaltet Inhalte und generiert gleichzeitig das HTML für die Website. Das war jahrelang praktisch – aber es hat Grenzen.
Was ist, wenn der gleiche Inhalt auf einer Website, einer mobilen App, einem Smart Speaker und einem digitalen Infoscreen erscheinen soll? Ein traditionelles CMS kann das nicht – es ist auf eine Darstellungsform ausgerichtet.
Ein Headless CMS trennt diese Verantwortlichkeiten: Das CMS verwaltet Inhalte und stellt sie über eine API bereit. Das Frontend – egal ob Website, App oder Voice Interface – holt sich die Daten und stellt sie dar, wie es möchte.
Traditionelles CMS (WordPress):
Redakteur schreibt Artikel
↓
WordPress speichert + generiert HTML
↓
Browser zeigt HTML an
(nur eine Ausgabe möglich)
Headless CMS (Contentful):
Redakteur schreibt Artikel
↓
Contentful speichert als strukturierte Daten
↓
API gibt JSON zurück
↓
Website (React) → rendert als Artikel
Mobile App (Swift) → rendert als Card
Smart Speaker → liest Text vor
Newsletter → formatiert als E-Mail
| Situation | Empfehlung |
|---|---|
| Einfache Website, ein Redakteur | WordPress / traditionell |
| Mehrere Kanäle (Web + App) | Headless |
| Entwicklerteam vorhanden | Headless |
| Kein Entwickler, Redakteur macht alles | Traditionell |
| Hohe Performance-Anforderungen | Headless + SSG |
| Komplexe Content-Strukturen | Headless |
// Content-Typ "Article" in Contentful definiert:
{
contentType: 'article',
fields: [
{ id: 'title', type: 'Symbol' },
{ id: 'slug', type: 'Symbol' },
{ id: 'body', type: 'RichText' },
{ id: 'author', type: 'Link', linkType: 'Entry' },
{ id: 'heroImage', type: 'Link', linkType: 'Asset' },
{ id: 'publishDate', type: 'Date' },
{ id: 'tags', type: 'Array', items: { type: 'Symbol' } },
]
}
// Contentful REST API
const response = await fetch(
`https://cdn.contentful.com/spaces/${SPACE_ID}/entries` +
`?content_type=article&include=2&order=-fields.publishDate`,
{ headers: { Authorization: `Bearer ${ACCESS_TOKEN}` } }
);
const data = await response.json();
const articles = data.items;
query GetArticles {
articleCollection(order: publishDate_DESC, limit: 10) {
items {
title
slug
publishDate
heroImage {
url
width
height
}
author {
name
avatar { url }
}
body { json }
}
}
}
---
// src/pages/blog/[slug].astro
import { createClient } from 'contentful';
const client = createClient({
space: import.meta.env.CONTENTFUL_SPACE_ID,
accessToken: import.meta.env.CONTENTFUL_ACCESS_TOKEN,
});
export async function getStaticPaths() {
const entries = await client.getEntries({ content_type: 'article' });
return entries.items.map(entry => ({
params: { slug: entry.fields.slug },
props: { article: entry },
}));
}
const { article } = Astro.props;
---
<article>
<h1>{article.fields.title}</h1>
<!-- Rich Text rendern -->
</article>
// GROQ – Sanity's eigene Query Language
const query = `*[_type == "article" && !(_id in path("drafts.**"))] | order(publishDate desc) {
title,
slug,
publishDate,
"heroImageUrl": heroImage.asset->url,
"authorName": author->name,
body
}[0...10]`;
const articles = await sanityClient.fetch(query);
// Next.js Draft Mode für Headless CMS Preview
// Redakteure sehen unveröffentlichte Inhalte live
export async function GET(request) {
const { searchParams } = new URL(request.url);
const secret = searchParams.get('secret');
const slug = searchParams.get('slug');
if (secret !== process.env.PREVIEW_SECRET) {
return new Response('Unauthorized', { status: 401 });
}
// Draft Mode aktivieren
draftMode().enable();
redirect(`/blog/${slug}`);
} Ein traditionelles CMS ist wie ein Fertighaus: Grundriss, Wände und Fassade sind fest verbunden. Ein Headless CMS ist wie ein Möbellager: Die Möbel (Inhalte) sind vorhanden, aber du entscheidest selbst, in welchem Raum (Website, App, Kiosk) sie stehen und wie sie aussehen.
Trennung von Content (Backend) und Darstellung (Frontend) – API-first
Gleicher Content für Website, Mobile App, Voice Assistant, Digital Signage
Entwickler wählen frei das Frontend-Framework (React, Vue, Astro, Next.js)
Multi-Channel-Publishing
Gleicher Artikel auf Website, App, Newsletter und Smart Speaker – einmal pflegen, überall ausgeben
Moderne Web-Stacks
Astro, Next.js oder Nuxt als Frontend, Contentful oder Sanity als Content-Backend
E-Commerce
Produktbeschreibungen zentral verwalten, auf Website, App und Marktplätzen ausgeben
Traditionelles CMS (WordPress, Typo3): Content und Darstellung sind gekoppelt – das CMS generiert HTML. Headless CMS: Das CMS liefert nur Daten (JSON via API), das Frontend ist komplett getrennt. Vorteil Headless: Mehr Flexibilität, bessere Performance, Multi-Channel. Nachteil: Mehr Entwicklungsaufwand, kein WYSIWYG out-of-the-box.
Digital Experience Platform – eine Weiterentwicklung des Headless-Ansatzes. Statt einem monolithischen System werden Best-of-Breed-Lösungen kombiniert: Headless CMS + Headless Commerce + Personalisierung + Analytics. Jede Komponente kann unabhängig ausgetauscht werden.
Ja. WordPress hat eine REST API und GraphQL (via WPGraphQL-Plugin). Man kann WordPress als Content-Backend nutzen und ein modernes Frontend (Next.js, Gatsby) davor schalten. Das nennt sich 'Decoupled WordPress'. Vorteil: Redakteure kennen WordPress. Nachteil: WordPress-Overhead bleibt.
REST: Feste Endpunkte, oft Over-fetching (zu viele Daten) oder Under-fetching (zu wenige). GraphQL: Flexible Abfragen – du fragst genau die Felder ab, die du brauchst. Für komplexe Content-Strukturen ist GraphQL oft effizienter. Viele Headless CMS bieten beide Optionen.
Marktführer unter den Headless CMS – umfangreich, enterprise-ready
Flexibles Headless CMS mit Real-time Collaboration
Open-Source Headless CMS, selbst hostbar
Open-Source Data Platform / Headless CMS
Visual Editor + Headless CMS – Redakteure sehen Live-Vorschau