Files
ipal-kit/dist/modules/seo/buildFaqJsonLd.js
T

34 lines
1.1 KiB
JavaScript

/**
* Builds FAQPage JSON-LD (schema.org) from Q&A pairs. Google can show these as
* expandable FAQ rich results under the page, taking more SERP space and helping
* with voice/AI answers. Strong for service landing pages.
*
* Feed it the SAME questions/answers rendered on the page (from an FAQ block in
* the panel) — the structured data must match visible content, or Google may
* flag it. Never invent Q&A that isn't on the page.
*
* import { buildFaqJsonLd } from '@intecion/ipal-kit'
* const jsonLd = buildFaqJsonLd(
* faqBlock.items.map(i => ({ question: i.question, answer: i.answer }))
* )
*
* Returns null for empty list.
*/ export function buildFaqJsonLd(items) {
if (!items || items.length === 0) {
return null;
}
return {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: items.map((item)=>({
name: item.question,
'@type': 'Question',
acceptedAnswer: {
'@type': 'Answer',
text: item.answer
}
}))
};
}
//# sourceMappingURL=buildFaqJsonLd.js.map