FAQ JSON-LD for answer engines: what worked on aviwebsquad.in

Short answer: Answer-engine optimization here means real FAQ sections in markdown rendered to FAQPage JSON-LD via FaqJsonLdBuilder—plus crawlable HTML so extractors see the same text as humans.

Read alongside crawlable HTML in an Inertia SPA and AI search and helpful content.

What failed before (May 2026)

What we changed

  1. ## FAQ headings in markdown → parsed into JSON-LD
  2. Contact + blog index + category pages ship CollectionPage / ContactPage schema
  3. Build-log posts link internally to related guides

FaqJsonLdBuilder rules (simplified)

Testing

tests/Feature/Seo/CrawlablePagesTest.php asserts application/ld+json on key routes—run before deploy (Pest checklist).

FAQ

Is FAQ schema required for AdSense?

No—but it signals structured, helpful pages when content is actually helpful.

ChatGPT citations?

Unpredictable. Write for humans; schema is hinting, not magic.

Duplicate FAQ on every page?

Bad idea—we only add when the article genuinely answers distinct questions.

Contact page schema

ContactPage + Organization nested under publisher—matches visible address/email in crawlable partial.

BreadcrumbList on categories

Emitted when category has ≥3 posts—skips thin archives aligned with empty category sitemap fix.

Validator workflow

Google Rich Results Test on staging tunnel before deploy; invalid JSON-LD blocked by Pest JSON parse assertion.

FAQ (extended)

Microdata vs JSON-LD?

JSON-LD only—keeps markdown clean.

Overlapping FAQ with article body?

Answers may repeat summary paragraphs; extractors tolerate mild duplication if questions are distinct.