[object Object]

← back to Thesetdecorator

backlog: loop #7 (sr-only h1) + queue visible-h1 follow-up + audited-clean notes

72384dfe636511b15cbfc1ac2b0877a9a4c57518 · 2026-06-03 10:44:51 -0700 · Steve

Files touched

Diff

commit 72384dfe636511b15cbfc1ac2b0877a9a4c57518
Author: Steve <steve@designerwallcoverings.com>
Date:   Wed Jun 3 10:44:51 2026 -0700

    backlog: loop #7 (sr-only h1) + queue visible-h1 follow-up + audited-clean notes
---
 YOLO_BACKLOG.md | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/YOLO_BACKLOG.md b/YOLO_BACKLOG.md
index fa83e6e..b0c56ca 100644
--- a/YOLO_BACKLOG.md
+++ b/YOLO_BACKLOG.md
@@ -105,13 +105,34 @@ reversible local commit** marked `[x]` w/ hash, then ScheduleWakeup ~1800s.
   from any page AND absent from the 3124-URL sitemap. Public pages untouched. Idempotent
   `scripts/noindex-internal-pages.py`. **Static files — land via the same queued deploy.**
 
+## Done (cont.) — 2026-06-03 loop #7 (h1 presence)
+- [x] **sr-only h1 on 11 zero-h1 pages** — `91e0945` · DTD verdict **B** (Claude+Codex 2/2).
+  art-prints, best-sellers, catalog, films, print, roster, sdsa, trades, videos, vintage,
+  wall-treatments had NO h1 (visible title was a bare h2). Added `<h1 class="sr-only">`
+  (page name from first h2, entity-decoded) inside `<main>` — one h1 per page, zero
+  rendered change. Chose B over A (promote visible h2→h1) because autonomous = no visual
+  QA. Idempotent `scripts/add-sr-only-h1.py`. **Static files — same queued deploy.**
+
+### Audited clean / noted — 2026-06-03 (loop #7)
+- **Meta descriptions**: every indexable page has a unique one; only art-review/popout/
+  sent-to-exa lack it and those are noindex'd internal tools. No duplicates. Clean.
+- **`<title>` uniqueness**: all 44 unique, none empty/generic. Clean.
+- **`<main>` landmark / icon-button labels**: only sent-to-exa lacks `<main>` (noindex'd
+  internal); icon buttons all labeled. Minor, not pursued.
+- **NOTED (pre-existing, low-pri):** popout.html has 4 `<h1>` (JS-templated, noindex'd
+  internal popup). Multiple-h1 on a noindex utility — left alone.
+
 ## Notes / queued-for-Steve (gated — do NOT auto-do)
-- **DEPLOY thesetdecorator** to land ALL three SEO improvements on prod —
+- **(follow-up, needs your eyeball)** Promote the visible title h2→h1 on the 11 pages from
+  loop #7 (DTD option A) so the main heading is a *visible* h1, not just sr-only. Held back
+  because it needs font-size pinned across `.rail-header`/`.flow` wrappers and I can't QA
+  typography autonomously. The sr-only h1 already fixes the SEO/a11y defect; this is polish.
+- **DEPLOY thesetdecorator** to land ALL SEO/a11y improvements on prod —
   `cd ~/Projects/thesetdecorator && bash ~/Projects/_shared/scripts/deploy.sh` (or `/deploy`).
-  Lands `6c2469c` (canonical-dedup fix) + `77538fb` (interior breadcrumbs, server.js) +
-  `97279e5` (noindex on 5 internal pages, static .html) in one deploy. All verified locally.
-  Until deployed, prod still serves double canonicals on 16 routes, no interior breadcrumbs,
-  and the 5 internal tools remain indexable.
+  Lands `6c2469c` (canonical-dedup, server.js) + `77538fb` (interior breadcrumbs, server.js)
+  + `97279e5` (noindex 5 internal pages, static) + `91e0945` (sr-only h1 on 11 pages, static)
+  in one deploy. All verified locally. Until deployed, prod still serves double canonicals
+  on 16 routes, no interior breadcrumbs, indexable internal tools, and 11 pages with no h1.
 - **FINDING (pre-existing, not auto-fixed):** the dedicated `/catalog` route (server.js ~L182)
   serves catalog.html directly and never calls renderWithSEO, so catalog's rich ItemList
   JSON-LD (the `if (slug==='catalog')` branch, ~L283) is **unreachable dead code** for the

← 91e0945 TSD a11y/SEO: add sr-only h1 to 11 zero-h1 content pages (DT  ·  back to Thesetdecorator  ·  TSD SEO: add 16 missing public pages to sitemap.xml (DTD ver 9715274 →