Schema validation fixes — visible Q&As, Article images, WebSite name
What was done
Ryan ran the eight-page schema validation suite from a separate Claude session. Zero failures, eight warnings — all addressed in this commit.
- Homepage WebSite schema name.
src/pages/index.astro— added"name": "Bailey Engineering"to the WebSite JSON-LD literal. One-line fix. - Article schema image on every Dev.IQ article. Google’s Article rich-result eligibility prefers a
imageproperty at minimum 1200px wide. Wired the existing site OG landscape (1200×630 jpg, already generated by Astro’s image pipeline for Open Graph) into Article schema across three surfaces:src/components/FaqArticle.astro— covers all collection-driven FAQ articles (currently cost, plus all 9 stub-state collection articles when their.mdfiles exist)src/pages/dev-iq/faqs/feasibility-studies.astro— the one hardcoded FAQ article that bypasses FaqArticlesrc/pages/dev-iq/seo-plan.astro— the SEO Plan page Article schema
- Visible Q&As on
/dev-iq/faqs/hub. The 6 entity-defining Q&As (“Who is Bailey Engineering?” / “Where does Bailey work?” / etc.) were emitted as FAQPage schema in the prior commit but the answers weren’t visible on the page. Google’s policy since 2023 requires FAQPage content to be visible to users; rich-result eligibility is fragile without it. Added an “About Bailey Engineering — quick answers” section between the hero and filter chips, rendered as a<dl>two-column grid that reads the same data the schema does (single source of truth — the schema and visible content can’t drift). - Visible Q&As on
/dev-iq/seo-plan/. Replaced the prose methodology paragraphs with a Q&A<dl>rendering the same 3 questions the FAQPage schema declares (“What is AI SEO?”, “Why does Bailey Engineering publish its SEO progress publicly?”, “How does Bailey measure AI visibility?”). Same single-source-of-truth pattern.
Build verified: 184 pages built clean. Spot-check confirms "@type":"WebSite","name":"Bailey Engineering" on homepage, "image":"https://baileyengineers.com/_astro/og-landscape...jpg" on every Article schema, and visible body text mirroring schema text on both the FAQ hub (entity Q&As appear twice in HTML — once in JSON-LD, once in <dl>) and seo-plan page (methodology Q&As same).
Why
Schema that asserts content not visible on the page is a fragile rich-result candidate — Google may accept it but will sometimes flag it as a “Content mismatch” warning in Search Console, and they’ve gradually tightened enforcement since 2023. The fix isn’t to remove the schema (the AI-visibility upside is exactly why we ship it); it’s to render the content so the schema and the page agree. The <dl> rendering also adds reader value — humans landing from a search result get the entity-defining context immediately instead of having to click through to a deeper article.
The Article image gap was lower-stakes (Google prefers, doesn’t require) but the fix was free since the OG landscape image is already part of the build pipeline.
Files affected
Created:
src/content/devlog/2026-04-28-schema-validation-fixes.md— this entry
Modified:
src/pages/index.astro— addednameto WebSite schemasrc/components/FaqArticle.astro— addedimageto Article schema (covers all collection articles)src/pages/dev-iq/faqs/feasibility-studies.astro— addedimageto Article schemasrc/pages/dev-iq/seo-plan.astro— addedimageto Article schema, replaced methodology prose with visible Q&A<dl>mirroring schemasrc/pages/dev-iq/faqs/index.astro— added “About Bailey Engineering” visible Q&A section + supporting CSS
What’s next
Re-run the validator after deploy to confirm warnings cleared:
python tools/validate_schema.py --bailey
Expected result: zero failures, zero warnings, all pages emit the same schema as before with visible content now matching.