Redirects are the quiet technical layer that decides whether a site keeps its rankings through any URL change: an HTTPS migration, a structural revamp, mirror consolidation, retiring old pages. Get them right and the engine carries the accumulated authority to the new address and barely notices. Get them wrong and you can lose half the organic traffic you spent years earning in a single week. This guide covers every redirect type, how each affects SEO in Google and Yandex, the most common mistakes, and how to audit your own redirects.
What a redirect is and why it matters
A redirect is an instruction from the server or the page that sends the browser and the crawler from one URL to another. Technically it is an HTTP response with a 3xx status and a Location header pointing at the new address. To the user it is invisible — they clicked an old link and a new page opened. To the engine the redirect is a signal about what to do with the former URL: treat it as permanently moved, temporarily unavailable, or merged with another. The type you choose decides whether link equity transfers and how fast the index updates.
Redirect types: 301, 302, 307, 308 and beyond
Most redirect SEO problems come down to picking the wrong status code. The difference is not cosmetic — engines treat each differently, and your rankings depend on it. Here is each one explained by what it does, not by the letter of the spec.
- 301 Moved Permanently — the permanent redirect. The workhorse of SEO: it tells the engine "this page has moved here for good", passes virtually all link equity, and causes the old URL to drop from the index while the new one takes its place. Use it for URL changes, HTTPS migrations, mirror consolidation.
- 302 Found (formerly Moved Temporarily) — the temporary redirect. The engine assumes the old URL will return, so it keeps the old one indexed and does NOT fully pass equity to the new address. A common, expensive mistake is using 302 instead of 301 for a permanent move.
- 307 Temporary Redirect — the strict temporary redirect from HTTP/1.1. Unlike 302 it guarantees the request method is preserved (a POST stays a POST). For SEO it behaves like a 302 — temporary, no equity transfer.
- 308 Permanent Redirect — the permanent counterpart of 307: a forever move plus method preservation. For ordinary GET pages it is equivalent to a 301 from an SEO standpoint. Useful for APIs and forms.
- Meta refresh and JavaScript redirects — redirection at the HTML or script level rather than the HTTP header. Engines understand them worse and slower, and equity transfer is partial. Use only when a server-side redirect is impossible.
How redirects pass link equity
Every page accumulates authority through inbound links, age and behavioural signals. When you set a 301, the engine carries that authority to the target URL. Google has repeatedly confirmed a 301 passes virtually 100% of equity (the old "you lose ~15%" advice is obsolete — losses are now negligible). But there is a catch: every extra hop in a redirect chain and every temporary code (302/307) dilutes the transfer. The ideal redirect is therefore a single 301 hop straight to the final URL, not a journey through three intermediate addresses.
Yandex handles redirects similarly but with important differences. For mirror consolidation (merging www and non-www, or http and https) Yandex recommends a 301 and additionally weighs the Host directive (historically) and Yandex Webmaster settings. After a 301 is in place, consolidation in Yandex can take from a few days to a couple of weeks — longer than Google. So when migrating in the Russian market, be patient and do not remove the redirects early just because you see a temporary dip.
Redirect chains and loops: the quiet traffic killer
A redirect chain is when URL A points to B, B to C, and C finally to page D. Each hop adds latency (an extra round-trip inflates TTFB), eats part of the equity being passed, and burns crawl budget. Googlebot typically follows 5–10 hops in a chain and then stops without reaching the target — at which point the page is not indexed at all. Chains appear silently: first you redirected for the HTTPS move, then you changed the URL structure, then you dropped the trailing slash — and now there are three sequential 301s where one would do.
A redirect loop is even worse: A points to B and B points back to A. The browser shows a "too many redirects" error and the page is unreachable for everyone — humans and bots alike. Loops usually arise from conflicting rules: one redirect adds a trailing slash while another removes it, or an http→https and an https→http rule are both active due to a misconfigured proxy or CDN.
HTTP to HTTPS and mirror consolidation
The most common scenario is the HTTPS move. The correct setup: every http URL returns a 301 to its exact https counterpart (not the homepage!), and the www version 301s to non-www (or vice versa — the point is to pick one canonical form and stick to it everywhere). The classic mistake is redirecting all http pages to https://site.com/ (the homepage): that destroys the old-to-new URL mapping and the accumulated equity of inner pages drains into nothing. Each page must point to its own page.
After setting up the HTTPS redirects, always: update the canonical tags to the https version, fix sitemap.xml (https URLs only), update internal links to absolute https (so you do not spawn extra redirects), add the https version as the primary host in Yandex Webmaster, and make sure all variants (http/https, www/non-www) are added in Google Search Console — then you will see the consolidation play out in the reports.
The 8 most common redirect mistakes
- 302 instead of 301 for a permanent move — the old URL stays indexed and equity does not transfer. Check the status code, not just that a redirect happens.
- Redirecting every page to the homepage instead of one-to-one mapping — the most expensive migration mistake; all inner-page equity is lost.
- Long chains (3+ hops) — TTFB rises, equity dilutes, the crawler may not reach the end. Collapse chains to a single hop.
- Redirect loops from conflicting slash or http/https rules — the page becomes unreachable entirely.
- Redirecting to a noindexed or 404 page — equity flows into a dead end. The redirect target must be a live, indexable page.
- A forgotten redirect after a CMS or design change — old URLs return 404 while external links still point at them. Map the old URLs in advance.
- Redirecting into a robots.txt-blocked area — the crawler cannot follow through to see the target.
- Inconsistency with canonical — the page 301s to A while its canonical points to B, sending the engine contradictory signals.
How to audit your site redirects
A redirect audit is worth running after every migration and at least quarterly on a large site. The process is simple. Collect a list of key URLs (top traffic pages from GSC and Webmaster, plus pages with inbound links). Run each through a chain check and record: the final status, the number of hops, and the type of each step. Find every chain longer than one hop and collapse it — the redirect rule should point straight at the final URL. Find every 302/307 that is actually permanent and switch it to 301. Make sure no redirect leads to a 404, a noindex page, or a loop.
For a one-off check a free tool is enough — enter a URL and see the whole path. For ongoing monitoring across a portfolio it is better to have a platform that checks key URLs on a schedule and alerts you when a new redirect appears or a chain grows. Site Metrics Tool tracks this automatically alongside rankings, Core Web Vitals and the backlink profile — in one dashboard across Google and Yandex.
The correct-redirects checklist
- Permanent move = 301 (or 308 for non-GET). Temporary = 302/307.
- One-to-one mapping: each old URL → its exact new URL, never the homepage.
- Single hop: the rule points straight to the final address, no chains.
- The redirect target is a live, indexable page (not 404, not noindex).
- Canonical, sitemap and internal links are consistent with the final URLs.
- After a migration, keep redirects for at least a year: external links and the index update slowly.
Redirects feel like a boring technical detail until they leak traffic. A few hours on a clean setup and regular checks save months of ranking recovery. Start with an audit of your key URLs — and you will almost certainly find a chain or two, or a temporary code, quietly eroding your SEO.
Frequently asked
How long should I keep a 301 redirect after a migration?
At least a year, ideally forever. Google and Yandex do not update the index and transfer equity instantly, and external links to old URLs can live for years. Remove the redirect early and you lose both that link equity and the users who arrive through it.
Does a 301 redirect lose any equity?
For a single 301 the loss is now effectively zero — Google has confirmed this officially. The old "minus 15%" rule is obsolete. Real losses come from chains (each extra hop dilutes equity) and from using temporary 302/307 codes instead of 301.
What is the SEO difference between 301 and 302?
301 says "permanent" — the old URL drops from the index, the new one takes its place, equity transfers. 302 says "temporary" — the old URL stays indexed and equity is not fully passed. A permanent move always needs a 301.
How do I check a redirect chain?
Enter the URL in our free Redirect chain checker — it shows every hop, its status (301/302/307/308) and the final address. You will immediately see extra hops, loops and temporary codes that need fixing.
Can I redirect with JavaScript?
You can, but it is the worst option for SEO. Engines process JS redirects slower and less reliably than server-side 301s. Use a JavaScript redirect only when you have no access to the server config; in every other case set a 301 at the server level.