all insights
7 min read

Redirects Without Regret: A Field Guide to 301s

Redirects preserve or destroy years of link equity depending on how they are handled. The status codes, the chains to avoid, and how to run a map that holds.

Technical SEOSEO
Redirects Without Regret: A Field Guide to 301s — cover illustration

The most expensive line in your config file

Redirects are the quietest way to erase years of work, and almost nobody treats them with the respect they deserve. A redirect is a promise: this address moved, follow me to the new one, and bring the reputation you built at the old one with you. Done well, redirects carry link equity, rankings, and user trust across a change so cleanly that no one notices. Done carelessly, they leak equity on every hop, strand crawlers, and quietly hand competitors the ground you spent a decade earning.

I have spent fifteen years moving numbers on large programs, and I have cleaned up more redirect messes than I care to count. The pattern is always the same. Somebody shipped a URL change in a hurry, wired up a rule that felt right, and never checked what actually happened at the protocol level. Six months later the traffic is gone and no one can say why. Here is how the work is actually done.

Know your status codes before you touch anything

The number in the redirect is not decoration. It tells the crawler how permanent the move is, and that changes how equity flows.

  • 301 (permanent). This is your default for anything that moved and is staying moved. It passes the strongest signal that the old address is retired and the new one inherits its history. When people say "301" as shorthand for redirects in general, this is what they mean.
  • 302 (temporary). This says "come back later, the original is still the real one." Crawlers keep the old URL indexed. Use it for genuinely temporary states, a maintenance page or a short promotion. Use it by accident on a permanent move, which happens constantly, and you strand equity at an address you abandoned.
  • 307 and 308. The modern equivalents of 302 and 301 that preserve the request method. You rarely need to reach for these by hand, but you should recognize them in a log file and know which is permanent.
  • Meta refresh and JavaScript redirects. Client-side hacks. They work for users and confuse machines. Treat them as a red flag in an audit, not a tool in your kit.

The single most common failure I see is a server defaulting to 302 when the team meant 301. Verify the actual code the server returns. Do not trust the intent in the ticket.

Chains and loops: where equity goes to die

A redirect chain is when A points to B, B points to C, and C finally lands on the live page. Every hop bleeds a little equity and burns a little crawl budget, and crawlers give up after a handful of hops. On a large site, chains are the silent tax that turns a healthy migration into a slow decline. This is one more place where the discipline behind steering crawlers on a large site pays off directly, because every wasted hop is a fetch the crawler did not spend on a page that earns.

Loops are worse: A points to B and B points back to A, and the page becomes unreachable for everyone. They usually come from two well-meaning rules colliding, an HTTPS rule and a trailing-slash rule that disagree about the destination.

The fixes are boring and non-negotiable:

  • Collapse every chain to a single hop. Point the original URL straight at the final destination, not at the intermediate step. When you retire a page and later retire its replacement, update the first redirect to skip the middle.
  • Order your rules so they cannot fight. Protocol, host, and trailing slash should be resolved in one pass, not layered redirects that each fire in turn.
  • Redirect to the canonical form only. Sending traffic to a URL that then redirects again is the definition of a chain you built yourself. This is the same duplicate-form problem you fight with canonical tags and the duplicate content you did not know you had, just expressed at the server level.

The redirect map that actually holds

A redirect map is a spreadsheet, and its quality decides whether a change survives. The mistake is treating it as a formality. The map is the plan. Here is the field checklist I run every old URL through before a single rule ships.

  1. Old URL, exact and complete. Full path, correct casing, with and without trailing slash where both resolve. Ambiguity here becomes a broken rule later.
  2. New URL, the true final destination. Not a category page, not the homepage, the closest genuine equivalent. Mapping everything to the homepage is not a migration, it is a mass deletion with extra steps.
  3. Relevance grade. Score each match: exact equivalent, close relative, or no good home. The no-good-home rows are decisions, not defaults. Some should 301 to the nearest parent, and some should honestly return a 410 because the content is gone for good.
  4. Priority by value. Pull traffic and referring domains for every old URL and sort. Your highest-value pages get eyes-on verification. The long tail can follow a pattern rule, but the money pages are checked one by one.
  5. Rule type. One-to-one mapping or a pattern-based rule. Patterns scale, but they also generalize, so test them against edge cases before you trust them.
  6. Post-launch status. After the change goes live, every high-value row gets its real response code recorded. The map is not done when the rules ship. It is done when the log confirms them.

That last row is the one teams skip, and it is the one that saves you. A redirect that returns the wrong code looks fine in a browser and is quietly failing where it counts.

Verify at the protocol level, not in a browser

A browser hides everything you need to see. It follows chains silently, renders the final page, and tells you nothing about the three hops it took to get there. Verification means reading the actual response headers and, on a large site, reading the logs. Server logs are where the truth that analytics cannot show you lives, and they will tell you which redirects crawlers are actually hitting, how often, and with how many hops.

Check these after any redirect change:

  • The status code every high-value URL returns. One request, one final 200, no surprise 302s in the path.
  • Hop count. Anything over one hop goes back on the fix list.
  • Internal links pointing at redirected URLs. Update them to point at the destination directly. An internal link to a redirect is a self-inflicted chain, and cleaning these up is part of the same technical work that still moves the needle.
  • Sitemap freshness. Your sitemap should list destinations, never old redirected URLs.

Redirects are also the load-bearing wall of any URL change at scale, which is why they sit at the center of doing site migrations without losing your rankings. Get the map right and a migration is a non-event. Get it wrong and no amount of content work will save the quarter.

The takeaway

Redirects are invisible when they work and catastrophic when they do not. The craft is unglamorous: pick the right status code, collapse every chain to one hop, map old to new with honest judgment rather than lazy defaults, and verify at the protocol level instead of trusting a browser. The teams that treat the redirect map as the plan keep their equity. The teams that treat it as paperwork learn the cost six months too late.

Keep reading: Pagination and Infinite Scroll Without Losing Rankings.

If you are staring down a URL change and cannot afford to leak the equity you spent years building, the channel is open by introduction. Bring your redirect map and your logs, and we will make sure every promise you made to a crawler is one the server actually keeps.

Written by Joseph Carroll, Carroll Consulting Services. Connect on LinkedIn

// contact

Open a channel

Not taking on new clients right now, focused on the work in front of me. The best way to connect is LinkedIn, or a warm introduction from someone I already work with.

connect on linkedin NOT ACCEPTING NEW CLIENTS