Conception de la collection de contenu du blog
Décision
- Gérer les articles de blog en fichiers Markdown/MDX sous
/blog. - Utiliser le schéma de frontmatter suivant :
title(obligatoire, string)description(optionnel, string)publishedAt(obligatoire, date)updatedAt(optionnel, date)draft(optionnel, boolean, valeur par défautfalse)tags(optionnel, string[])image(optionnel, string)noindex(optionnel, boolean, valeur par défautfalse)lang(optionnel, string, valeur par défautja)slug(optionnel, string, dérivé du nom de fichier s’il est omis)prev(optionnel,true | false | string, contrôle explicitement le lien précédent)next(optionnel,true | false | string, contrôle explicitement le lien suivant)
- Suivre la stratégie d’URL i18n en dérivant les URL à partir de
lang+slug. Utiliser le mêmeslugpour les traductions. - Trier les listes par
publishedAtet utiliserupdatedAtpour l’affichage « dernière mise à jour ». - Traiter
draftcomme un indicateur d’exclusion des listes/flux/cibles de build. - Traiter
noindexcomme une métadonnée indiquant l’exclusion de l’indexation par les moteurs de recherche.
Contexte
Un schéma cohérent est nécessaire pour générer de manière fiable les listes, les pages de détail et les métadonnées SEO sur le long terme. La conception doit s’aligner avec l’approche i18n (japonais par défaut, langues supplémentaires dans des sous-répertoires).
Options
- Markdown/MDX avec Content Collection
- CMS headless externe
- Gestion manuelle en JSON/TS
Justification
- Markdown/MDX garde la rédaction et la revue légères.
- Les schémas de Content Collection fournissent une validation au moment du build.
- Les champs explicites
langetslugmaintiennent des URL cohérentes alignées sur la stratégie i18n.
Conséquences
- Tous les articles de blog doivent respecter le schéma ci-dessus.
- Les règles d’exploitation pour
draftetnoindexdoivent être partagées comme critères de publication. - Ajouter de nouvelles langues impose de créer des traductions avec des valeurs de
slugidentiques.
hsb.horse