110 lines
6.3 KiB
Markdown
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.
|