# 05 — Meta descriptions : troncature systématique à 157 caractères

> **Spec** : `<meta name="description">` — tier **recommended**
> **Verdict** : 🟠 **PARTIAL** · **Priorité : P2** (à traiter avec l'[issue 04](04-titles.md), mêmes templates)
> **Effort estimé** : 0,5 jour (fix du helper) + passe éditoriale

## Ce qui est conforme

Une meta description **présente et unique sur chaque page échantillonnée**, pré-rendue serveur, exactement une par page. Bons exemples existants :

- `/tarifs` — 155 car., propre, se termine sur « Devis gratuit. » ✓
- `/` — 141 car., front-loaded, spécifique ✓ (`Destruction de nids de guêpes et frelons en Seine-et-Marne (77), Essonne (91), Val-de-Marne (94). 25 ans d'expérience. Intervention sous 24h.`)
- `/blog` — 144 car. ✓

## Problème 1 — Bug de troncature aveugle

Plusieurs pages ont une description coupée **en plein mot à exactement 157 caractères** — signature d'une troncature automatique (`substring(0, 157)`) dans le template, pas d'une rédaction :

| Page | Fin de la description émise | Longueur |
|---|---|---|
| `/presentation` | `…professionnelles. 25` | 157 |
| `/presentation-chenilles-processionnaires` | `…Expertis` | 157 |
| `/liens-divers` | `…vos événements` | 157 |
| `/blog/nouvelles-especes-frelons` | `…Guide complet d'iden` | 157 |
| `/contact` | `…guêpes, frelon` | 157 |

## Problème 2 — Dépassements sur les pages départements

| Page | Longueur | Contenu |
|---|---|---|
| `/nid-…-seine-et-marne-77` | **194** | avec emojis ✅/☎ et numéro de téléphone |
| `/nid-…-seine-saint-denis-93`, `/nid-…-val-de-marne-94` | 192 | idem |
| `/nid-…-essonne-91` | 191 | idem |
| `/nid-…-paris-75` | 190 | idem |

## Impact

- Une description coupée mid-word (`…Expertis`) est le cas d'école que Google **réécrit** : le site perd le contrôle de son snippet.
- À 190+ caractères, Google tronque à ~160 : le call-to-action final (téléphone, « intervention 24h ») disparaît systématiquement.
- Les emojis en description sont généralement filtrés par Google — caractères gaspillés.

## Correctif

1. **Supprimer la troncature automatique** dans le helper SEO. Une description trop longue à la source doit être **réécrite**, pas coupée. En attendant la réécriture, si un fallback automatique est indispensable, couper à la dernière **fin de phrase** avant 160 caractères — jamais mid-word.
2. **Réécrire les descriptions hors gabarit** (cible **120-160 caractères**, front-loaded, se terminant sur une phrase complète) :
   - Pages départements : `Destruction de nids de guêpes et frelons en <Dept> (<NN>). Intervention sous 24h, 25 ans d'expérience, devis gratuit. Agréé Certibiocide.` (~140) — sans ✅/☎ ni numéro.
   - Pages tronquées (`/presentation*`, `/contact`, `/liens-divers`, blog concernés) : réécrire à la main.
3. **Garde-fou au build** : warning Gatsby si description < 70 ou > 160 caractères, ou si elle ne se termine pas par `.`/`!`/`?`.

## Vérification

```bash
grep -rhoP '(?<=name="description" content=")[^"]+' public/**/index.html \
  | awk '{ print length"\t"$0 }' | sort -rn | head -30
```
- Aucune ≥ 161, aucune se terminant mid-word, aucune exactement à 157 (signature du bug), zéro emoji.
- Unicité : aucune description dupliquée entre pages (surtout sur les 622 pages villes : vérifier qu'elles restent localisées, pas un template figé).
