SEO: FAQ schema, per-product OG cards, stable sitemap dates

- Add FAQPage structured data + visible FAQ sections to Wownerogue, Webshops,
  Neroswap, and Services (covers high-intent 'provably fair', 'no-KYC', and
  'revenue share' style queries; visible Q&A matches the schema).
- Generate branded 1200x630 OG cards per product and wire them into each
  product page's openGraph + twitter (summary_large_image), replacing the
  square app icons that previously got cropped in social previews.
- Sitemap: stop stamping every static page with new Date() on each build; use
  a single content-update date so freshness signals are not diluted.
This commit is contained in:
jwinterm
2026-06-01 10:39:27 -04:00
parent f51a1257c5
commit 97a8026ed6
21 changed files with 165 additions and 26 deletions
+13
View File
@@ -70,6 +70,19 @@ export function softwareAppLd(opts: SoftwareAppOpts) {
return data;
}
/** FAQPage node. Pair it with the SAME questions/answers rendered visibly on the page. */
export function faqLd(items: { q: string; a: string }[]) {
return {
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: items.map((it) => ({
"@type": "Question",
name: it.q,
acceptedAnswer: { "@type": "Answer", text: it.a },
})),
};
}
/** BlogPosting node for an article page. */
export function articleLd(opts: { title: string; description: string; slug: string; date: string }) {
const url = `${SITE}/blog/${opts.slug}`;