Why it matters
Each hop costs crawl budget and latency; Google follows up to 10 hops but URL Inspection follows none, and AI crawlers spend ~14% of fetches on redirects.
How to fix it
Redirect straight to the final URL in one hop and update internal links, canonicals and sitemap entries to the final URL.
Example
// next.config.ts — one permanent hop, straight to the destination
const nextConfig: NextConfig = {
async redirects() {
return [{ source: '/old-blog/:slug', destination: '/blog/:slug', permanent: true }] // 308
},
}References
More seo rules
void seo reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.
http-statusPage does not return HTTP 200redirect-temporaryTemporary redirect (302/303/307) usedclient-redirectRedirect done with meta refresh or JavaScriptnoindexIndexable page carries noindexrobots-snippet-restrictednosnippet or a very low max-snippet limits previewssoft-404Missing page returns HTTP 200 (soft 404)html-too-largeUncompressed HTML is over Googlebot's 2 MB fetch limitrsc-payload-ratioInline RSC flight payload dominates the HTML