Programmatic SEO bezeichnet das automatisierte Erzeugen vieler einzelner Landingpages aus einer zentralen Datenquelle. Statt jede Seite von Hand zu bauen, definieren Sie ein Template, hinterlegen die Daten in einer Liste - und Ihr Generator erstellt daraus hunderte fertige, indexierbare URLs.
Astro eignet sich dafür besonders gut, weil es jede dieser Seiten als statisches HTML ausliefert. Über getStaticPaths und Content Collections bauen Sie aus einer JSON- oder YAML-Datei ein komplettes Seitennetzwerk, das schnell lädt und sauber rankt. Dieser Artikel zeigt Schritt für Schritt, wie das funktioniert.
Was Programmatic SEO genau ist
Die Idee ist simpel: Es gibt Suchanfragen, die nach dem gleichen Muster funktionieren, sich aber nur in einem Wert unterscheiden. "SEO Agentur Nürnberg", "SEO Agentur Fürth", "SEO Agentur Erlangen" - dieselbe Struktur, andere Stadt. Für jede dieser Anfragen eine eigene optimierte Seite zu pflegen, wäre von Hand kaum zu schaffen.
Programmatic SEO löst das, indem es Template und Inhalt trennt. Das Template bleibt gleich, die Daten kommen aus einer Tabelle. Bekannte Beispiele sind Immobilienportale mit einer Seite pro Stadtteil oder Vergleichsportale mit einer Seite pro Produktkombination. Große Anbieter erzeugen so zehntausende Seiten aus einem einzigen Datensatz.
Für kleinere Projekte reicht oft ein Bruchteil davon. Wer auch ohne Astro tiefer einsteigen will, findet die strategischen Grundlagen in unserem Artikel zu Programmatic SEO für KMUs.
Warum Astro Content Collections ideal dafür sind
Astro ist ein Static Site Generator, der standardmäßig kein JavaScript an den Browser sendet. Jede generierte Seite ist fertiges HTML - genau das, was Suchmaschinen und KI-Crawler am liebsten lesen. Bei hunderten programmatisch erzeugten Seiten zahlt sich das aus, weil jede einzelne ohne Render-Verzögerung sofort verfügbar ist.
Content Collections sind Astros typsicheres System für strukturierte Inhalte. Sie definieren ein Schema mit Zod, und Astro prüft beim Build, ob jeder Eintrag die erwarteten Felder enthält. Fehlt bei einem von 300 Datensätzen das Feld stadt, bricht der Build mit einer klaren Fehlermeldung ab. Bei programmatischen Seiten ist diese Validierung Gold wert, denn ein einziger Tippfehler in den Daten würde sonst leise eine kaputte Seite erzeugen.
Warum Astro grundsätzlich eine starke Basis für SEO ist, erklären wir ausführlich in Astro als SEO-freundlicher Static Site Generator.
Datenquelle aufbauen: JSON, YAML oder CSV
Am Anfang steht die Datenquelle. Für die meisten KMU-Projekte reicht eine einzige strukturierte Datei. Welches Format Sie wählen, hängt davon ab, wer die Daten pflegt:
- JSON ist die direkteste Wahl, wenn Daten aus einer API oder einem Export kommen. Astro importiert sie ohne Zusatzpaket.
- YAML ist angenehmer zu lesen und zu editieren, ideal wenn Sie selbst Hand anlegen.
- CSV lohnt sich, wenn die Inhalte aus einer Tabellenkalkulation stammen - etwa eine Excel-Liste mit Standorten.
Ein typischer JSON-Datensatz für Standortseiten könnte so aussehen:
[
{ "slug": "nuernberg", "stadt": "Nürnberg", "einwohner": 523000 },
{ "slug": "fuerth", "stadt": "Fürth", "einwohner": 129000 },
{ "slug": "erlangen", "stadt": "Erlangen", "einwohner": 116000 }
]
Entscheidend ist der slug: Er wird später zur URL. Achten Sie auf Kleinschreibung, keine Umlaute und einen Bindestrich statt Leerzeichen, damit die URLs sauber bleiben.
Praxis-Tipp: Pflegen Sie die Datenquelle in einer Tabelle und exportieren Sie sie als JSON. So können auch Teammitglieder ohne Code-Kenntnisse neue Einträge anlegen, ohne das Template zu berühren.
Das getStaticPaths-Pattern mit Beispiel
Der Kern jeder programmatischen Seite in Astro ist die Funktion getStaticPaths. Sie läuft zur Build-Zeit, liest Ihre Datenquelle und sagt Astro: erzeuge für jeden Eintrag eine eigene Seite mit dieser URL und diesen Daten.
Eine Datei src/pages/seo/[slug].astro mit einem Datenimport sieht so aus:
---
import staedte from "../../data/staedte.json";
export function getStaticPaths() {
return staedte.map((ort) => ({
params: { slug: ort.slug },
props: { ort },
}));
}
const { ort } = Astro.props;
---
<h1>SEO Agentur in {ort.stadt}</h1>
<p>Lokale Suchmaschinenoptimierung für Unternehmen
in {ort.stadt} mit {ort.einwohner.toLocaleString()} Einwohnern.</p>
Aus drei Datensätzen entstehen so drei statische HTML-Seiten unter /seo/nuernberg/, /seo/fuerth/ und /seo/erlangen/. Fügen Sie einen vierten Eintrag in die JSON-Datei ein, erzeugt der nächste Build automatisch die vierte Seite. Genau hier liegt der Hebel: eine neue Seite pro Datenzeile, ohne zusätzlichen Code.
Wer mit Content Collections statt einer rohen JSON-Datei arbeitet, ersetzt den Import durch getCollection() und gewinnt die erwähnte Schema-Validierung dazu.
Template-Qualität statt Thin Content
Hier liegt die größte Gefahr von Programmatic SEO: Wenn sich Ihre 300 Seiten nur im Stadtnamen unterscheiden, erkennt Google das als Thin Content oder Doorway Pages - und straft im schlimmsten Fall die gesamte Domain ab. Allein die Stadt austauschen reicht nicht.
Eine gute programmatische Seite mischt deshalb feste und variable Inhalte:
- Eindeutige Daten pro Seite. Reichern Sie jeden Datensatz mit echten Fakten an - lokale Referenzen, spezifische Zahlen, regionale Besonderheiten.
- Variierende Textbausteine. Hinterlegen Sie mehrere Formulierungsvarianten und verteilen Sie sie, damit nicht jeder Absatz identisch klingt.
- Echter Nutzwert. Jede Seite sollte eine Frage beantworten, die ein Suchender wirklich stellt.
Faustregel aus der Praxis: Wenn Sie eine Seite löschen würden und niemand sie vermissen würde, war sie Thin Content. Eine sinnvolle programmatische Seite trägt mindestens 300 bis 500 Wörter echten, ortsbezogenen Inhalt. Mehr zum Format und seinen Stärken lesen Sie in unserem Überblick zu Static Site Generatoren und SEO.
Wann sich Programmatic SEO für KMU lohnt
Nicht jedes Unternehmen braucht hunderte Seiten. Der Ansatz lohnt sich, wenn drei Bedingungen zusammenkommen: Es gibt ein wiederkehrendes Suchmuster, es existiert echtes Suchvolumen pro Variante, und Sie können jede Seite mit eigenem Inhalt füllen.
Konkrete Fälle, in denen sich der Aufwand auszahlt:
- Standortseiten für Dienstleister, die mehrere Städte oder Stadtteile bedienen.
- Branchen- oder Leistungskombinationen, etwa "Steuerberatung für Zahnärzte" pro Berufsgruppe.
- Produktvarianten mit jeweils eigener Suchnachfrage.
Ein regionaler Handwerksbetrieb, der zehn umliegende Orte bedient, kann mit zehn sauberen Standortseiten oft mehr lokale Sichtbarkeit gewinnen als mit einer einzigen allgemeinen Seite. Bei vielleicht 15 bis 30 gut gepflegten Seiten bleibt der Aufwand überschaubar und die Qualität hoch.
Skeptisch sollten Sie werden, wenn die Variation rein künstlich ist - etwa Seiten für 50 Orte, in denen Sie gar nicht aktiv sind. Dann produzieren Sie Ballast, den Google früher oder später abwertet.
Programmatic SEO mit Astro ist also kein Trick, um Masse zu erzeugen, sondern eine effiziente Methode, echten Bedarf strukturiert zu bedienen. Wer Template-Qualität und saubere Daten ernst nimmt, baut sich damit ein skalierbares Seitennetzwerk, das schnell lädt und langfristig rankt.