← Back to Blog

Technical SEO

Redirects: Moving Your Pages Without Losing Your Rankings (Or Your Mind)

Imagine you ran a popular bakery at 42 Main Street for five years. Loyal customers. Word-of-mouth reputation. The best croissants in the city.

Then you moved to a new location at 87 Park Avenue.

You put up a sign at the old address: “We’ve moved. Come find us at 87 Park Avenue.” You informed your regulars. You updated your listings.

Now imagine you did none of that. Just closed the old address and opened the new one. No forwarding information. No sign. Nothing.

Half your customers show up at the old address, find an empty building, and go somewhere else.

That is a website without proper redirects.

Google is your customer. Your backlinks are your reputation. Your rankings are the word-of-mouth. And when you move a URL without a redirect β€” or use the wrong type of redirect β€” all of that walks away from an empty building.

What Is a Redirect?

A redirect is an instruction that tells browsers and search engines: “The content you’re looking for has moved. Here’s where it is now.”

When a user or Googlebot requests a URL that has been redirected, the server returns a response code indicating the move, plus the new URL. The browser or crawler follows automatically to the new destination. In a well-configured redirect, the transition is seamless β€” the user barely notices.

But not all redirects are created equal. The specific response code returned determines how Google interprets the move β€” whether it’s permanent, temporary, the result of a content negotiation, or something else entirely. Using the wrong code has real, measurable consequences for your rankings.


301 vs 302 β€” The Difference That Costs Rankings

This is the one. The redirect distinction that matters most for SEO, gets confused most often, and has the highest consequences when it goes wrong.

301 β€” Moved Permanently

The 301 tells Google: “This page has permanently moved to the new URL. Update your index. Transfer all ranking signals to the new destination. This is a forever change.”

A 301 passes the overwhelming majority of link equity from the old URL to the new one. Google updates its index to reflect the new URL as the canonical destination. Old backlinks pointing to the original URL continue contributing authority β€” now consolidated at the new location.

Use 301 for: site migrations, URL restructures, domain changes, permanently deleted pages with a relevant replacement, consolidating duplicate content.

302 β€” Found (Temporary Redirect)

The 302 tells Google: “This page has temporarily moved. Keep the original URL indexed. Keep its ranking signals where they are. We’ll be back to the original soon.”

A 302 does not pass link equity in the same way. Google retains the original URL as the canonical β€” because it’s expecting the content to return there. If the content never returns β€” because the move was actually permanent β€” that link equity never transfers. It just sits, credited to a URL serving a redirect.

Use 302 for: A/B testing, temporary promotional pages, maintenance redirects where content will genuinely return to the original URL.

The classic mistake: Using a 302 for what is actually a permanent move because “redirect is redirect, right?”

Wrong. I have audited websites with 302 redirects in place since 2019 for URLs that were “temporarily” moved and then never moved back. Five years of link equity sitting on a redirecting URL, never properly consolidated at the destination. Rankings that never fully recovered after a migration because the redirect type told Google to keep treating the old URL as the canonical β€” indefinitely.


Other Redirect Types Worth Knowing

307 β€” Temporary Redirect (HTTP/1.1)
The HTTP/1.1 equivalent of 302. Same meaning β€” temporary, keep original indexed. Modern servers use 307 over 302 for temporary redirects because it strictly preserves the original request method (GET, POST) during the redirect.

308 β€” Permanent Redirect (HTTP/1.1)
The HTTP/1.1 equivalent of 301. Permanent move, passes equity, same as 301 but strictly preserves request method. In practice, 301 and 308 behave identically for SEO purposes.

410 β€” Gone
Not technically a redirect, but worth mentioning here. A 410 tells Google: “This page is permanently gone. Not moved β€” gone. There is no new location. Deindex it.”

A 410 gets pages removed from Google’s index faster than a 404. Use it when a page is deleted with no relevant replacement and you actively want it out of the index quickly.

Meta Refresh
An HTML-based redirect implemented in the page’s <meta> tags rather than at the server level. Slow, visible to users as a brief delay, and significantly less SEO-effective than server-side redirects. Use server-side redirects. Always.


Redirect Chains: The Slow Drain You Don’t Know You Have

A redirect chain exists when reaching the final destination requires following multiple consecutive redirects:

URL A β†’ URL B β†’ URL C β†’ URL D (final destination)

Every hop in that chain has a cost:

Equity loss. Each redirect passes slightly less equity than a direct link. A long chain means the final destination receives meaningfully less authority than a direct redirect would deliver. The exact percentage loss per hop is debated β€” but the direction isn’t.

Crawl efficiency. Googlebot follows redirect chains but has limits. Long chains slow the crawl and in extreme cases prompt Googlebot to stop following and report a crawl error.

Page speed. Each redirect adds a network round-trip. A chain of three redirects adds three additional server requests before the page loads. For mobile users on variable connections, this is a real latency hit.

The typical cause: iterative site changes over time. URL A was redirected to URL B during a migration in 2021. URL B was redirected to URL C during a rebrand in 2023. URL C was redirected to URL D after a URL structure change in 2025. Nobody went back to update URL A’s redirect to point directly to URL D.

The fix is straightforward: collapse all chains to single-hop redirects pointing directly to the current final destination. Audit regularly β€” chains rebuild themselves over time as sites evolve.


Redirect Loops: The One That Breaks Everything

A redirect loop is what happens when URL A redirects to URL B, and URL B redirects back to URL A.

The browser follows A β†’ B β†’ A β†’ B β†’ A… indefinitely, until it gives up and returns an error. Users see “too many redirects” or “page isn’t redirecting properly.” Googlebot encounters the same loop and reports a crawl error. The page is effectively inaccessible.

Loops typically occur during migrations when someone sets up bidirectional redirects by mistake, or when HTTPS redirect rules conflict with other redirect rules in .htaccess. They’re immediately catastrophic and usually discovered quickly β€” because nobody can access the page.

Screaming Frog catches redirect loops on crawl. Google Search Console’s Coverage report flags URLs with redirect errors. Check both after any significant redirect configuration change.


When to Use Which Redirect

SituationRedirect Type
Page moved permanently to a new URL301
Domain migration (HTTP β†’ HTTPS, old domain β†’ new domain)301
URL restructure (cleaning up URL slugs)301
Deleting a page with a relevant alternative301 to the most relevant live page
Deleting a page with no relevant alternative410
A/B test β€” temporarily sending traffic to a variant302
Maintenance page β€” site temporarily down302 or 307
Seasonal content β€” temporarily offline, will return302

When in doubt: if the old URL will never serve its original content again, use 301.


How to Implement Redirects

WordPress β€” Redirection Plugin

The Redirection plugin is the simplest way to manage redirects in WordPress without touching server configuration files. Add source URL, destination URL, redirect type. Done. It also logs 404 errors you can act on.

Rank Math SEO also includes a redirect manager built into the plugin.

Apache β€” .htaccess

For Apache servers, redirects are configured in the .htaccess file at the root of your site:

text# Single page 301 redirect
Redirect 301 /old-page/ https://yoursite.com/new-page/

# HTTP to HTTPS 301 redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# WWW to non-WWW
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Nginx β€” server config

text# Single page redirect
location = /old-page/ {
    return 301 https://yoursite.com/new-page/;
}

# HTTP to HTTPS
server {
    listen 80;
    return 301 https://$host$request_uri;
}

Cloudflare β€” Page Rules or Redirect Rules

If your site runs behind Cloudflare, you can manage redirects at the CDN level through Page Rules (legacy) or the newer Redirect Rules in the dashboard. Useful for domain-level redirects without modifying server configuration.


How to Audit Your Redirects

Screaming Frog:
Crawl your site and filter for 301 and 302 responses. Export the redirect chain report specifically β€” this shows every multi-hop chain on your site, the full chain path, and the final destination. Fix every chain longer than one hop.

Google Search Console β†’ Coverage Report:
Check for redirect errors and crawl anomalies indicating broken redirect paths or loops.

httpstatus.io:
Enter any URL and see the full redirect path including each status code at each hop. Quick manual check for specific URLs.

After every migration:
Run a full redirect audit immediately after any URL changes. Chains are built one migration at a time. The longer you wait to audit, the longer and more complex they become.


The TL;DR

  • Redirects tell Google and browsers that a URL has moved β€” the response code determines how Google interprets the move
  • 301 = permanent.Β Use for all permanent moves. Passes link equity. Google updates its index.
  • 302 = temporary.Β Use only when content genuinely returns to the original URL. Does not consolidate equity.
  • Using 302 for permanent moves is one of the most common, costliest, and most invisible SEO mistakes in the industry
  • Redirect chainsΒ (Aβ†’Bβ†’Cβ†’D) lose equity at every hop β€” collapse all chains to direct single-hop redirects
  • Redirect loopsΒ (Aβ†’Bβ†’A) break the page entirely β€” check with Screaming Frog after every configuration change
  • Audit redirects after every migration, restructure, or URL change β€” chains accumulate silently over time
  • 410Β is better thanΒ 404Β for deliberately deleted pages with no replacement β€” it signals permanent removal and speeds deindexing

Redirects are among the most powerful and most dangerous tools in technical SEO. Get them right and migrations are clean. Get them wrong and you’re filing an accident report six months later wondering where the traffic went.

Working through a migration or sitting on a site with a redirect audit that’s been postponed too many times? Drop the details in the comments. Subu will help you untangle it.

β€” Subu, SEO by Subu

Subu Avatar

Written by the human behind Subu

(Usually typed between panic attacks and client calls)

  • Job: SEO Consultant, Comic Creator, and Content Writer
  • Diet: 90% Caffeine, 10% Panic
  • Mission: Fixing the internet's broken architecture, one ranking drop at a time.

If you need your traffic rescued, Hire the Human.

Need help with your SEO?

Book a project and get implementation-grade recommendations.

Hire Subu
Jump to section