URLs change all the time. A post gets a better slug. A service page is renamed. A product is discontinued. A category structure is reorganised. A whole site moves to a new domain. Each change risks breaking links that people and search engines rely on.
Redirects solve this by sending visitors from old URLs to new ones automatically. They’re one of the most important tools for preserving search rankings and user experience. They’re also a common source of mess: chains of redirects pointing to other redirects, loops that send browsers in circles, hundreds of outdated rules nobody understands and redirects that send everything to the homepage.
Here’s how to manage redirects properly on a WordPress site.
The types of redirect
Redirects are communicated through HTTP status codes. The main ones:
301 Moved Permanently
The page has moved permanently. Search engines transfer ranking signals to the new URL and eventually replace the old URL in their index. This is the redirect you’ll use most often.
302 Found
The page is temporarily at another URL. Search engines generally keep the original URL indexed. Use it for genuinely temporary situations, like a short promotion or maintenance.
307 Temporary Redirect and 308 Permanent Redirect
Similar to 302 and 301, but they guarantee the request method stays the same. If a form is submitted with POST, a 307 or 308 keeps it as POST. For most page redirects, 301 and 302 are fine, but 307 and 308 matter for APIs and form handlers.
410 Gone
Not a redirect, but closely related. A 410 tells search engines a page has been removed permanently and won’t return. Use it for content that’s gone with no relevant replacement, like spam pages after a hack or discontinued items with no equivalent.
A common mistake is using 302 redirects when a change is permanent, often because a plugin defaults to 302. Search engines usually figure it out eventually, but using 301 for permanent changes is clearer and more reliable.
When you need a redirect
- You change a page or post slug.
- You move content to a different section or URL structure.
- You merge several pages into one.
- You delete content that has a relevant replacement.
- You change your permalink structure.
- You move from HTTP to HTTPS, or between www and non-www.
- You move to a new domain.
- You fix URLs that were shared with typos or in campaigns.
WordPress’s built-in redirects
WordPress handles some redirects automatically:
- Changed slugs. When you change a published post’s slug, WordPress stores the old slug and redirects requests for it to the new URL. This works for posts and some other content types, but it’s not a complete redirect management system.
- Canonical redirects. WordPress redirects some URL variations to their canonical form, like adding or removing trailing slashes to match your permalink settings, and guessing the intended URL for some mistyped addresses.
These help, but they don’t replace deliberate redirect management, especially for page moves, merges, structure changes and migrations.
Where to implement redirects
Redirect plugins
Redirect plugins, or the redirect features in SEO plugins, let you manage redirects from the dashboard. They’re convenient, often log 404 errors and let non-technical users add redirects safely. They run in PHP, so each redirect requires WordPress to load, which is fine for moderate numbers of redirects.
Server-level redirects
Redirects in your Nginx or Apache configuration happen before WordPress loads. They’re faster and handle huge numbers of requests efficiently. They’re ideal for:
- Site-wide rules, like HTTP to HTTPS and www to non-www.
- Domain migrations.
- Large sets of redirects from a restructure.
- High-traffic URLs.
An Nginx example:
On Apache, in .htaccess:
The trade-off is that server-level redirects require server access and technical knowledge, and they’re less visible to people managing content.
CDN or edge redirects
Many CDNs let you define redirect rules at the edge, before requests reach your server. They’re fast and useful for domain-level changes and campaigns.
A sensible approach is to use server or edge rules for site-wide and high-volume redirects, and a plugin for day-to-day content redirects managed by editors.
Pattern-based redirects
When many URLs change in a consistent way, regular expressions let one rule handle them all. For example, if blog posts moved from /blog/2023/05/post-name/ to /post-name/:
Most redirect plugins also support regular expressions. Test pattern rules carefully. A badly written regex can redirect far more than intended, including pages that shouldn’t move at all.
Redirect to the most relevant page
Each old URL should redirect to its closest equivalent:
- A renamed page to its new URL.
- A merged article to the combined article.
- A discontinued product to its replacement or its category.
- An old service page to the current version of that service.
Avoid redirecting everything to the homepage. Search engines treat irrelevant redirects much like 404 errors, and visitors land somewhere that doesn’t match what they wanted. If there’s genuinely no relevant replacement, a 404 or 410 with a helpful error page is more honest.
Avoid redirect chains
A redirect chain happens when one redirect leads to another, which leads to another:
Chains slow down page loads, waste crawl effort and can dilute signals. Search engines follow a limited number of redirects before giving up.
Chains build up over time as content moves repeatedly. Fix them by pointing every old URL directly to the final destination:
Crawling tools report redirect chains on your site. Check after migrations and restructures, and occasionally otherwise.
Avoid redirect loops
A loop happens when redirects point back to each other, so the browser never reaches a final page and shows an error like “too many redirects”.
Common causes in WordPress include:
- Conflicting rules between a plugin and the server.
- HTTPS settings misconfigured behind a CDN or proxy, where WordPress thinks the request is HTTP and keeps redirecting to HTTPS.
- Site URL settings that don’t match server-level redirects, like WordPress set to www while the server redirects to non-www.
- Two redirect rules pointing to each other.
When you see a loop, check each redirect layer: CDN, server, plugins and WordPress settings.
Update internal links
Redirects are a safety net, not a substitute for correct links. After changing URLs, update internal links, menus and sitemaps to point directly to the new URLs. Internal links through redirects add unnecessary hops and look untidy to search engines.
For large changes, a careful search and replace in the database, with WP-CLI and a backup first, can update links in content.
Monitor 404 errors
404 logs reveal URLs that need redirects:
- Google Search Console shows not found errors encountered by Google.
- Redirect plugins often log 404s on your site.
- Server logs show every 404 request.
Not every 404 needs a redirect. Bots request random URLs constantly. Focus on 404s for URLs that used to exist, have external links or receive real visitors.
Keep redirects maintainable
Redirect lists grow over the years. To keep them manageable:
- Document why significant redirects exist, especially pattern rules.
- Group redirects by purpose, like a migration or restructure.
- Review periodically for chains, loops and rules pointing to pages that no longer exist.
- Keep permanent redirects long term. Old links on other sites and bookmarks can keep sending visitors for years. Removing redirects for pages that still receive traffic or links loses value.
Redirects during migrations
When moving domains or restructuring a whole site, plan redirects before launch:
- Crawl the old site and gather URLs from analytics, Search Console and backlink tools.
- Map each old URL to its new equivalent.
- Implement redirects at the server or edge level for large sets.
- Test a sample of old URLs, and ideally the whole list, after launch.
- Monitor 404s closely for several weeks.
Frequently asked questions
Should I use a plugin or server redirects?
Both have a place. Server or edge redirects are faster and ideal for site-wide and high-volume rules. Plugins are easier for content editors to manage day-to-day redirects.
How long should I keep 301 redirects?
As long as the old URLs might receive visitors or have links pointing to them, which often means permanently. Redirects cost very little to keep.
Do redirects hurt SEO?
Properly used 301 redirects preserve most ranking signals when content moves. Problems come from chains, loops, irrelevant redirects and using temporary redirects for permanent changes.
Why does my site show “too many redirects”?
There’s a redirect loop, often caused by conflicting HTTPS, www or URL settings between WordPress, plugins, the server and a CDN. Check each layer.
Final thoughts
Redirects are how you change URLs without breaking the web around you. Use 301s for permanent moves, 302s only for genuinely temporary ones and 410s for content that’s truly gone. Redirect to the most relevant page, avoid chains and loops, update internal links, monitor 404s and keep your redirect list documented and tidy. Done well, redirects make site changes invisible to visitors and search engines alike.




