Design der Blog-Content-Collection
Entscheidung
- Blogartikel werden als Markdown/MDX-Dateien unter
/blogverwaltet. - Es gilt folgendes Frontmatter-Schema:
title(erforderlich, string)description(optional, string)publishedAt(erforderlich, date)updatedAt(optional, date)draft(optional, boolean, Standardfalse)tags(optional, string[])image(optional, string)noindex(optional, boolean, Standardfalse)lang(optional, string, Standardja)slug(optional, string, bei Auslassung vom Dateinamen abgeleitet)prev(optional,true | false | string, steuert den vorherigen Link explizit)next(optional,true | false | string, steuert den nächsten Link explizit)
- Gemäß i18n-URL-Strategie werden URLs aus der Kombination
lang+slugabgeleitet. Übersetzungen verwenden denselbenslug. - Listen werden nach
publishedAtsortiert; für die Anzeige „zuletzt aktualisiert“ wirdupdatedAtverwendet. draftdient als Flag, um Artikel aus Listen/Feeds/Build-Zielen auszuschließen.noindexist Metadaten-Hinweis, dass der Artikel nicht von Suchmaschinen indexiert werden soll.
Kontext
Für den langfristigen Blogbetrieb wird ein konsistentes Schema benötigt, damit Listen, Detailseiten und SEO-Metadaten zuverlässig erzeugt werden. Das Design muss mit der i18n-Strategie übereinstimmen (Japanisch als Standardsprache, weitere Sprachen in Unterverzeichnissen).
Optionen
- Markdown/MDX mit Content Collection
- Externes Headless-CMS
- Manuelle Verwaltung per JSON/TS
Begründung
- Markdown/MDX hält Erstellung und Review leichtgewichtig.
- Content-Collection-Schemata liefern Validierung zur Build-Zeit.
- Explizite Felder
langundslugsichern konsistente URLs im Einklang mit der i18n-Strategie.
Konsequenzen
- Alle Blogartikel müssen dem obigen Schema folgen.
- Betriebsregeln für
draftundnoindexmüssen als Veröffentlichungskriterien geteilt werden. - Beim Hinzufügen weiterer Sprachen müssen Übersetzungen mit identischem
slugerstellt werden.
hsb.horse