From 47bd4bf53ff4dc1d5c835561e0ef7d38cc098c37 Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 8 May 2026 19:42:22 +0200 Subject: [PATCH] Expose /sitemap.xml for Bing + IndexNow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Astro's sitemap integration emits /sitemap-index.xml + /sitemap-0.xml. Bing Webmaster Tools and IndexNow probe /sitemap.xml literally, so a request for the canonical name was 404'ing. Two changes: - astro.config.mjs: add a 301 redirect /sitemap.xml → /sitemap-index.xml (alongside the existing / → /en/ redirect) - public/robots.txt: list both Sitemap URLs so any crawler that reads robots.txt finds an entry it can use directly After production redeploys (`docker compose up -d --build`), submit https://nibiru-framework.com/sitemap.xml in Bing Webmaster Tools — it'll follow the 301 and ingest the index. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/astro.config.mjs | 4 ++++ docs/public/robots.txt | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index f36d427..272692c 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -15,6 +15,10 @@ export default defineConfig({ devToolbar: { enabled: false }, redirects: { '/': '/en/', + // Bing/Yandex/IndexNow probe /sitemap.xml directly. Astro's sitemap + // integration emits sitemap-index.xml + sitemap-0.xml; add a 301 so + // either path resolves. Both are also referenced in robots.txt. + '/sitemap.xml': '/sitemap-index.xml', }, integrations: [ AstroPWA({ diff --git a/docs/public/robots.txt b/docs/public/robots.txt index 19f0a20..eeb2fa0 100644 --- a/docs/public/robots.txt +++ b/docs/public/robots.txt @@ -115,4 +115,9 @@ Allow: / Disallow: /api/ # ── Sitemaps ─────────────────────────────────────────────────────────────── +# /sitemap.xml is a 301 to /sitemap-index.xml (Astro emits the index +# automatically + one child sitemap-0.xml). Both URLs are listed so any +# crawler that probes either path lands on the same content. Bing's +# Webmaster Tools and IndexNow tend to look for /sitemap.xml literally. +Sitemap: https://nibiru-framework.com/sitemap.xml Sitemap: https://nibiru-framework.com/sitemap-index.xml