0% 5h quota used · resets in 2h live · 08/09/2026 12:12 CEST

2026-08-10-seo-audit.md

countries/tn/reports/2026-08-10-seo-audit.md

seo-audit tn written 10/08/2026 10:13 ← previous seo-audit next seo-audit →

SEO Audit — tunisie-electricite.com — 2026-08-10

Diffed against reports/2026-08-04-seo-audit.md. git log origin/develop --since=2026-08-04 -- sites/tunisie-electricite.com departments/tunisia-energy returns two commits, both already known and expected to have landed:

  • efa0fef6405 — PR #12649 ("[tn] SEO fixes 2026-07-27"), merged 2026-08-04 10:35 UTC (a few hours after the last audit ran) — the mechanical fixes carried in that PR since 07-27: sitemap generators for /coupures/*, title/meta template rewrites for the outage pages, homepage Organization/WebSite JSON-LD, and the 2 static-page title trims.
  • bb71ff45bac — PR #14134 ("[tn] Content freshness 2026-08"), merged earlier — the /steg ELMED accuracy fix and the dead source-link removal on /tarifs.

Both are content/template changes, so every page they touched was re-verified live rather than carried forward. No open countryos/tn PR exists (gh pr list checked first) — the backlog from the last 4 audits is, for the first time, actually clear.

1. Live site health

All 16 checked URLs returned 200 OK, response times 0.14–0.62s (no cold-cache spike this time). sitemap.xml and robots.txt both healthy.

URL Status
/, /tarifs, /tarifs-gaz, /steg, /coupures, /annuaire, /sitemap.xml, /robots.txt 200
/steg/coupures, /steg/facture, /steg/numero-vert, /steg/raccordement, /steg/raccordement-gaz, /steg/service-client, /steg/solaire, /mentions-legales 200

2. Page audits (13 static pages)

Page Score Δ Note
/tarifs 96 +1 dead steg.com.tn/clients_res/... source link removed (PR #14134); title 65, meta 140
/tarifs-gaz 93 unchanged
/coupures 92 unchanged
/steg 91 ELMED bullet corrected (PR #14134, factual accuracy, not an SEO score driver); title 52, meta 157
/steg/raccordement-gaz 90 +6 title fixed 76→52 chars (was the last open title outlier)
/steg/numero-vert 90 only /steg/* subpage with FAQPage schema
/steg/solaire 89 +7 title fixed 71→51 chars
/steg/service-client 88 unchanged
/steg/facture 87 unchanged
/steg/raccordement 86 unchanged
/mentions-legales 82 unchanged, low-priority legal page
/steg/coupures 80 still no schema beyond breadcrumb
/ (homepage) 89 +13 Organization + WebSite JSON-LD added (was the only page with zero structured data) — confirmed live, 2 application/ld+json blocks

Directory templates (/annuaire/*, 1+24+261 = 286 pages): unchanged, ~85/100, BreadcrumbList confirmed present.

Outage pages (/coupures/{gouvernorat}[/{municipality}], 374 pages) — re-scored this run, both systemic gaps from 07-27/08-04 now closed:

  • Sitemap: grep -c '/coupures/' sitemap.xml374 (was 0). Total sitemap URLs now 673.
  • Title/meta length: re-verified against the actual longest names in outage-governorates.php/outage-municipalities.php (not just the audit's worst-case example, per the 07-27 lesson) — worst case is now exactly 65 chars for the longest municipality title ("El Achech Boujarboue El Aouadna Majel Eddarj", Sfax — the same name that drove the 07-27 template redesign) and 60 chars for the longest governorate title ("Sidi Bouzid"). Both fit under the 65-char guideline, no page in the family exceeds it.
  • Estimated family score: ~90/100 (up from an effective ~65-70 while both gaps were open).

3. Directory spot-check (5 pages)

/annuaire/le-kef, /le-kef/nebeur, /annuaire/gafsa, /gafsa/metlaoui, plus a correctness check on /coupures/la-manouba/oued-ellil (the outage-page governorate slug is la-manouba, not manouba — same class of slug-guessing mistake flagged in two earlier journal entries, caught before it was reported as a false 404) — all 200, real data, correct title/meta.

4. Fix-tracking — both open PRs from the last 2 runs are now merged and verified live

  • PR #12649 (07-27 seo-fixes): merged 2026-08-04, all 4 fixes confirmed live (§2 above, §1 sitemap check).
  • PR #14134 (08-04 content-freshness): merged, both fixes confirmed live (ELMED bullet on /steg, dead link removed from /tarifs).

This is the first audit since tracking started (07-02) where every previously-open mechanical item is closed and no countryos/tn PR is sitting in review.

5. Still open — non-mechanical, unchanged

  • ogImage: still 0/13 static pages + 0/374 outage pages (og:image absent from <head> on both / and /tarifs, spot-checked). Flagged 5 runs running now — needs a /generate-article-image pass, not a text edit.
  • FAQ accordions on /steg/* subpages: only /steg/numero-vert has FAQPage schema. /steg/facture, /steg/raccordement, /steg/raccordement-gaz, /steg/service-client, /steg/solaire, /steg/coupures (6 pages) have none. Content-structure work, needs editorial judgment — not auto-appliable per the monorepo skill's own rules (schema/new-section additions are explicitly excluded from quick-win auto-apply).
  • /steg/coupures still has no on-page schema beyond the breadcrumb (subset of the FAQ point above — it has no FAQ section to generate FAQPage schema from).

Top actions (ranked by impact/effort)

  1. [Non-mechanical] ogImage site-wide — highest page-count impact (387 pages with none), needs /generate-article-image, 5th run flagged.
  2. [Non-mechanical] Add FAQ sections (→ FAQPage schema) to the 6 /steg/* subpages that lack one — editorial content work.
  3. No mechanical items this run — nothing left in the backlog that a text-only fix can address.

Chain decision

Zero mechanical items found this run (both prior PRs merged and verified; the only two remaining gaps — ogImage, FAQ content — are explicitly non-mechanical per the skill's own definition). Per the skill's threshold (chain only when ≥2 mechanical items), did not trigger tn:seo-fixes. No open PR exists either, so this isn't a "wait for review" skip like the last 2 runs — it's a genuine clean backlog.