From 745a5ff9fd4c0695b8b6329d1d216a404fda76de Mon Sep 17 00:00:00 2001 From: IK Date: Thu, 10 Sep 2026 06:12:32 +0700 Subject: [PATCH] A08: Skip misleading structuredData on error pages - Dataset/CollectionPage not rendered on noindex error pages (422/503/404) - WebSite schema always present for navigation - noindex + nofollow on error/admin pages - canonical URL consistent with trailingSlash: never policy - Astro check: 0 errors --- apps/web/src/layouts/Layout.astro | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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"); ---