← 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 →