From 4bca9c97c9a0da0c167d3edb27f9ec336495bad8 Mon Sep 17 00:00:00 2001 From: Adrian Bonpin Date: Sat, 9 May 2026 15:12:55 +0800 Subject: [PATCH] fix: prevent localhost from being used as sitemap base URL --- lib/sitemap/generate-static.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/sitemap/generate-static.ts b/lib/sitemap/generate-static.ts index e2f9604..b7aa204 100644 --- a/lib/sitemap/generate-static.ts +++ b/lib/sitemap/generate-static.ts @@ -4,7 +4,18 @@ import { db } from "@/lib/db/index" import { games, hardware } from "@/lib/db/schema" import { or, ne, isNull } from "drizzle-orm" -const BASE_URL = process.env.NEXT_PUBLIC_SITE_URL ?? "https://deckyvault.xyz" +const PRODUCTION_URL = "https://deckyvault.xyz" + +function getBaseUrl(): string { + const envUrl = process.env.NEXT_PUBLIC_SITE_URL + // Never use localhost for sitemaps — they're for production search engines + if (envUrl && !envUrl.includes("localhost") && !envUrl.includes("127.0.0.1")) { + return envUrl.replace(/\/$/, "") + } + return PRODUCTION_URL +} + +const BASE_URL = getBaseUrl() const MAX_URLS_PER_SITEMAP = 45000 // Leave buffer below 50k limit interface SitemapEntry {