Practical guides

Prepare and test a URL redirect plan

An old address may still have visitors, backlinks and documents referring to it. A redirect plan records what each address becomes during a rebuild, domain change or content consolidation, preserving useful journeys.

Go to the method

Laptop, notebook, phone and mug on a desk
Illustration

Inventory addresses with a purpose

Combine sitemaps, a crawl, internal links, campaign pages and available traffic evidence. Include downloads and addresses distributed in emails or printed material. A page without recent traffic can still be referenced elsewhere.

Record the old URL, subject, proposed destination, decision, owner and test result. Similar addresses do not establish equivalent content. Identify parameters needed by the journey separately from those used only for measurement.

Choose an equivalent destination

A replacement with genuinely equivalent content can receive a permanent redirect. A removed resource without a relevant replacement should retain a real absence status. Sending every old page to the homepage loses the context of a visitor seeking a specific service.

A canonical indicates a preferred representation; it does not move the visitor. A temporary redirect suits a temporary move. Record the reason for each decision and confirm that the destination answers the original need.

Preserve methods and avoid chains

For GET navigation, 301 and 308 indicate a permanent move. A client receiving 301 may change POST to GET; 308 preserves the method. Temporary codes 302 and 307 have a comparable distinction. Forms and APIs therefore require tests beyond reading the destination page.

Point old addresses directly to the final destination. Check HTTP/HTTPS, hostnames, trailing slashes and previously redirected addresses. Detect loops, missing targets and unwanted language changes. Use synthetic data and a test environment when exercising POST routes, never a real order simply to prove a redirect.

Align the website’s signals

Update internal links, the sitemap, canonical references, language versions and document links. Redirects support old references; current navigation should use the new addresses directly.

After release, check examples from every page family and observe errors and indexing. Google recommends retaining migration redirects as long as possible, generally at least a year. Visitors can use old links beyond that period, so also consider references still in circulation.

An example of a documented decision

Educational example: an old shop-maintenance page is merged into a page that still describes that service. The mapping uses a permanent redirect and updates internal links. An expired event offer either becomes a useful archive or returns an absence status when removed. Available content determines the choice, rather than URL similarity alone.

Content updated on October 5, 2026

Acceptance matrix to adapt to your project

These proposed checks use synthetic cases. Decide the required behaviour with the team, record the result and assign unresolved gaps before release.

Test cases, expected outcomes and useful evidence
CaseExpected outcomeEvidence to retain
Merged service pageThe destination still answers the service need and returns 200Original URL, status, final URL and relevant passage
Previously redirected addressThe rule reaches the final destination directlyHop list and loop check
Synthetic POST routeMethod and behaviour match the intended contractTrace without personal data in a test environment
Removed content without equivalentA real absence status remains and recovery links are usefulHTTP status and onward links

Frequently asked questions

Should every 404 be redirected?

A redirect needs a relevant destination. An unknown address or removed content without a replacement may remain 404 or 410 depending on context. Review intent and existing references first.

Does a canonical replace a redirect?

No. It indicates a preferred URL to search engines; the browser stays on the requested address. A redirect moves the request.

Is testing the destination enough?

Also test the old address: status, Location header, hops, parameters, language and method for action routes. A correct destination can still be reached through an incorrect rule.