REVUE SEO PAGE
Prérequis
- Liste des routes indexables (sitemap ou inventaire Notion/Airtable)
- Rule `seo-metadata.mdc` dans `.cursor/rules/` ou prête à créer
- Accès preview Vercel ou local pour view-source
- Gouvernance title/description documentée (suffixe marque, longueurs cibles)
Les titles dupliqués, les descriptions tronquées ou absentes passent souvent la CI car aucun test ne parcourt les templates App Router. Cursor, guidé par une rule `seo-metadata.mdc` et une liste de routes indexables, audite `generateMetadata` et les layouts par hub — sans promesse de positionnement, avec validation du HTML rendu.
Cadrer la gouvernance SEO dans une rule
Créez `.cursor/rules/seo-metadata.mdc` avec globs `**/layout.tsx`, `**/page.tsx`, `**/*-template.tsx`. Documentez : longueur title (~60 car.), description (150–160 car.), suffixe marque, usage de `metadataBase` et `alternates.canonical`.
Interdisez descriptions identiques entre hub et fiches, titles du type « Accueil » seul, et `robots: noindex` accidentel sur des pages indexables. Référez le tutoriel seo-geo-checklist-metadata-json-ld pour JSON-LD — ne dupliquez pas toute la spec schema.org dans la rule.
Listez les routes NOINDEX (merci, preview, admin) pour que l’agent ne « corrige » pas des pages volontairement fermées.
Inventorier et corriger par lot
Prompt par hub : l’agent parcourt les exports `metadata` et `generateMetadata`. Demandez un tableau markdown avant toute modification. Validez les propositions côté PO ou SEO référent.
Appliquez les corrections par PR thématique (`fix(seo): metadata academy hub`). Un hub = une PR reviewable. @mentionnez les fichiers de contenu si title/description viennent du CMS (`src/content/**`).
Pour les pages dynamiques `[slug]`, vérifiez le fallback quand le contenu manque un champ SEO : la rule doit imposer un title explicite, pas undefined.
Valider le rendu HTML
Sur preview : view-source ou inspect de `<title>`, `<meta name="description">`, `<link rel="canonical">`. Les valeurs Next peuvent différer du TS si un layout enfant override.
Testez une URL par template (listing, fiche, hub). Complétez avec Rich Results Test si JSON-LD est couplé (voir checklist dédiée).
Exportez le tableau d’audit vers Notion pour suivi éditorial si des descriptions attendent validation client.
Erreurs fréquentes
Copier la même description sur toutes les fiches tutoriel « pour aller vite ».
Oublier `metadataBase` : canonicals relatifs incorrects en preview.
Title dynamique sans troncature : coupé brutalement dans les SERP.
Modifier metadata dans un Client Component : build error ou export ignoré.
Confondre og:title marketing et title SEO sans stratégie claire.
Ce qu’il faut retenir
Rule `seo-metadata.mdc` + liste routes indexables = audit reproductible.
Passage par hub, tableau avant diff, PR thématiques.
Une intention par URL ; validation view-source obligatoire.
Complément JSON-LD via checklist dédiée, pas de promesse de ranking.
FAQ
Exportez le tableau markdown généré par l’agent vers votre base éditoriale. Le suivi des validations client reste hors Cursor ; l’agent prépare le inventaire.
Oui si vous @mentionnez le fichier. Rappelez dans la rule de ne pas fetch inutilement : préférez les données déjà chargées par la page quand c’est possible.
Préférez @folder par segment de routes. @codebase uniquement pour trouver des templates metadata dispersés (layouts nested profonds).