---
title: "URL reaches its content through more than one redirect (seo/redirect-chain)"
description: "seo/redirect-chain: Each hop costs crawl budget and latency; Google follows up to 10 hops but URL Inspection follows none, and AI crawlers spend ~14% of…"
canonical: https://void-design.vercel.app/rules/seo/redirect-chain
lastModified: 2026-09-16
---

# URL reaches its content through more than one redirect

`seo/redirect-chain` · severity **warn** · category SEO · detected by `void seo` and `void audit`

## 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

```ts
// 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

- https://developers.google.com/search/docs/crawling-indexing/301-redirects
- https://vercel.com/blog/the-rise-of-the-ai-crawler

## 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-status` Page does not return HTTP 200 — [seo/http-status](https://void-design.vercel.app/rules/seo/http-status)
- `redirect-temporary` Temporary redirect (302/303/307) used — [seo/redirect-temporary](https://void-design.vercel.app/rules/seo/redirect-temporary)
- `client-redirect` Redirect done with meta refresh or JavaScript — [seo/client-redirect](https://void-design.vercel.app/rules/seo/client-redirect)
- `noindex` Indexable page carries noindex — [seo/noindex](https://void-design.vercel.app/rules/seo/noindex)
- `robots-snippet-restricted` nosnippet or a very low max-snippet limits previews — [seo/robots-snippet-restricted](https://void-design.vercel.app/rules/seo/robots-snippet-restricted)
- `soft-404` Missing page returns HTTP 200 (soft 404) — [seo/soft-404](https://void-design.vercel.app/rules/seo/soft-404)
- `html-too-large` Uncompressed HTML is over Googlebot's 2 MB fetch limit — [seo/html-too-large](https://void-design.vercel.app/rules/seo/html-too-large)
- `rsc-payload-ratio` Inline RSC flight payload dominates the HTML — [seo/rsc-payload-ratio](https://void-design.vercel.app/rules/seo/rsc-payload-ratio)

Detected by `void seo` and `void audit`. Explain it in a terminal: `void rules seo/redirect-chain`
