Files
ben-to/docs/tickets/issue-seo-recipe-og.body.md
2026-07-21 16:50:58 +02:00

31 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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 daperç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 dacceptation
- [ ] 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`