feat(seo): reconcile URLs and author page-one redirects

This commit is contained in:
DeCentN2Madness committed 2026-10-11 00:43:45 +00:00
1 parent 8646792d46
commit 8192ea71c4
11 files changed
+689 -77

No files matched your search

+49 -47
View File
@@ -3,10 +3,10 @@
**Last updated:** October 10, 2026 (UTC)
**Repository:** `AIAMarketing/azinstitute4autism.com`
**Working branch:** `faithful-astro-migration`
**Last accepted implementation:** Phase 6B.3 — Author Archives and Linked Bylines
**Verified pre-commit parent:** `0957c06a18726a01531f5b46a1d74bc67aa58f60`
**Last accepted implementation:** Phase 6B.4 — URL and SEO Reconciliation
**Verified pre-commit parent:** `8646792d46a8a117ef617f5dd2582c2550b45d19`
**Implementation checkpoint:** the commit containing this handoff update; obtain its actual SHA from Git history
**Next planned milestone:** Phase 6B.4 — URL and SEO Reconciliation
**Next planned milestone:** Phase 6B.5 — Multilingual, RTL, Accessibility, and Performance Acceptance
> This is a short, continually updated orientation document, not a replacement for
> the code, accepted project instructions, or detailed migration evidence.
@@ -39,43 +39,37 @@
containing this handoff, with pre-commit parent
`0957c06a18726a01531f5b46a1d74bc67aa58f60`.** The file intentionally does
not invent the containing commit's SHA; verify it from Git history.
- **Phase 6B.4 URL and SEO reconciliation: accepted in the checkpoint containing
this handoff, with pre-commit parent
`8646792d46a8a117ef617f5dd2582c2550b45d19`.** The file intentionally does
not invent the containing commit's SHA; verify it from Git history.
Other earlier milestones and acceptance details are recorded in
`www/reports/migration-summary.md`. Keep phase checkpoints separate.
### Phase 6B.3 accepted behavior
### Phase 6B.4 accepted behavior
- **65 eligible Library posts:** 46 English, 12 Spanish, seven Arabic.
Author archive pagination is 10/10/10/10/6 English, 10/2 Spanish, and seven
Arabic, producing eight routes without a fabricated English page 6.
- Generated author routes are English `/library/author/rula-diab` plus pages
2–5, Spanish `/es/library/author/rula-diab` plus page 2, and Arabic
`/ar/library/author/rula-diab`.
- Exact locale/slug author resolution now supplies archives, Library cards,
full-post bylines, catalog metadata, and BlogPosting identity. Published
localized headings and biographies are stored in the author collection; the
verified 755-pixel portrait is self-hosted. Underlying Person identity stays
separate from credentialed presentation text and from Team membership.
- Archive bylines link to the correct locale route. Author archives remain
self-canonical, `noindex,follow`, sitemap-excluded, and hreflang-excluded in
indexing-enabled builds. Existing Library roots, search, pagination,
syndicated exceptions, and article schema remain intact.
- Automated acceptance: 31 Library, 34 SEO, 33 publication, and 20 Markdown
tests; 39 headless Chromium checks; clean route/link/image/blog audits; 110
HTML routes, 97 indexing-enabled sitemap URLs, and 174 hreflang links across
53 routes. The final staging build has all 110 pages `noindex,nofollow`, an
empty sitemap, and no hreflang.
- The user separately completed the Phase 6B.3 manual browser checklist for all
three languages, first/final pages, biography/portrait, bylines, mobile, RTL,
keyboard focus, and existing Library behavior. No screen-reader test,
professional language approval, or organizational credential verification
is claimed.
- Spanish and Arabic biographies/headings remain ready for human language
review; public biographical, credential, role, and employment claims remain
ready for organizational review if required.
- Phase 6B.2's three Library `/page/1` redirect definitions remain repository
artifacts only. They have not been activated on deployed staging or
production hosts.
- The repository contains nine validated 301 definitions: three legacy service
aliases, three Library `/page/1` aliases, and three author `/page/1` aliases.
An isolated nginx instance verified every destination and final target. None
has been activated on a deployed host.
- Schema-2 offline reconciliation records 133 route/query dispositions using
70 previously saved production requests. It distinguishes inherited public
observations, current generated output, and repository-only redirects.
- The publication baseline remains 110 generated HTML routes, eight author
routes, 97 indexing-enabled sitemap URLs, and 174 hreflang links on 53
routes. Canonical, robots, sitemap, translation, syndicated-article, and
structured-data policies remain unchanged.
- Automated acceptance includes zero Astro diagnostics; 33 Library, 34 SEO,
33 publication, 20 Markdown, and 10 route tests; both build modes; clean
route/link/image/blog audits; isolated nginx checks; and representative
desktop/mobile headless Chromium checks. The final staging build has all 110
pages `noindex,nofollow`, an empty sitemap, and no hreflang.
- The user's staging inspection found five representative no-slash URLs
redirecting to slash forms. `/search` also showed an HTTPS-to-HTTP-to-HTTPS
chain. The user accepted deferral of this temporary Docker/nginx behavior;
correct slashless serving and redirect activation must be separately
implemented and verified on the eventual Contabo VPS before cutover.
- No production deployment or cutover has been authorized.
## Ratified Library rules to retain
@@ -99,13 +93,14 @@ Other earlier milestones and acceptance details are recorded in
- Do not manufacture missing content or redirect distinct later pagination
pages to earlier pages.
## Next: Phase 6B.4 — URL and SEO Reconciliation
## Next: Phase 6B.5 — Multilingual, RTL, Accessibility, and Performance Acceptance
Prepare a bounded, separately reviewed Phase 6B.4 kickoff from the latest
committed source. Reconcile URL, canonical, sitemap, and redirect behavior,
including the three author `/page/1` aliases. Do not activate repository
redirects on deployed hosts without a separate approval gate. Phase 6B.5 then
handles multilingual, RTL, accessibility, and performance acceptance.
Address the three accepted multilingual defects through a bounded, separately
reviewed milestone: Arabic footer contact direction; the high-priority
author-archive language selector; and locale-appropriate desktop, mobile, and
footer destinations. Visitor navigation may use explicitly validated locale
counterparts while author SEO hreflang remains disabled unless separately
approved.
## Outstanding blockers and subsequent milestones
@@ -113,9 +108,11 @@ handles multilingual, RTL, accessibility, and performance acceptance.
source before `/library/page/6` and
`/library/author/rula-diab/page/6` can be accepted for cutover.
Do not generate empty substitutes or misleading redirects.
2. **Phase 6B.4:** Complete URL, canonical, sitemap, and redirect reconciliation,
including author first-page aliases; host activation requires separate
approval.
2. **Hosting gate:** The repository's nine redirects are not active on deployed
hosts. The eventual Contabo nginx configuration must eliminate the observed
trailing-slash and HTTPS-to-HTTP chain, preserve queries and locales,
implement approved aliases, and verify real HTTP 301/404 behavior before
cutover.
3. **Phase 6B.5:** Multilingual, RTL, accessibility, and performance acceptance.
This includes human review of Spanish/Arabic content and three newly observed
defects: Arabic footer contact direction, an apparently unresponsive Arabic
@@ -125,14 +122,19 @@ handles multilingual, RTL, accessibility, and performance acceptance.
but those are hypotheses requiring targeted verification. Visitor language
navigation may use explicitly validated published counterparts without
enabling author hreflang, indexing, or sitemap participation.
4. **Later phases:** Other content and language reconciliation (including
Spanish and Arabic operational text and author biographies still require
human language review; public author claims may require organizational
approval.
4. **Author SEO decision:** Author archive indexing, sitemap participation, and
hreflang remain deferred human-decision gates.
5. **Later phases:** Other content and language reconciliation (including
missing Spanish privacy content), visual/accessibility review, operational
integration decisions, and cutover.
5. Site remains primarily live on HubSpot; production-origin freshness is not
6. Site remains primarily live on HubSpot; production-origin freshness is not
proved by cached prerender responses. Stage locally or at
`aia.web3app.dev` without activating production forms, analytics,
advertising tags, or new PHI flows.
6. AIA general ABA ages are **18 months through 8 years**; narrower programs
7. AIA general ABA ages are **18 months through 8 years**; narrower programs
have their own eligibility and should not be conflated.
## Working protocol and handoff maintenance