Aller au contenu

CMS et Content Collections

Mapper les entrées CMS non fiables vers des entrées explicites à une frontière de validation.

Validation locale — Les builders rejettent les propriétés inconnues et exposent safeParse() pour les données externes.

Schema.org — Le vocabulaire décrit le sens des propriétés ; il ne garantit aucun affichage dans un moteur.

Éligibilité Google — Les exigences Google sont supplémentaires et peuvent évoluer. Un balisage valide ne garantit jamais un résultat enrichi.

  • Une URL canonique et un baseUrl fiables.
  • Des données visibles, actuelles et issues de votre source métier.
  • Les builders liés: Article.
  1. Article — nœud principal
import { Article } from '@unschema-graph/core';
const entity = Article({
"headline": "Structured data with Astro",
"image": "/images/structured-data.jpg",
"datePublished": "2026-09-29",
"author": "Ada Lovelace"
});

Validez d’abord la collection, mappez uniquement les champs connus, puis appelez safeParse() et associez les erreurs à l’identifiant.

const result = Article.safeParse(cmsData);
if (!result.success) {
throw new Error(result.error.issues.map((issue) => issue.message).join('\n'));
}
const graph = buildJsonLdGraph([result.data], { baseUrl: 'https://example.com' });
Astro Svelte 5 / SvelteKit Core
<Schema items={items} /> <Schema items={items} /> serializeJsonLd(buildJsonLdGraph(items))
  1. Déverser tout l’objet CMS dans un builder strict. Comparez la donnée source, le résultat de safeParse() et le JSON-LD du HTML construit.
  2. Remplacer silencieusement une donnée obligatoire absente. Comparez la donnée source, le résultat de safeParse() et le JSON-LD du HTML construit.
  3. Faire confiance au texte riche ou aux URL sans validation. Comparez la donnée source, le résultat de safeParse() et le JSON-LD du HTML construit.
  1. Exécutez safeParse() à la frontière des données.
  2. Inspectez le script du HTML construit.
  3. Lancez unschema-graph audit sur le dossier de sortie.
  4. Schema.org / official documentation.
  • Le contenu balisé est visible et actuel.
  • Chaque identité réutilisable possède un @id stable.
  • La validation locale et l’audit du build passent.
  • Les limites de garantie sont comprises.

Approfondir: graphes et références, validation, audit CLI.