Files
aia-website/www/reports/seo-audit.md
T

110 lines
6.3 KiB
Markdown

# SEO Audit
## Preserved
- Canonical clean paths verified from the live public site are preserved for core pages and library posts.
- Extracted titles, meta descriptions, H1 text, featured images, and image alt text are stored in content frontmatter.
- Shared templates emit canonical, Open Graph, and Twitter card metadata.
- Library index layouts emit language-correct canonical URLs.
- Blog posts emit article metadata and semantic publication dates.
- Blog FAQ components emit `FAQPage` JSON-LD derived from the same MDX item
data used for the visible accordion.
- `robots.txt` and sitemap generation are included.
- The live navigation hierarchy, clean English/Spanish/Arabic routes, and
current library listing structure were checked against the public site during
the fidelity pass.
- Page-layout banners use the current visible public H1 rather than the longer
SEO title, and duplicate extracted page H1s were removed.
## Cleanup
- HubSpot `?hsLang=...` duplicates are excluded from generated routes.
- AMP variants are excluded because Astro pages are responsive and static.
- Historical note: the initial migration did not preserve Blog pagination or
author archives. Phases 6B.2 and 6B.3 replaced that limitation with generated
English, Spanish, and Arabic Library/author routes derived from the eligible
content catalog. Phase 6C supplied the nine missing source-supported English
articles, so `/library/page/6` and
`/library/author/rula-diab/page/6` now derive from the complete 55-record
English catalog instead of manual route records.
- Library and author `/page/1` duplicates are represented by nine synchronized
repository redirect definitions, including the three existing service
aliases. Redirect activation on deployed hosts remains separately gated.
- `/search` is a static Library-only compatibility route. It is self-canonical,
`noindex`, sitemap-excluded, and outside the hreflang graph.
- Brief aliases `/aba`, `/autismevaluations`, and `/learnersocialclub` redirect to preserved source URLs.
## Manual Review
- Verify canonicals for pages not sampled during the live fidelity pass.
- Review titles and descriptions that may have been affected by incorrect HubSpot language canonicals.
- Organization JSON-LD is emitted globally; service-specific schema still
requires business review.
- Validate social preview images after deployment.
- Activate and verify the approved redirects on the intended hosting stack.
- Decide and test host-level no-slash normalization for prerendered routes;
Astro's static output does not enforce that transport behavior by itself.
- Complete editorial, clinical, and organizational review of the nine Phase 6C
articles and manually accept both generated English page-6 routes before
cutover.
- Author archives remain `noindex,follow`, sitemap-excluded, and without
hreflang pending separate content/indexability approval.
- Add additional page-specific JSON-LD only after business review of the
appropriate schema.
## Phase 6C.3 article metadata update — 2026-10-12
The complete 74-record Library corpus was compared with the accepted public
evidence after Phase 6C.2. Seven remaining public H1 differences now use the
existing `displayH1` field, and the four truncated English descriptions now
match their full public values. Sixty same-language records received explicit
`updatedDate` values supported by matching BlogPosting metadata in two bounded
evidence passes. The newly translated Arabic antecedent/consequence record is
the sole deliberate omission because the public Arabic route still represents
the superseded article and cannot support a modification date for the new
translation.
The modification metadata does not participate in Library or author sorting;
the catalog remains ordered by original publication date and normalized route.
Article hero descriptions now propagate consistently to rendered image alt,
`og:image:alt`, and `twitter:image:alt`. The two syndicated English records keep
their external canonicals, noindex policy, sitemap exclusion, and other
publication exceptions.
The dated source evidence and complete route matrix are in
`phase-6c3-source-evidence-2026-10-12.json` and
`phase-6c3-metadata-reconciliation-2026-10-12.md`. Public HubSpot timestamps are
recorded as metadata evidence and are not described as proof that every CMS
update was a substantive editorial revision.
## Phase 6C.5 final verification — 2026-10-13
The generated corpus has 121 unique canonical targets, 74 Library articles,
72 eligible BlogPosting entities and 182 visible/schema-aligned FAQ answers on
30 articles. The two syndicated articles retain their external canonicals and
schema exclusions. The play/leisure closing CTA was removed from its last FAQ
answer and restored after the accordion, matching the public component boundary.
All 74 original publication dates match the selected source evidence at calendar
date resolution; 73 supported modification dates remain, with the new Arabic
antecedent/consequence translation intentionally undated as a revision.
The indexing-enabled build retains 107 sitemap URLs, 174 hreflang links on 53
routes and nine noindex author archives. The final staging build restores 121
`noindex,nofollow` pages, an empty sitemap and no hreflang. Nine redirect
definitions remain unchanged and are not activated by this audit. The final
report separates technical readiness from outstanding clinical, translation,
accessibility, landing-page ownership and production-hosting approval gates.
## Phase 7 Spanish privacy publication — 2026-10-14
The recovered `/es/privacy-policy` page adds one self-canonical eligible route
and validates the existing English policy's explicit translation relationship.
Current indexing-enabled totals are 122 HTML routes/unique canonical targets,
108 sitemap URLs and 180 hreflang links across 55 routes. The two policy pages
each expose English, Spanish and x-default; no other relationship changed.
Library inventory/search remains 74 records (55/12/7), with nine author archives
and nine unchanged redirect definitions. Final staging output has 122
noindex,nofollow pages, empty sitemap and zero hreflang. Spanish policy SEO
wording was localized because the observed Spanish source used English metadata;
its legal body and February 2025 date were preserved. Privacy/legal and fluent
Spanish review remain prerequisites for release, independent of technical SEO.