Verzeichnis-Website erstellen: Warum CMS-Tools bei 10.000 Einträgen scheitern
Ich habe diese Spielsituation mindestens ein Dutzend Mal beobachtet. Jemand erstellt ein Verzeichnis auf Webflow oder WordPress, es funktioniert wunderbar bei 500 Einträgen, immer noch gut bei 2.000, und irgendwo zwischen 8.000 und 10.000 Einträgen fängt das Ganze an zu schnaufen. Suchen werden langsam. Filter laufen ab. Build-Zeiten dehnen sich in Minuten. Das CMS, das sich im ersten Monat so perfekt anfühlte, wird zum Engpass, dem du im achten Monat verzweifelt zu entkommen versuchst.
Das Kernproblem? CMS-Tools wurden für Inhalte entwickelt -- Blog-Posts, Landing Pages, vielleicht ein Produktkatalog mit ein paar hundert SKUs. Eine Directory-Website ist ein grundlegend anderes Tier. Sie erfordert komplexes Filtern, facettierte Suche, Geolocation-Abfragen, benutzergenerierte Inhalte und Paginierungsmuster, die Datenbankabfragen pro Seitenaufruf um Größenordnungen vervielfachen. Ein Verzeichnis wie einen Blog mit mehr Posts zu behandeln, ist ein architektonischer Fehler, der dich schneller einholt, als du erwartest.
Ich werde dir genau zeigen, warum das passiert, was die tatsächlichen technischen Grenzen 2025 sind, und was du stattdessen bauen solltest, wenn du es ernst mit der Skalierung über 10.000 Einträge meinst.

Inhaltsverzeichnis
- Ein Verzeichnis ist kein Blog
- Wo die großen CMS-Plattformen an ihre Grenzen stoßen
- Die technische Realität: Warum 10K der Umbruchpunkt ist
- Was tatsächlich funktioniert: Architektur für Skalierung
- Der Headless-Ansatz für Directory-Websites
- Kostenvergleich: CMS vs. Headless vs. Custom
- Real-World Migrationspfad
- Häufig gestellte Fragen
Ein Verzeichnis ist kein Blog
Das klingt offensichtlich, aber hier gehen die meisten Projekte bereits in der Planungsphase schief. Ein Blog-Post ist ein einzelnes Dokument. Du rufst es nach Slug ab, renderst es, fertig. Eine Directory-Listing-Seite tut etwas völlig anderes: Sie fragt möglicherweise tausende Datensätze ab, wendet mehrere Filter gleichzeitig an (Kategorie, Standort, Preisbereich, Bewertung, Verfügbarkeit), sortiert die Ergebnisse, paginiert sie und rendert eine Seite -- oft mit Kartenmarkierungen, Entfernungsberechnungen und Aggregatzahlen für jede Filteroption.
Hier ist ein schneller Vergleich der Datenbankoperationen pro Seitenaufruf:
| Operation | Blog-Post-Seite | Directory-Listing-Seite |
|---|---|---|
| Primäre Abfrage | 1 (abrufen nach Slug) | 1 (gefiltert, sortiert, paginiert) |
| Zugehörige Abfragen | 2-3 (Autor, Kategorien, verwandte Posts) | 5-15 (Filter-Zählungen, Geo-Berechnungen, Bewertungen, Verfügbarkeit) |
| Index-Lookups | 1-2 | 10-50+ (pro Filter-Facette) |
| Gescannte Zeilen | 1-5 | 100-10.000+ |
| Typische Antwortzeit | 5-50ms | 200-2.000ms (unoptimiert) |
| Komplexität der Cache-Invalidierung | Niedrig (einzelnes Dokument) | Hoch (jede Listenänderung betrifft mehrere Seiten) |
Bei Verwendung eines traditionellen CMS durchlaufen alle diese Operationen die gleiche Datenbank, die gleiche Abfrage-Engine, den gleichen Server, der auch deine Homepage, deine About-Seite und dein Admin-Panel serviert. Bei 500 Einträgen spielt das keine Rolle. Bei 10.000 schon.
Wo die großen CMS-Plattformen an ihre Grenzen stoßen
Lassen Sie uns spezifisch werden, was bricht und wo.
Webflow
Webflow erzwingt eine harte Obergrenze von 10.000 CMS-Elementen pro Sammlung im Business-Plan. Dies ist kein weiche Richtlinie -- es ist eine Mauer. Wenn du sie erreichst, kannst du wörtlich keinen weiteren Eintrag hinzufügen. Das Webflow-Team hat in seinen Community-Foren bestätigt, dass diese Grenze aus "Leistungsgründen" existiert und nicht verschwinden wird.
Aber hier ist das, was die meisten Leute verpassen: Die Leistung verschlechtert sich schon lange bevor du 10K erreichst. Sobald du über 5.000-6.000 Elemente mit komplexen Collection Lists und Filtern hinausgehst, wirst du bemerken, dass Build-Zeiten über 10 Minuten gehen und Seitenladezeiten träge werden. Webflows CMS wurde nicht für facettierte Suche gebaut. Es gibt keine Möglichkeit, eine native "Zeige mir alle Restaurants innerhalb von 5 Meilen, die jetzt offen sind und vegane Optionen haben"-Abfrage zu machen.
Ab März 2026 kostet Webflows Business-Plan $39/Monat (jährliche Abrechnung). Möchtest du auf 20.000 Elemente mit Add-Ons erhöhen? Das kostet dich $124/Monat -- mehr als dreimal der Basispreis für doppelte Einträge. Enterprise-Preisgestaltung für 100K+ Elemente beginnt im Bereich von $15.000-$50.000/Jahr.
WordPress
WordPress hat keine harte Obergrenze für Elemente, aber es hat etwas Schlimmeres: unvorhersehbare Verschlechterung. Eine standardmäßige WordPress-Installation mit einem Directory-Plugin wie Directorist oder Business Directory Plugin wird um 10.000 Listeneinträge auf typischem Shared- oder VPS-Hosting zu kämpfen haben. Der Schuldige ist MySQL-Abfrageleistung.
WordPress speichert alles -- Posts, benutzerdefinierte Felder, Taxonomien, Metadaten -- in einer Handvoll Datenbanktabellen. Ein Directory-Eintrag mit 20 benutzerdefinierten Feldern bedeutet 20 Zeilen in wp_postmeta pro Eintrag. Bei 10.000 Einträgen sind das 200.000 Zeilen nur in postmeta, und WordPress liebt JOIN-Abfragen über diese Tabellen. Füge WooCommerce oder irgendein anderes Plugin hinzu, das auch Daten in postmeta einfügt, und du hast ein echtes Durcheinander.
Ich habe WordPress-Directory-Sites gesehen, die bei 10K Einträgen funktionieren -- aber nur nach signifikanter Optimierung: Redis-Objekt-Caching, Elasticsearch für Suche, ein dedizierter Datenbankserver und sorgfältige Abfrageoptimierung. An diesem Punkt gibst du $200-500/Monat für Hosting-Infrastruktur aus und kämpfst im Wesentlichen gegen die Plattform, anstatt mit ihr zu arbeiten.
Airtable / Notion / Google Sheets als "Backend"
Ich sehe dieses Muster ständig in der Indie-Hacker-Community. Verwende Airtable als deine Datenbank, leite sie durch einen statischen Website-Generator oder Webflow, und du hast ein Verzeichnis. Es funktioniert! Bis es nicht mehr funktioniert.
Die Airtable-API gibt maximal 100 Datensätze pro Anfrage zurück. Ihr kostenloser Plan ist auf 1.200 Datensätze pro Basis begrenzt. Selbst auf ihrem Business-Plan ($20/Benutzer/Monat) wirst du auf Ratenlimits von 5 Anfragen pro Sekunde pro Basis treffen. Versuche, eine Directory-Seite mit 10.000 Einträgen zu rendern, und du machst 100 sequenzielle API-Aufrufe, bevor auch nur eine einzelne Seite geladen wird. Das ist kein Verzeichnis -- das ist ein Lade-Spinner.

Die technische Realität: Warum 10K der Umbruchpunkt ist
Die 10.000-Einträge-Schwelle ist nicht willkürlich. Sie repräsentiert einen Phasenwechsel in der Verhalten von Datenbanken unter gängigen CMS-Konfigurationen.
Abfragekomplexität explodiert
Bei 10K Einträgen muss eine typische gefilterte Directory-Abfrage:
- Einen potenziell großen Teil der Tabelle (oder des Index) scannen, um Filter anzuwenden
- Aggregatzählungen für verbleibende Filteroptionen berechnen ("Hotels (247), Restaurants (1.832)")
- Ergebnisse nach Relevanz, Entfernung oder Bewertung sortieren
- Paginieren und eine Teilmenge zurückgeben
- Verwandte Daten verbinden (Bilder, Bewertungen, Kategorien)
Auf einer gut indizierten PostgreSQL-Datenbank mit richtiger Schemagestaltung dauert dies 10-50ms. Auf Wordpress's wp_posts + wp_postmeta Schema mit EAV Pattern-Abfragen? Leicht 500-2.000ms. Auf Webflows internem Datenlayer, der für Content-Seiten entwickelt wurde? Das ist der Grund, warum sie die Obergrenze erzwingen.
Build-Zeiten töten die Entwickler-Erfahrung
Statische Website-Generatoren -- die sowohl Webflow als auch viele Headless-Setups verwenden -- müssen für jeden Eintrag, jede Kategorieseite, jede gefilterte Kombination eine Seite bauen. Bei 10.000 Einträgen mit 50 Kategorieseiten generierst du mindestens 10.050+ statische Seiten. Mit Webflow können Builds über 20 Minuten dauern. Mit Next.js mit getStaticPaths wirst du 15-30 Minuten auf einen vollständigen Rebuild warten, es sei denn, du verwendest Incremental Static Regeneration (ISR).
// Der naive Ansatz: Baue alle 10K-Seiten zur Build-Zeit
export async function getStaticPaths() {
const listings = await fetchAllListings(); // 10.000 Elemente
return {
paths: listings.map(l => ({ params: { slug: l.slug } })),
fallback: false // Baue ALLE Seiten im Voraus
};
}
// Der intelligente Ansatz: Baue auf Anfrage
export async function getStaticPaths() {
// Baue nur die top 100 meistbesuchten Einträge vor
const topListings = await fetchTopListings(100);
return {
paths: topListings.map(l => ({ params: { slug: l.slug } })),
fallback: 'blocking' // Baue andere beim ersten Request, dann cache
};
}
Suche wird zum echten Problem
Volltextsuche über 10.000+ Einträge mit mehreren Feldern (Name, Beschreibung, Tags, Standort, Kategorie) ist, wo die meisten CMS-Tools völlig zusammenbrechen. WordPress's standardmäßige Suche ist eine LIKE %term%-Abfrage -- sie scannt buchstäblich jede Zeile. Webflows natives Filtering unterstützt Volltextsuche überhaupt nicht.
Echte Directory-Suche braucht:
- Fuzzy Matching (Finden von "Pizza" wenn jemand "Piza" tippt)
- Gewichtete Relevanz (Titeltreffer ranken höher als Beschreibungstref)
- Facettierte Zählungen (wie viele Ergebnisse pro Kategorie/Filter)
- Geo-Distanz-Sortierung
- Sub-200ms-Antwortzeiten
Du brauchst eine Such-Engine dafür. Elasticsearch, Meilisearch, Typesense oder Algolia. Keine davon ist in irgendeinem traditionellen CMS eingebaut.
Was tatsächlich funktioniert: Architektur für Skalierung
Wenn du ein Verzeichnis aufbaust, das 10.000+ Einträge verarbeiten muss, musst du deine Bedenken von Anfang an trennen.
Die richtige Datenschicht
Deine Einträge gehören in eine richtige Datenbank mit einem Schema, das für deine spezifischen Abfragemuster ausgelegt ist. Nicht in ein CMS-Content-Modell, nicht in eine Tabellenkalkulation, nicht in eine generische posts-Tabelle mit angehängten Metadaten.
-- Eine speziell für Directory-Anforderungen konzipierte Listing-Tabelle
CREATE TABLE listings (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
description TEXT,
category_id UUID REFERENCES categories(id),
location GEOGRAPHY(POINT, 4326), -- PostGIS für Geo-Abfragen
price_range INT CHECK (price_range BETWEEN 1 AND 4),
rating DECIMAL(3,2),
is_verified BOOLEAN DEFAULT false,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Richtige Indizes für Directory-Abfragemuster
CREATE INDEX idx_listings_category ON listings(category_id);
CREATE INDEX idx_listings_location ON listings USING GIST(location);
CREATE INDEX idx_listings_rating ON listings(rating DESC);
CREATE INDEX idx_listings_search ON listings USING GIN(
to_tsvector('english', name || ' ' || COALESCE(description, ''))
);
PostgreSQL mit PostGIS verarbeitet 100.000+ Einträge ohne zu brechen. Supabase gibt dir dies sofort mit einem großzügigen kostenlosen Tier und skaliert auf Millionen von Zeilen. Dies ist die Art von Datenarchitektur, die wir in unseren Headless-CMS-Entwicklungsprojekten implementieren -- das CMS verwaltet redaktionelle Inhalte, während die Datenbank strukturierte Daten in großem Maßstab verarbeitet.
Trennung von Suche und Speicherung
Lasse deine primäre Datenbank nicht die Suche verarbeiten. Synchronisiere deine Einträge mit einem dedizierten Such-Service:
| Such-Service | Kostenloser Tier | Preisgestaltung ab 10K+ Datensätzen | Latenz | Am besten für |
|---|---|---|---|---|
| Algolia | 10K Suchen/Monat | $1/1K Anfragen + $0,40/1K Datensätze | <50ms | Maximale Geschwindigkeit, Facettierung |
| Typesense | Self-hosted (kostenlos) | Cloud: $29,50/Monat (bis 500K Datensätze) | <50ms | Budget-freundlich, Open Source |
| Meilisearch | Self-hosted (kostenlos) | Cloud: $30/Monat (1M Dokumente) | <50ms | Einfaches Setup, großartige Standardwerte |
| Elasticsearch | Self-hosted (kostenlos) | Elastic Cloud: ~$95/Monat | <100ms | Komplexe Abfragen, reife Ökosystem |
Typesense und Meilisearch haben sich 2025 erheblich weiterentwickelt. Für die meisten Directory-Projekte unter 100K Einträgen bietet dir Typesense Cloud für $29,50/Monat eine sofortige Suche mit Facettierung, Geo-Suche und Typo-Toleranz. Es ist unglaublich schnell.
Der Headless-Ansatz für Directory-Websites
Hier ist die Architektur, die ich für jedes Verzeichnis empfehlen würde, das erwartet, 10.000+ Einträge zu überschreiten:
- Frontend: Next.js oder Astro für die öffentlich zugängliche Website
- CMS: Sanity, Contentful oder Payload für redaktionelle Inhalte (Homepage, About, Blog, Hilfeartikel)
- Datenbank: PostgreSQL (über Supabase oder Neon) für Listing-Daten
- Suche: Typesense oder Meilisearch für Suche und Filterung
- Admin-Interface: Custom Dashboard oder Retool für Listing-Verwaltung
Dies ist die Art von Stack, die wir regelmäßig für Kunden bauen. Das Frontend-Framework verwaltet das Rendering und Routing. Das CMS verwaltet Inhalte, die Redakteure verwalten müssen. Die Datenbank verwaltet die strukturierten, hochvolumigen Listing-Daten. Die Such-Engine verwaltet die Abfragemuster, die Verzeichnisse erfordern.
Mit Next.js erhältst du ISR für Listing-Detail-Seiten (Bauen auf Anfrage, Cache an der Edge, erneut validieren bei Änderung) und Server-Side Rendering für Such-/Filter-Seiten (immer frische Ergebnisse, schnelle Antworten). Mit Astro erhältst du sogar noch schnellere statische Seiten für Einträge, die sich nicht oft ändern, mit Inseln von Interaktivität für Suche und Filterung.
// Next.js App Router: ISR für Listing-Seiten
export async function generateStaticParams() {
// Baue nur die top Einträge für sofortige Ladevorgänge vor
const topListings = await db
.select({ slug: listings.slug })
.from(listings)
.orderBy(desc(listings.pageviews))
.limit(500);
return topListings.map(l => ({ slug: l.slug }));
}
export const revalidate = 3600; // Erneut validieren alle Stunde
export default async function ListingPage({ params }) {
const listing = await db
.select()
.from(listings)
.where(eq(listings.slug, params.slug))
.limit(1);
if (!listing[0]) notFound();
return <ListingDetail listing={listing[0]} />;
}
Warum nicht einfach alles im CMS machen?
Weil CMS-Plattformen für redaktionelle Workflows optimiert sind, nicht für Datenoperationen. Ein CMS gibt dir Rich-Text-Editing, Draft/Publish-Workflows, Content-Planung, Lokalisierung und rollenbasierte Genehmigungen. Diese sind unverzichtbar für Blog-Posts und Marketing-Seiten.
Ein Directory-Listing braucht nichts davon. Es braucht Bulk-Import/Export, strukturierte Validierung (ist dies eine gültige Telefonnummer?), Deduplizierung, automatische Anreicherung (Google Places-Daten abrufen) und die Möglichkeit, 500 gleichzeitige Schreibvorgänge zu verarbeiten, wenn du eine Datenquelle scrapst. Dies sind Datenbankoperationen, keine Content-Operationen.
Der Fehler ist, Content-Management und Data Management zu verwechseln. Es sind verschiedene Probleme mit verschiedenen Lösungen.
Kostenvergleich: CMS vs. Headless vs. Custom
Schauen wir uns die echten monatlichen Kosten für den Betrieb eines Verzeichnisses mit 25.000 Einträgen an:
| Kostenkategorie | Webflow (Enterprise) | WordPress (Optimiert) | Headless (Next.js + Supabase) | Vollständig Custom |
|---|---|---|---|---|
| Hosting/Plattform | $1.250-$4.166/Monat | $100-300/Monat (verwaltetes WP) | $20/Monat (Vercel Pro) | $200-500/Monat (Cloud-Infra) |
| Datenbank | Inbegriffen (begrenzt) | Inbegriffen (MySQL) | $25/Monat (Supabase Pro) | $50-200/Monat (verwaltetes PG) |
| Suche | Nicht nativ verfügbar | $0-95/Monat (Elasticsearch) | $29,50/Monat (Typesense Cloud) | $95-300/Monat (Elasticsearch) |
| CMS | Inbegriffen | Kostenlos (WP-Kern) | $0-99/Monat (Sanity/Payload) | N/A |
| CDN/Edge | Inbegriffen | $0-20/Monat | Inbegriffen (Vercel) | $20-50/Monat |
| Gesamt monatlich | $1.250-$4.166 | $100-415 | $75-175 | $365-1.050 |
| Build-Kosten | $5K-15K | $3K-10K | $15K-40K | $50K-150K+ |
Der Headless-Ansatz hat höhere Anfangsbaukosten als das Zusammenwerfen eines WordPress-Plugins, das ist sicher. Aber die laufenden Kosten sind dramatisch niedriger als Webflow Enterprise, und die Architektur unterstützt tatsächlich Wachstum. Wenn du von 25K auf 100K Einträgen gehst, erhöhst du deinen Supabase-Plan und deinen Such-Tier. Das ist alles. Keine Umstrukturierung, keine Migrations-Panik.
Wenn du auswerten möchtest, was dies für dein spezifisches Projekt kosten würde, schlüsselt unsere Seite "Preisgestaltung" unsere Engagement-Modelle auf, oder du kannst direkt Kontakt aufnehmen, um über die Anforderungen deines Verzeichnisses zu sprechen.
Real-World Migrationspfad
Wenn du bereits an der CMS-Obergrenze festsitzt, hier ist eine praktische Migrationssequenz:
Phase 1: Extrahiere deine Daten (Woche 1-2)
Exportiere alles aus deinem CMS. Webflows API und CSV-Exporte funktionieren. WordPress hat wp-cli export. Bringe deine Einträge in ein sauberes CSV- oder JSON-Format.
Phase 2: Richte die neue Datenschicht ein (Woche 2-3) Importiere in PostgreSQL mit richtiger Schema-Gestaltung. Richte Typesense ein und synchronisiere deine Daten. Überprüfe Such-Qualität und Abfrage-Leistung.
Phase 3: Baue das neue Frontend (Woche 3-8) Baue Suche, Filterung, Listing-Detail-Seiten und Kategorieseiten gegen das neue Backend neu auf. Dies ist, wo Next.js oder Astro glänzt -- du kannst dein bestehendes Design replizieren, während du die Datenbankarchitektur darunter vollständig änderst.
Phase 4: Halte das CMS für das, was es kann (Laufend) Verwende dein CMS für Homepage-Inhalte, Blog-Posts, Hilfeartikel und redaktionelle Inhalte. Lasse die Datenbank Einträge verarbeiten. Sie koexistieren friedlich.
Phase 5: Umleitung und Launch (Woche 8-10) Richte 301-Weiterleitungen von alten URLs ein, überprüfe mit Google Search Console und überwache. Wenn deine URL-Struktur gleich bleibt (was sie sollte), behältst du dein SEO-Eigenkapital.
Häufig gestellte Fragen
Kann Webflow wirklich eine große Directory-Website verarbeiten? Webflow funktioniert gut für Verzeichnisse unter 5.000 Einträgen. Zwischen 5K und 10K wirst du die Leistungsverschlechterung bei Build-Zeiten und Seitenladezeiten spüren. Bei 10.000 erreichst du die harte Obergrenze. Wenn dein Verzeichnis klein bleibt und du Webflows visuelle Design-Tools schätzt, ist es in Ordnung. Wenn du Wachstum erwartest, beginne mit einer anderen Architektur.
Was ist der billigste Weg, um ein Verzeichnis mit 10.000+ Einträgen zu bauen? WordPress mit Directorist auf qualitativ hochwertigem verwalteten Hosting (wie Cloudways oder SpinupWP) kostet etwa $30-50/Monat und kann 10K-50K Einträge mit richtiger Caching und Optimierung verarbeiten. Es ist der billigste Weg. Der Tradeoff sind laufende Wartungssorgen, Plugin-Konflikte und eine Such-Erfahrung, die bloß okay ist, anstatt großartig.
Ist Supabase gut genug für eine Directory-Datenbank? Absolut. Supabase führt PostgreSQL mit PostGIS-Unterstützung, Row Level Security und Echtzeit-Abos aus. Ihr Pro-Plan bei $25/Monat verarbeitet hunderte von tausenden Zeilen ohne Problem. Für die meisten Directory-Projekte unter 500K Einträgen ist es das beste Verhältnis. Du erhältst eine richtige relationale Datenbank mit einer ordentlichen Admin-UI und integrierter API-Schicht.
Wie verwalte ich Suche und Filterung für ein großes Verzeichnis? Verwende nicht deine primäre Datenbank für Suche. Synchronisiere deine Einträge mit Typesense, Meilisearch oder Algolia. Diese Services sind speziell für sofortige, facettierte, typo-tolerante Suche konzipiert. Typesense Cloud beginnt bei $29,50/Monat und verarbeitet bis zu 500K Datensätze. Die Such-Erfahrung wird dramatisch besser sein als alles, was ein CMS nativ bietet.
Sollte ich einen statischen Website-Generator oder Server-Side Rendering für ein Verzeichnis verwenden? Für Listing-Detail-Seiten verwende statische Generierung mit ISR (Incremental Static Regeneration) -- Seiten bauen auf ersten Besuch und cachen an der Edge. Für Such- und Filter-Seiten verwende Server-Side Rendering, damit Ergebnisse immer frisch sind. Next.js App Router unterstützt beide Muster im gleichen Projekt. Astro mit Server Islands ist eine weitere starke Option, wenn dein Verzeichnis mehr lesezentriert ist.
Wie importiere ich 10.000+ Einträge in mein Verzeichnis?
Baue eine Import-Pipeline, keinen manuellen Prozess. Schreibe ein Skript, das deine CSV/JSON-Quelle liest, jeden Datensatz validiert, gegen bestehende Einträge dedupliziert und in deine Datenbank in Batches einfügt. Der COPY-Befehl von PostgreSQL oder die Bulk-Insert-API von Supabase kann 10K Datensätze in Sekunden verarbeiten. Dann triggere eine Synchronisation zu deinem Such-Index. Ich habe Leute sehen, die versuchen, dies über eine CMS-Admin-UI zu tun -- tun Sie das nicht. Es wird ewig dauern und wahrscheinlich timeout.
Was ist mit SEO für Directory-Websites mit tausenden Seiten? Directory-SEO erfordert richtige XML-Sitemaps (in Chunks von max. 50K URLs pro Sitemap-Datei aufgeteilt), eindeutige Meta-Beschreibungen pro Eintrag, strukturierte Daten (LocalBusiness oder Product Schema) und interne Links zwischen Kategorien und Einträgen. Der Headless-Ansatz hilft hier tatsächlich, weil du vollständige Kontrolle über jeden Meta-Tag und jedes Schema-Markup pro Seite hast. Ein CMS limitiert oft, was du pro Seite in großem Maßstab anpassen kannst.
Wann macht es Sinn, vollständig custom zu gehen, anstatt headless? Vollständig custom (alles von Grund auf bauen, einschließlich der CMS/Admin-Schicht) macht Sinn, wenn du über 100K Einträge bist, komplexe Matching-Algorithmen brauchst (wie ein zweiseitiger Marktplatz), Echtzeit-Daten-Feeds benötigst oder einzigartige Geschäftslogik hast, die kein bestehendes Tool verarbeitet. Unter dieser Schwelle bietet eine Headless-Architektur mit einer richtigen Datenbank 90% des Vorteils bei 20% der Kosten. Die meisten Directory-Projekte, die wir sehen, brauchen nicht vollständig custom -- sie brauchen einen gut-architeckturierten Headless-Aufbau.