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

2026-09-07-seo-audit.md

countries/tn/reports/2026-09-07-seo-audit.md

seo-audit tn written 07/09/2026 06:03 ← previous seo-audit

SEO Audit — tunisie-electricite.com — 2026-09-07

Diffed against reports/2026-08-31-seo-audit.md. Two things landed since then, and this run verified both live rather than trusting the merges.

git log origin/develop --since=2026-08-31 on TN paths → one commit: 6222c3da04f (PR #18264, the local faq-schema component for /steg/numero-vert, merged 2026-09-02). Shared files behind the TN-002 regression (app/Support/FaqAnswer.php

  • resources/views/components/accordion) → one commit: a1b113ff29b (PR #18655, merged 2026-09-01), which root-caused and fixed the fleet-wide bug TN-002 was a workaround for. No other open countryos/tn PR except the content calculator (below).

The TN-002 arc is fully closed — and so is its root cause

/steg/numero-vert now emits a 5-question FAQPage live (cache-busted): FAQPage=1, Question=5, Answer=5, BreadcrumbList=1. The local faq-schema component from PR #18264 works.

Separately, PR #18655 (Aurian, merged 2026-09-01) found the real root cause of the shared FaqAnswer regression that TN-002 had to work around: a \v in a PCRE whitespace class that, since PCRE 7.2, means vertical whitespace (including the 0x85 NEL byte) rather than the vertical tab that was meant — so every UTF-8 char carrying a 0x85 continuation byte (Arabic م, Greek υ, Nordic Å, …) got a space punched into it, json_encode() returned false, and the whole FAQPage block vanished. Blast radius was 173 pages across 11 sites (3 on tunisie-electricite.com). The fix narrows \v\x0B and degrades the accordion per item instead of per page.

Consequence for TN: the local faq-schema duplication (PR #18264) is now technically redundant — the shared component is fixed. It is also harmless and battle-tested (site-scoped, only shadows numero-vert), so retiring it is a cleanup decision, not a defect. Worth a future tn:seo-fixes when there's another mechanical item to batch with it; do not rush it.

1. Live site health

All 8 core URLs 200 OK: /, /tarifs, /tarifs-gaz, /steg, /coupures, /annuaire, /sitemap.xml, /robots.txt. Homepage 4.09s on the first (cold) hit; everything else 0.09–0.99s.

2. Page audits — carried forward, standing checks re-measured

All 13 static pages + 3 template families carried forward (scores unchanged; the only content diff is the numero-vert FAQ fix). Re-measured title/meta across 13 URLs with node, entities decoded:

Check Result
Title length (13 URLs) max 65 (/tarifs, /monastir/sayada-lamta-bou-hajar) — at guideline, ok
Meta length (13 URLs) max 157 (/steg) — within 160
/annuaire/sidi-bouzid meta 151 — #17032 fix holding
/monastir/sayada-lamta-bou-hajar meta 145 — #17032 fix holding
/steg/numero-vert FAQPage 1 block, 5 questions — TN-002 closed ✓
/tarifs FAQPage (shared accordion) 1 — intact post-#18655
/coupures FAQPage (shared accordion) 1 — intact post-#18655
sitemap.xml 673 URLs (374 /coupures/*) — stable
homepage JSON-LD 2 blocks (Organization + WebSite) — intact
homepage og:image absent (12th run flagged)

Zero title/meta length breaches. The annuaire + outage page families remain fully within guideline.

3. Directory spot-check

/annuaire/sidi-bouzid (meta 151), /monastir/sayada-lamta-bou-hajar (title 65, meta 145), /coupures/tunis and /coupures/medenine/djerba-midoun (2 JSON-LD each) — all resolve with real data, valid title/meta.

New page pending review (not yet live)

/calculateur-facture-steg (PR #19418, countryos/tn/2026-09-05-content-…) is still a draft PR, not merged — confirmed live 404, expected. It is the tn:content run's output (STEG bill simulator), not a mechanical SEO item, so it is out of scope for tn:seo-fixes. Score it in the audit after it merges, and grade its traffic at merge+28d per the tn:content skill.

Top actions (ranked by impact/effort)

  1. [Non-mechanical] ogImage site-wide — still 0/673 pages, 12th run flagged. Same candidate as before: a batch /generate-article-image pass (13 static + 24 annuaire governorate pages first). Needs a dedicated task.
  2. [Non-mechanical] FAQ sections on the 6 remaining /steg/* subpages (only /steg/numero-vert has FAQ content). Candidate for tn:content (one page/month).
  3. [Cleanup, low priority] Retire the local faq-schema.blade.php duplication now that the shared FaqAnswer fix (#18655) has landed — verify /steg/numero-vert works via the shared :schema="true" path again, then delete the local component and revert the numero-vert.blade.php change. Not urgent; batch with the next mechanical fix.
  4. [Housekeeping] TN-003 is resolved but physically sits above the ## Resolved heading of decisions.md — the relocation sweep flagged since 08-19 still hasn't happened. Zero site impact; trivial markdown move.

Chain decision

No tn:seo-fixes trigger. 0 mechanical items found this run — the single mechanical defect that existed (TN-002) was already fixed by PR #18264 (verified live). The one open countryos/tn PR (#19418) is a content PR, not a seo-fixes PR, so it does not block anything here. This is a genuine "nothing to fix" skip, like 08-10 and 08-25.