2026-08-25-seo-audit.md
countries/tn/reports/2026-08-25-seo-audit.md
SEO Audit — tunisie-electricite.com — 2026-08-25
Diffed against reports/2026-08-24-seo-audit.md. Since that audit, both pending
countryos/tn PRs merged to develop on 2026-08-24: #17032 (seo-fixes, annuaire
meta/title trims) and #17084 (content freshness). gh pr list --state open --search "countryos/tn" → empty (first time since the 08-10 run that no TN PR is open).
1. Live site health
All 8 core URLs returned 200 OK (0.09–0.20s): /, /tarifs, /tarifs-gaz,
/steg, /coupures, /annuaire, /sitemap.xml, /robots.txt.
/coupures/tunis and /coupures/medenine/djerba-midoun also 200 (0.10–0.14s).
sitemap.xml = 673 URLs, shape breakdown 7 (depth-2 static) + 316 (depth-3: 7
/steg/* + 24 /annuaire/{gov} + 24 /coupures/{gov} + 261 /{gov}/{delegation})
- 350 (depth-4
/coupures/{gov}/{municipality}) — consistent, every page family covered.robots.txthealthy.
Cache lesson re-applied: the first (non-cache-busted) fetch of
/monastir/sayada-lamta-bou-hajar served the pre-fix 220-char meta and the first
/tarifs /steg greps found nothing — both stale-CDN reads. Every measurement below
is cache-busted (?v=), matching the cf-cache-status lesson from 08-17/08-24.
2. Both merged PRs verified live (not just trusted to have landed)
| Fix | Verdict |
|---|---|
| #17032 annuaire gov meta (24 pages) | fixed: /annuaire/sidi-bouzid meta 151 (was 244 live pre-merge) |
| #17032 annuaire delegation meta (261 pages) | fixed: /monastir/sayada-lamta-bou-hajar meta 145 (was 230 live pre-merge) |
| #17032 annuaire index title | fixed: 54 (was 67) |
#17084 /tarifs verified_at |
landed: renders "barème vérifié le 24 août 2026" |
#17084 /steg ELMED wording |
landed: "Phase d'approvisionnement achevée en juin 2026 … Hitachi Energy … mise en service visée en 2031" |
3. Page audits (13 static pages + templates)
Re-verified every page touched by the 2 merged PRs (7 files) plus the two standing
checks (homepage schema, D-002). All others carried forward from 08-24 (confirmed
untouched via git log origin/develop --since=2026-08-24 on TN paths = only the 2
merged PRs).
| Page | T | M | Score | Δ vs 08-24 |
|---|---|---|---|---|
/ (homepage) |
56 | 148 | 89 | —, 2 JSON-LD (Org+WebSite) still live |
/tarifs |
65 | 140 | 96 | —, verified_at refreshed to 24/08 |
/tarifs-gaz |
62 | 152 | 93 | — |
/coupures |
— | — | 92 | —, unchanged |
/steg |
52 | 157 | 91 | —, chiffres clés + ELMED refreshed |
/steg/raccordement-gaz |
— | — | 90 | — |
/steg/solaire |
— | — | 89 | — |
/steg/service-client |
— | — | 88 | — |
/steg/facture |
61 | 156 | 87 | — |
/steg/raccordement |
— | — | 86 | — |
/steg/numero-vert |
57 | 148 | 84 | —, D-002 still live (1 JSON-LD block only, no FAQPage) |
/mentions-legales |
— | — | 82 | — |
/steg/coupures |
— | — | 80 | — |
/annuaire index |
54 | 155 | 92 | +? title 67→54 |
/annuaire/{gov} (24 pages) |
50 | 151 | 92 | meta 244→151 (worst case Sidi Bouzid) |
/{gov}/{delegation} (261 pages) |
65 | 145 | 90 | meta 230→145 (worst case Sayada Lamta Bou Hajar) |
/coupures/{gov} + /{municipality} |
54/34 | 136/128 | 90+ | —, spot-checked 2, healthy |
Zero title/meta length breaches anywhere — the 285-page annuaire template bug flagged on 08-24 is fully closed, and no content change from #17084 pushed any page over guideline. This is the first run where the annuaire and outage page families are both fully within guideline simultaneously.
4. Directory spot-check
3 random/representative dynamic pages fetched live and verified with real data:
/annuaire/sidi-bouzid (2 agences, 12 délégations — matches governorates.json +
steg_agencies.json), /monastir/sayada-lamta-bou-hajar (5015 postal code in title),
/coupures/tunis (2 JSON-LD: BreadcrumbList + FAQPage). All resolve with real data,
valid title/meta, expected schema.
5. Standing backlog (all non-mechanical / out of TN scope — unchanged)
- [Out of TN scope — D-002]
FAQPageschema regression on/steg/numero-vert(accordion shared component,app/Support/FaqAnswer.php). Register entry stillopen; GitHub issue cms#16773 open; zero commits toFaqAnswer.phporresources/views/components/accordionsince 08-17 (re-checked this run). Nexttn:decisions-escalatere-raise due ~08-27. - [Non-mechanical] ogImage site-wide — still 0/673 pages (13 static + 286 annuaire + 374 outage), 8th run flagged.
- [Non-mechanical] FAQ accordions missing on 6 of 7
/steg/*subpages. - [Housekeeping] D-003 sits
resolvedoutside the## Resolvedsection ofdecisions.md— the relocation sweep flagged since 08-19 still hasn't happened.
Top actions (ranked by impact/effort)
- [Out of scope — escalate via register] D-002
FAQPageregression — the only live defect this audit still knows about. Needs the shared-component owner, not a TN fix. - [Non-mechanical] ogImage site-wide — 8th run flagged; candidates: batch
/generate-article-imagepass (13 static + 24 annuaire gov pages first for leverage). - [Non-mechanical] FAQ sections on the 6 remaining
/steg/*pages — editorial per page, needs a content task. - [Housekeeping] Relocate resolved/rejected entries (
D-003,D-005) under## Resolvedindecisions.md.
Chain decision
0 mechanical items this run — below the ≥2 threshold, and every prior mechanical
debt is now closed and verified live. No trigger of tn:seo-fixes. This is a
genuine "nothing to fix" skip (like 08-10), not a "blocked by an open PR" skip.