diff --git a/src/app/robots.ts b/src/app/robots.ts index de3c501fe..b789b51ea 100644 --- a/src/app/robots.ts +++ b/src/app/robots.ts @@ -72,11 +72,13 @@ export default function robots(): MetadataRoute.Robots { // they ignore a single sitemap.xml pointer to an index. Listing // each sub-sitemap here also keeps coverage if the index is // temporarily stale at a CDN edge. + // Note: sitemap-products-sg.xml is intentionally omitted — SG product + // pages return 410 Gone (BUY-37747/BUY-37750) and the route returns 410, + // so listing it creates a permanent broken-sitemap reference in GSC. sitemap: [ "https://buywhere.ai/sitemap.xml", "https://buywhere.ai/sitemap-pages.xml", "https://buywhere.ai/sitemap-products.xml", - "https://buywhere.ai/sitemap-products-sg.xml", "https://buywhere.ai/sitemap-merchants.xml", "https://buywhere.ai/sitemap-categories.xml", "https://buywhere.ai/sitemap-compare.xml", diff --git a/src/app/sitemap.xml/route.ts b/src/app/sitemap.xml/route.ts index e6c94e891..d7dda8295 100644 --- a/src/app/sitemap.xml/route.ts +++ b/src/app/sitemap.xml/route.ts @@ -12,12 +12,15 @@ export const runtime = "nodejs"; export async function GET(): Promise { const now = new Date(); + // Sub-sitemaps listed here. sitemap-products-sg.xml is intentionally + // omitted: SG product slug pages return 410 Gone (BUY-37747/BUY-37750) + // and the /sitemap-products-sg.xml route emits 410, so listing it in the + // index produces a permanent broken-sitemap reference in GSC coverage. const sitemapEntries = [ { url: `${SITEMAP_BASE_URL}/sitemap-pages.xml`, lastModified: now }, { url: `${SITEMAP_BASE_URL}/sitemap-categories.xml`, lastModified: now }, { url: `${SITEMAP_BASE_URL}/sitemap-compare.xml`, lastModified: now }, { url: `${SITEMAP_BASE_URL}/sitemap-products.xml`, lastModified: now }, - { url: `${SITEMAP_BASE_URL}/sitemap-products-sg.xml`, lastModified: now }, { url: `${SITEMAP_BASE_URL}/sitemap-merchants.xml`, lastModified: now }, ];