From 7fa67cb1bd90a3b0e4a755dab6a79f09af003c0f Mon Sep 17 00:00:00 2001 From: aline-pereira Date: Wed, 19 Aug 2026 15:22:29 -0300 Subject: [PATCH] fix(seo): getSiteSeo falls back to lowercase "site" key The decofile block key for the site config is "site" (lowercase) in sites migrated from Fresh/Preact/Deno. getSiteSeo() and the inline equivalent in workerEntry.ts only looked up blocks["Site"] (capital S), silently returning {} and zeroing out the global SEO fallback (title, og:image, og:site_name, etc.) on every page. Fix: try blocks["Site"] first (keeps backward compat with sites that use the capital key), then fall back to blocks["site"]. Reported by: deco-sites/oficina-tanstack#59 --- packages/blocks/src/cms/loader.ts | 2 +- packages/tanstack/src/sdk/workerEntry.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/blocks/src/cms/loader.ts b/packages/blocks/src/cms/loader.ts index 6f99c158..40368134 100644 --- a/packages/blocks/src/cms/loader.ts +++ b/packages/blocks/src/cms/loader.ts @@ -403,7 +403,7 @@ export function getSiteSeo(): { noIndexing?: boolean; } { const blocks = loadBlocks(); - const site = blocks["Site"] as Record | undefined; + const site = (blocks["Site"] ?? blocks["site"]) as Record | undefined; if (!site) return {}; const seo = site.seo as Record | undefined; if (!seo) return {}; diff --git a/packages/tanstack/src/sdk/workerEntry.ts b/packages/tanstack/src/sdk/workerEntry.ts index 712956e9..2537fad1 100644 --- a/packages/tanstack/src/sdk/workerEntry.ts +++ b/packages/tanstack/src/sdk/workerEntry.ts @@ -1976,7 +1976,7 @@ export function createDecoWorkerEntry( // Merge site-wide SEO defaults into seo props const blocks = loadBlocks(); - const site = blocks["Site"] as Record | undefined; + const site = (blocks["Site"] ?? blocks["site"]) as Record | undefined; const fullSiteSeo = (site?.seo as Record) ?? {}; // When SeoV2 loader ran, use its output as base (preserves key order)