feat: migrate blog FAQs to reusable MDX accordion

- add Astro MDX support and convert FAQ-bearing posts to MDX
- centralize FAQ markup, scoped styling, behavior, and JSON-LD
- preserve FAQ content and links across English and Spanish posts
- extend blog audits and document the MDX editing workflow
- remove obsolete global FAQ styles
- ignore Front Matter CMS generated state
This commit is contained in:
2026-06-08 15:46:20 -07:00
parent 9678fc9a3c
commit 826d5e8c7d
31 changed files with 1923 additions and 736 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
# Blog Content Audit
Checked 65 blog post bodies for layout content duplicated in Markdown.
Verified 125 FAQ questions across 19 FAQ-bearing posts.
No duplicated article headers were detected.
No duplicated article headers or invalid MDX FAQ components were detected.
+3
View File
@@ -31,5 +31,8 @@
from all 65 blog Markdown bodies; these elements are rendered by the shared
blog-post layout. Updated both extractors and added a blog-content audit to
prevent recurrence.
- Converted 19 FAQ-bearing blog posts to MDX and restored a reusable
`FAQAccordion.astro` component that owns the live-style accordion and
matching `FAQPage` JSON-LD.
- Added language-qualified content collection IDs to prevent English, Spanish,
and Arabic entries with the same slug from overwriting each other.
+3 -1
View File
@@ -44,6 +44,8 @@ Implemented fidelity work includes:
extracted team content as a generic article.
- Rebuilt library indexes and blog-post presentation around the live sidebar,
article list, byline, featured-image, and counter patterns.
- Converted FAQ-bearing posts to MDX and recreated their live-style accordions
with a reusable component that emits matching `FAQPage` JSON-LD.
- Replaced generic oversized cards, rounded controls, and marketing heroes
with live-derived typography, palette, widths, spacing, and compact controls.
- Corrected material live/mirror discrepancies found during the pass,
@@ -115,7 +117,7 @@ unavailable.
- `npm run audit:images`: passed with no missing mapped page banners, section
backgrounds, or blog featured images.
- `npm run audit:blog`: passed with no article-header content duplicated in
blog Markdown bodies.
blog content and valid MDX FAQ components for 125 questions across 19 posts.
- `npm run generate:sitemap`: passed; generated 97 URLs.
- `npm run generate:redirects`: passed.
- All migration `.mjs` tools and the sandbox DNS helper pass `node --check`.
+4 -1
View File
@@ -7,6 +7,8 @@
- 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
@@ -28,4 +30,5 @@
- Organization JSON-LD is emitted globally; service-specific schema still
requires business review.
- Validate social preview images after deployment.
- Add page-specific JSON-LD only after business review of the appropriate schema.
- Add additional page-specific JSON-LD only after business review of the
appropriate schema.