mirror of
https://github.com/Such-Software/such.software.git
synced 2026-10-18 05:41:26 +02:00
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:
@@ -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}`;
|
||||
|
||||
Reference in New Issue
Block a user