Skip to content
Server & hosting

Redirect Chains: The Hidden Delay Before the First Byte

Every redirect costs a round trip before the first byte. Learn how to detect HTTP, www and slug chains and reduce them to a single hop without losing SEO value.

12 min read RedirectsTTFBWeiterleitungenHTTPLadezeit

Before the browser can process the first line of a page's HTML, the server has to respond. A redirect wedges a complete extra round right in front of that moment: the browser requests a URL, receives a status code with a new address instead of content, and has to start over. Every such redirect creates an additional HTTP request-response cycle and can delay loading by hundreds of milliseconds (Chrome DevTools). Chains of several redirects are especially insidious because they pile up over the years: from HTTP to HTTPS, from the non-www to the www variant, from an old to a new slug. Lighthouse marks the corresponding audit as failed from two redirects (web.dev) onward. This article shows how redirects work technically, how chains form and how to reduce them to a single hop without losing SEO value.

Key takeaways

  • Every redirect creates a full additional request-response cycle including DNS, TCP and TLS and can delay loading by hundreds of milliseconds (Chrome DevTools). That time is spent before the first byte arrives.
  • Lighthouse marks the audit against multiple redirects as failed from two redirects (web.dev) onward; the recommendation is at most one (web.dev). So not every redirect has to disappear – every chain has to be resolved.
  • Chains form unplanned: HTTP to HTTPS, non-www to www, old slug to new, trailing-slash normalization. Each rule makes sense on its own, yet in sum a single request passes through three or four stations before reaching its target.
  • The status code decides the SEO effect, not the load time: 301 and 308 are permanent, 302 and 307 temporary, and both 307 and 308 preserve the HTTP method (IETF RFC 9110, IETF RFC 7538). Every code costs the same round trip.
  • HSTS saves the HTTP-to-HTTPS hop on return visits, and the preload list even on first contact (IETF RFC 6797). A chain becomes visible with curl -IL or in the network panel of the developer tools – test the address the way visitors type it.

What a Redirect Costs Technically

A redirect is not a small detour but a full additional network operation. When the browser requests a URL and the server answers with status code 301 or 302 plus a Location header, the browser has not yet received a single byte of the actual content. It has to read the new address from the header and run the entire connection setup again: DNS resolution if the target is on a different domain, TCP connection, TLS handshake and finally server processing. Only after that does the work begin that would have happened immediately without the redirect. This is exactly why every redirect costs hundreds of milliseconds (Chrome DevTools) and pushes back the start of rendering. That time is spent before the first byte and cannot be recovered by even the best frontend optimization.

The effect intensifies on mobile connections. A single round trip on a cellular network takes considerably longer than on a fixed line depending on the cell and its load, and a redirect adds at least one such round trip. If the redirect target sits on a new hostname variant, a fresh DNS resolution and a new TLS handshake are added, increasing the time lost further. Because server response time feeds directly into Largest Contentful Paint, every unnecessary redirect measurably worsens the Core Web Vitals. Anyone who wants to understand how strongly this first section dominates the overall value will find the breakdown in our analysis of LCP across four phases: the time to the first byte is the first and often largest sub-part, and redirects inflate precisely that.

From a Single Hop to a Chain

A redirect chain rarely forms on purpose. It grows over time because each individual rule seems sensible on its own. First HTTP is redirected to HTTPS because the site should be served encrypted. Then a second rule redirects the non-www variant to the www variant so that there is only one canonical address. After a relaunch, a third rule is added that maps old URL structures to new ones. Finally a shop system such as Shopware CE or a CMS adds a fourth redirect, for instance from a URL without a trailing slash to the variant with one. Each rule is understandable on its own, yet in sum a single request passes through four stations before it reaches its destination.

The problem worsens because redirects trigger one another. If someone opens http://example.com without www, the HTTP-to-HTTPS rule fires first and redirects to https://example.com. There the www rule takes over and forwards to https://www.example.com. From there the slug rule points to the final address with a trailing slash. A single user request thus turns into three or four consecutive redirects, each with its own round trip. The order of the rules matters too: a poorly sorted server configuration can create a chain where a single combined rule would have been enough. The first step toward a solution is therefore to make the actual chain visible instead of relying on the assumption that there is only one redirect.

The Lighthouse Audit Against Multiple Redirects

Google has cast the cost of redirects into a dedicated Lighthouse audit. It checks how many redirects lie between the requested and the finally delivered URL, and it counts as failed as soon as two or more redirects (web.dev) occur. The recommendation is unambiguous: at most one redirect (web.dev) to the destination. In practice this does not mean every redirect has to disappear, but that chains are dissolved. A single, clean redirect from the old to the new address is perfectly fine. Only the stacking of several redirects in sequence becomes a measurable problem, because the round trips add up and rendering begins correspondingly later. The following six types cover the most common causes.

HTTP to HTTPS

Switching to encryption is mandatory. With HSTS and preload this redirect hop disappears entirely because the browser requests the page encrypted from the start.

www and non-www

Define one canonical variant and redirect the other to it in a single step, instead of jumping through an intermediate station.

Old to new slugs

After a relaunch, redirect maps point old URLs directly to their final destination, not to yet another redirect.

Trailing slash normalization

URLs with and without a trailing slash should be unified in one rule so that no additional redirect is created.

Merge chained rules

Several consecutive rules can often be combined into a single one that points straight to the final destination.

Set internal links directly

Point navigation, sitemap and content straight at the canonical target URL so that no redirect is triggered at all.

301, 302, 307 or 308: Choosing Status Codes Right

Not every redirect is the same. The HTTP standard distinguishes several status codes with different meanings (IETF RFC 9110). Code 301 signals a permanent move: the resource is definitively found at the new address and search engines transfer the ranking value to the target. Code 302 stands for a temporary redirect in which the original URL remains authoritative. For permanent moves after a relaunch, 301 is therefore the right choice, while 302 is only intended for genuine intermediate states such as a temporary maintenance page. Anyone who accidentally uses 302 for a permanent move risks search engines continuing to prefer the old address (Google Search Central).

Codes 307 and 308 complete this picture for modern applications. Unlike 301 and 302, they make sure the HTTP method is preserved: a POST is forwarded as a POST and not silently turned into a GET. Code 308 is the permanent counterpart to 301 with this additional assurance (IETF RFC 7538) and suits APIs and form processing. For pure loading time the choice of code is secondary, because each of these codes creates the same additional round trip. What matters is the effect on search engines and application logic. In a structured technical analysis we therefore check not only the number of redirects but also whether the appropriate status code is set in each case.

Attribute301 / 308 (permanent)302 / 307 (temporary)
MeaningTarget is definitiveOriginal URL stays authoritative
SEO effectRanking value passes to the targetRanking value stays with the old URL
Typical useRelaunch, permanent moveMaintenance, A/B test, interim state
HTTP method308 keeps it, 301 not assured307 keeps it, 302 not assured
Loading costone additional round tripone additional round trip

HSTS and Preload: Removing the HTTP-to-HTTPS Hop

The most common first redirect is the jump from HTTP to HTTPS. It cannot simply be deleted, because without it requests to the unencrypted address would go nowhere. There is, however, a way to avoid this hop entirely for returning visitors: HTTP Strict Transport Security, HSTS for short (IETF RFC 6797). Once the server sends the Strict-Transport-Security header, the browser remembers for the specified duration that this domain is reachable exclusively over HTTPS. On the next visit the browser opens the page encrypted straight away, without the detour via the HTTP address. The first redirect thus disappears for all subsequent visits.

For the very first visit this mechanism does not yet apply, because the browser does not know the domain beforehand. This is where the HSTS preload list comes in: domains listed there are treated by browsers as pure HTTPS domains out of the box. That removes the HTTP-to-HTTPS hop even on first contact. Inclusion requires a correct configuration with a sufficiently long validity period and the preload directive, and it should be done deliberately because it cannot be reversed at short notice. In server optimization we set up HSTS with suitable parameters and check whether preload inclusion makes sense for your domain. That way one of the three typical redirects disappears completely from the loading path.

Practical tip: combine redirects

Instead of handling HTTP-to-HTTPS and non-www-to-www in two separate rules, the target state can be reached in a single rule: redirect straight to https://www.example.com. Two hops become one, with no loss of function.

How to Detect Redirect Chains

Before a chain can be dissolved, it has to become visible. The simplest tool is a command line call that follows a redirect and logs every station. The command curl -IL https://example.com shows every status code and every Location header in sequence, so the complete chain can be read step by step. In the browser's developer tools the network panel makes the same thing visible: every redirect appears as its own entry with status code 301 or 302 before the actual page loads. It is important to start the test from the root address without a slash and without a protocol, the way a user types it, because that is exactly where most unnoticed chains arise.

  • Open the domain the way visitors enter it: without a protocol and without www.
  • Follow every redirect with curl -IL and note the status code and target address.
  • Count the hops to the final page: more than one is a candidate for cleanup.
  • Check internal links, sitemap and canonical tags for references that trigger a redirect.
  • Additionally test the mobile view, since individual rules only fire under certain conditions.
  • Repeat the measurement after every change to catch new chains early.

Keeping Redirects Clean in Operation

A redirect structure cleaned up once does not stay clean on its own. With every relaunch, every renamed page and every new campaign URL, new redirects can be added, and a clean rule gradually turns into a chain again. The most effective protection is a maintained redirect map: a central list that maps every old URL directly to its final destination, not to yet another redirect. If a page is moved again, the existing entry must also be updated to the new final target instead of appending a second redirect. That way the chain stays permanently at a single hop, no matter how often an address migrates over the years.

The core in one sentence

Do not delete a redirect prematurely; shorten every chain to a single jump that points to the final destination without a detour.

Prioritization: Which Redirect Goes First

Not every redirect carries the same weight. The most important are the chains on the main path, that is, when the home page and the most important landing pages are opened, because that is where the delay hits the most visitors and acts directly on entry performance. Second come redirects on frequently linked campaign and ad landing pages, because paid traffic is especially sensitive to every additional wait. Only after that follow rarely accessed legacy addresses, whose redirect may remain in place but should also point straight at the destination. This order ensures that the largest share of the time saved is realized first, with the least effort.

The effort of such a cleanup is manageable, yet the effect is immediately noticeable. Because the time saved is spent entirely before the first byte, perceived speed improves for every single request, regardless of the device. Combined with client-side precaching for return visits and a solid server configuration, this creates a loading path without unnecessary detours. We take on the complete review of your redirects as part of our performance services and deliver a prioritized list of concrete measures rather than a blanket sweep.

The fastest redirect is the one that never happens in the first place.

A principle of loading time optimization
This article is based on data from: Chrome DevTools / Lighthouse (audit against multiple redirects), Google web.dev, Google Search Central, IETF RFC 9110 (HTTP Semantics), IETF RFC 7538 (308 Permanent Redirect) and IETF RFC 6797 (HTTP Strict Transport Security).

Related Articles

Server & hosting

Early Hints 103: Put Server Think Time to Work

Status code 103 per RFC 8297: how the server sends preconnect and preload hints during think time, how the nginx rollout looks and where the honest limits run.

13 min read
Front-end optimisation

Finding and Removing Unused CSS for Faster Loads

How much CSS a page really needs, how to measure the unused share reliably and in which order to remove ballast without breaking the rendering.

13 min read
Server & hosting

Server-Timing: Where the Backend Time Actually Goes

TTFB only gives you the sum. The Server-Timing header breaks server time down in the browser into database, cache, application logic and template work.

13 min read