SEO enhancement and agentic browsing updates (#18) (#27)
Unit Tests / test (push) Successful in 3s

## Summary
Closes #18.

- Add per-page titles, meta descriptions, Open Graph/Twitter tags, and canonical URLs on public `base2.html` pages
- Improve semantic structure: skip link, primary nav ARIA, single `<main id="main-content">`, heading hierarchy, descriptive image alts
- Publish `/robots.txt`, `/sitemap.xml`, and `/llms.txt` (linked from site head via `rel="alternate"`)
- Agentic/a11y fixes: membership checkbox label associations, ZIP `name` attribute, layout stability (image aspect-ratio / min-height), footer year without `document.write`
- WebMCP deferred — membership + Stripe checkout remain standard HTML/Stripe flows; no audit flag justified custom MCP surface yet

## Lighthouse / agentic notes
Baseline Lighthouse runs still need Chrome Canary export on staging/prod. Structural SEO/a11y items from the ticket are implemented so follow-up audits can capture before/after scores.

Expected audit wins vs prior minimal `charset`+`viewport` head:
- SEO: unique titles/descriptions, crawl directives, sitemap
- Agentic/a11y: landmarks, labels, CLS-oriented image sizing

## Test plan
- [x] `uv run python manage.py test schasite` (34 passed)
- [ ] Spot-check Home/About/Calendar/Dues/Membership/Board/Links in browser
- [ ] Confirm `/robots.txt`, `/sitemap.xml`, `/llms.txt` on deployed host
- [ ] Run Lighthouse SEO + Agentic browsing on key pages and note before/after pass ratio on the issue

Reviewed-on: #27
This commit was merged in pull request #27.
This commit is contained in:
2026-07-14 05:19:28 -07:00
parent 862b13a666
commit 04c3ac913c
18 changed files with 367 additions and 91 deletions
+20 -1
View File
@@ -10,9 +10,28 @@ section {
scroll-margin-top: 70px;
}
/* Skip link visible when focused */
.visually-hidden-focusable:focus {
z-index: 1080;
}
/* Reserve image space to reduce CLS */
.card-img-top {
aspect-ratio: 16 / 9;
object-fit: cover;
width: 100%;
height: auto;
}
img.img-fluid {
max-width: 100%;
height: auto;
}
/* Hero Section */
#home {
background-color: rgba(var(--bs-success-rgb), 0.1);
min-height: 280px;
}
/* News and Contact Sections */
@@ -43,4 +62,4 @@ section {
.was-validated .form-control:valid,
.form-control.is-valid {
border-color: #198754;
}
}