Sitemap URLs point to redirects
What this means
Section titled “What this means”Sitemap URLs should point directly to the final, canonical version of each page. If an entry redirects, Googlebot must follow the redirect before it can process the page. This wastes a small amount of crawl budget on each request, but more importantly it signals that your sitemap is out of sync with your actual URL structure.
How to fix it
Section titled “How to fix it”Update each redirecting sitemap entry to use the final destination URL directly.
First, identify which URLs are redirecting:
orino audit --url https://yourdomain.comFor each flagged URL, trace where it ends up:
curl -IL --max-redirs 10 https://yourdomain.com/old-pathUse the final Location: value as the updated sitemap entry.
Static sitemap
Section titled “Static sitemap”Edit sitemap.xml and replace the old URL with the final destination:
<!-- Before --><url> <loc>https://yourdomain.com/old-path</loc></url>
<!-- After --><url> <loc>https://yourdomain.com/new-path</loc></url>Next.js App Router
Section titled “Next.js App Router”Update the URLs returned by app/sitemap.ts to use the current canonical paths:
export default function sitemap() { return [ { url: 'https://yourdomain.com/new-path', // previously /old-path lastModified: new Date(), }, ]}SvelteKit
Section titled “SvelteKit”Update the data source in your src/routes/sitemap.xml/+server.ts endpoint to use current slugs.
Nuxt and Astro
Section titled “Nuxt and Astro”Update the data source your sitemap configuration reads from. If slugs changed in your CMS, update the generator to use the new values.
Verify the fix
Section titled “Verify the fix”After updating, confirm each previously-redirecting URL now resolves directly to 200:
curl -o /dev/null -s -w "%{http_code}" https://yourdomain.com/new-pathRe-run orino audit to confirm the check passes.