diff --git a/apps/web/src/layouts/Layout.astro b/apps/web/src/layouts/Layout.astro index c650545..a592912 100644 --- a/apps/web/src/layouts/Layout.astro +++ b/apps/web/src/layouts/Layout.astro @@ -26,9 +26,12 @@ const canonical = new URL(path, siteUrl).toString(); const socialImage = new URL(image, siteUrl).toString(); const preventIndexing = noindex || path.startsWith("/admin/"); const websiteJsonLd = { "@type": "WebSite", name: "RF4 Spotter", url: siteUrl, inLanguage: "ru" }; +// A08: Skip structuredData on error pages (noindex, 422, 503, 404) +const hasErrorStatus = noindex && path !== "/"; +const jsonLdGraph = (structuredData && !hasErrorStatus) ? [websiteJsonLd, structuredData] : [websiteJsonLd]; const jsonLd = JSON.stringify({ "@context": "https://schema.org", - "@graph": structuredData ? [websiteJsonLd, structuredData] : [websiteJsonLd], + "@graph": jsonLdGraph, }).replaceAll("<", "\\u003c"); ---