Should you update internal links or rely on the redirect?
Update the links. A redirect handles links you do not control, but leaving your own pointed at redirected URLs adds a hop to every internal journey and keeps the old URL circulating through your own site. Sitemaps in particular should list only final destinations.
Pick the right status code
301 — moved permanently. The default for anything that has moved for good. Signals consolidate on the destination and browsers cache it, which is the behaviour you want almost always.
308 — permanent redirect. Like 301 but preserves the request method. Matters for form submissions; rarely needed for ordinary page moves.
302 — found, temporary. Only for genuinely temporary situations — maintenance, a seasonal landing page, a short campaign. Using 302 for a permanent move delays consolidation, sometimes for a long time.
307 — temporary, method preserved. The temporary counterpart of 308.
410 — gone. The right answer for content that is deliberately removed with no equivalent. It says "this is finished" rather than "this is missing", and it is processed faster than a 404.
Use 301 unless you have a specific reason not to. Cached 301s are hard to reverse, so be sure before deploying one.
Redirect to the closest equivalent
The destination should be somewhere the visitor actually wanted to be:
- A retired service goes to the replacement service, not the homepage
- A discontinued product goes to its successor or its category
- A closed location goes to the nearest open one, saying so on the page
- An expired promotion goes to the current offer or the relevant service
Redirecting everything to the homepage is the classic error. It is treated as a soft 404, and to the visitor it looks like the site is broken.
If nothing equivalent exists, 410 is more honest than a redirect to a page nobody asked for.
Implement in one layer
Redirect rules in several places at once produce chains and loops. Pick one layer — server config, application routing, or a plugin — and keep everything there. Where a CDN also has rules, document what lives where.
Order matters: most systems stop at the first match, so specific rules go before pattern rules.
Test before and after deployment
Check each rule end to end, following the whole chain:
curl -sIL -o /dev/null -w '%{http_code} %{num_redirects} %{url_effective}\n' \
https://example.com/old-service-page
You want the final status 200, the redirect count 1, and the destination the URL you intended. More than one hop means a chain to flatten.
Also test that the destination itself is not redirecting, and that the rule has not accidentally matched more URLs than intended.
Update your own links
A redirect handles links you do not control. Links on your own site should be corrected to point at the new URL directly — navigation, in-body links, sitemaps, footer lists, and anything hard-coded in a template.
The sitemap in particular should list only final destinations.
Keep them
Redirects are not temporary infrastructure. External links, printed material and bookmarks keep referencing old URLs for years — and for a Pasadena trade business with a URL on a vehicle or a yard sign, that can be a very long time. Removing an old rule to tidy the file is how traffic quietly disappears.
Frequently asked questions
Which status code should I use?
301 for anything moved permanently, which is nearly always. 302 or 307 only for genuinely temporary situations, 308 when the request method must be preserved, and 410 for content deliberately removed with no equivalent.
Can I redirect old pages to the homepage?
It is the classic error. It is treated as a soft 404 and looks broken to visitors. Redirect to the closest genuine equivalent, or return 410 if there is not one.
Why implement redirects in one layer?
Rules spread across server config, application routing, plugins and a CDN fight each other and produce chains and loops. Pick one layer, keep everything there, and document any exceptions.
How do I test a redirect properly?
Follow the whole chain and check three things: final status 200, redirect count of one, and the destination you intended. More than one hop is a chain to flatten.
When can I delete old redirect rules?
Generally never. External links, printed material and bookmarks reference old URLs for years — a URL on a vehicle or yard sign especially. Removing rules to tidy the file is how traffic quietly disappears.