CI / quality (push) Waiting to run
CI / e2e-and-a11y (push) Blocked by required conditions
CI / lighthouse (push) Blocked by required conditions
CI / android-smoke (push) Waiting to run
CI / pull-request-report (push) Blocked by required conditions
Security / codeql (push) Waiting to run
Security / deps-and-secrets (push) Waiting to run
1.9 KiB
1.9 KiB
name, about, title, labels, assignees
| name | about | title | labels | assignees | |
|---|---|---|---|---|---|
| SEO recettes OG / réseaux sociaux | Métadonnées Open Graph et Twitter par URL /r/... | [SEO] Métadonnées OG/Twitter par recette (/r/...) |
|
Contexte
Les métadonnées Open Graph et Twitter sont définies une seule fois dans apps/web/index.html. Les URLs de recette /r/... doivent exposer titre, description et image adaptés au partage.
Contrainte SPA : modifier <title> ou les meta uniquement en JavaScript après chargement ne suffit souvent pas pour les robots d’aperçu (Facebook, X, LinkedIn) : ils lisent le HTML initial.
Objectif
Pour chaque recette partageable, fournir des métadonnées correctes : og:title, og:description, og:image, og:url, twitter:card (idéalement summary_large_image si visuel adapté), éventuellement canonical.
Options à trancher (documenter le choix dans README ou docs/)
| Approche | Effort | Aperçus réseaux |
|---|---|---|
Pré-rendu statique des routes /r/* au build (catalogue / pipeline recettes) |
Moyen | Bon pour crawlers statiques |
| Middleware / route serveur (Worker, reverse proxy, petite app Node) injectant le HTML minimal avec meta | Variable | Très bon si bien déployé |
| Meta uniquement côté client (Solid) | Faible | Insuffisant pour la majorité des partages |
Données : titres localisés, description courte, images de couverture produites par le pipeline recettes.
Critères d’acceptation
- Partager une URL
/r/...affiche un aperçu avec titre et image recette (validation manuelle : Meta Sharing Debugger / Twitter Card Validator ou équivalent). - Balises OG/Twitter cohérentes (
og:type,og:url, etc.). - Documentation de la stratégie retenue (build vs serveur).
Références
apps/web/index.html- Parcours e2e et URL partagée dans
tests/e2e/builder.e2e.ts