A redirect changes the route, not the original backlink

A backlink is an HTML link on a source page. If its destination returns a 301, a client can follow the Location header to another URL. The source author’s href does not thereby change. Separate the source link, the redirecting URL and the final document in your records. A move can preserve access to relevant content; creating an extra forwarding URL is not the same as earning a new editorial endorsement.

RFC 9110 · 301 / 302 / 307 / 308

Confirm which URLs you control

The destination operator can change routing only where they control the host or application. An external publisher controls the source page. Record both responsibilities before proposing a fix. Update your own internal references and, where appropriate, ask the publisher to update an old link; retain a working mapping for readers who still use it. This guide does not create links through Google URLs, acquire expired domains or send outreach messages.

Build a mapping based on content and intent

Inventory the old URL, its purpose, the proposed replacement and evidence of equivalent content. Include links observed in your own records, internal navigation and sitemaps; an export is not necessarily a complete inventory. Preserve meaningful language, product or query variants instead of sending every old path to the homepage. When content is permanently gone and no suitable replacement exists, a missing-resource response can be the correct outcome. In the examples, equivalence is an explicit teaching assumption, not an automated content-quality verdict.

Google · Site moves

Choose permanent or temporary behavior deliberately

Use 301 or 308 for a genuinely permanent move and 302 or 307 when the original location is expected to return. Google documents these as different canonicalization signals; a local status test cannot reveal the canonical it ultimately selects. This exercise uses GET. For endpoints that accept POST or other methods, review method-preservation semantics before choosing a code. Browser and proxy caching also matter when correcting a previously cached permanent redirect; the lab sends no-store to make repeated practice predictable.

Google · Redirects

Reproduce seven before-and-after cases

The kit runs a real HTTP server on loopback. Each source page contains the same link in both configurations; only the destination routing changes. Select a case and phase, then inspect every response rather than only the last address in the browser. The loop stops before another repeated request. The working control is deliberately unchanged. This is a reproducible engineering exercise, not a crawl of your site or a simulation of a search engine.

Inspect redirect paths
IDIntended outcomeBeforeAfter
R01The former guide has a relevant replacement at /guide, but the old URL currently returns 404.404 /r1/old-guide301 /r1/old-guide → 200 /guide
R02The old guide reaches the correct document through /middle. The content works; the extra hop is avoidable.301 /r2/old-guide → 301 /middle → 200 /guide301 /r2/old-guide → 200 /guide
R03The old URL and /r3/loop send requests back to each other; no terminal content is reached.301 /r3/old-guide → 301 /r3/loop · Repeated URL: stopped before another request301 /r3/old-guide → 200 /guide
R04The visitor expects a guide, but /home contains only general navigation. Both configurations end in 200.301 /r4/old-guide → 200 /home301 /r4/old-guide → 200 /guide
R05The content is permanently removed; sending visitors to /home does not fulfil its purpose.301 /r5/old-guide → 200 /home410 /r5/old-guide
R06The original service is expected to return; /holding is only a temporary notice.301 /r6/old-guide → 200 /holding302 /r6/old-guide → 200 /holding
R07The old guide already reaches its relevant replacement with a single 301.301 /r7/old-guide → 200 /guide301 /r7/old-guide → 200 /guide

R01 · Moved page has no mapping

Add one permanent redirect to the declared replacement.

The same old URL returns 301, then /guide returns 200 with the replacement guide.

R02 · Working chain takes an unnecessary detour

Point the old URL directly at /guide while keeping any still-needed intermediate mapping.

The path changes from three requests to two, with the same final guide and unchanged source link.

R03 · Two URLs form a loop

Replace the old URL’s rule with a direct mapping to /guide.

The repeated-path stop disappears and the two observed responses are 301 then 200.

R04 · A successful homepage is the wrong destination

Map to the relevant /guide, not an unrelated success page.

Check the final path and body as well as status. This is not an observed Google soft-404 classification.

R05 · Removed content has no equivalent replacement

Return 410 for this declared removal and remove stale internal references.

The old URL returns 410 with an unavailable page. No invented replacement or recovered ranking is claimed.

R06 · A temporary move was marked permanent

Use the temporary 302 behavior for this GET example, with a plan to restore the original service.

The same notice is reached through 302 rather than 301. Search processing and prior cached responses need separate checks.

R07 · Correct permanent mapping remains unchanged

Retain the working mapping and record it as a control.

Before and after evidence is identical. No unnecessary fix or ranking improvement is invented.

Verify the complete path after deployment

After deploying an authorized mapping, test the public URL through the real proxy or CDN. Record the first status, every Location, the terminal URL, status and expected content. Check relevant query strings, protocol and hostname variants deliberately. Confirm intended crawl access, canonical and indexing directives separately. Test known loops and old intermediate paths, then retain the evidence and an owner for correction. A successful request does not prove that Google has recrawled the change or that traffic will improve.

Google · HTTP status codes

Indexing, canonical selection, traffic and ranking outcomes remain unmeasured. No percentage of transferred authority is calculated.

Keep the mapping useful over time

Keep a dated map and recheck important old links after routing or CMS changes. Google’s site-move guidance recommends retaining redirects for as long as possible, generally at least a year; continuing visitor use can justify keeping them longer. Update internal links and sitemaps to current destinations. Monitor known source/target pairs and consult authorized search data when available. Changes in provider counts have their own collection dates and scopes, so a delayed dashboard update does not by itself prove a redirect failed.

Google · Site moves

Backlink monitor

Python 3.10 or newer. Extract the ZIP to a local folder. The verification command starts a temporary loopback server, tests every case, prints JSON and stops. It does not contact external websites.

Filled redirect map (CSV)

Blank redirect map (CSV)

Annotated report (HTML)

Instructions

Local test kit (ZIP)