WordPress Redirects: 301s Done Right (2026)
A practical guide to WordPress redirects: 301 vs 302, adding redirects with plugins or .htaccess, common use cases, and how to avoid chains and loops.
Redirects are one of those unglamorous pieces of technical SEO that quietly determine whether your site keeps its rankings through every change you make. Rename a post, delete an old landing page, move to HTTPS, or migrate to a new domain, and the URLs your visitors and Google already know suddenly point nowhere — unless you send them somewhere useful. That “somewhere useful” is a redirect.
Done right, WordPress redirects preserve link equity, protect user experience, and keep search engines confident about which URL is the real one. Done carelessly, they create chains, loops, and dead ends that leak ranking signals and frustrate visitors. This guide covers the redirect types that matter, every practical way to add them in WordPress, the use cases you will actually run into, and the best practices that separate a clean redirect strategy from a messy one.
Redirect Types: 301, 302, and When Each Is Correct
A redirect is an instruction from your server telling a browser (and a crawler) that the URL it requested lives at a different address. The HTTP status code attached to that instruction tells search engines how to treat the move. Getting the code right is the whole game.
301 — Permanent Redirect
A 301 redirect signals that a URL has moved permanently and the old address will not return. This is the workhorse of SEO redirects. When Google sees a 301, it transfers the ranking signals — link equity, relevance, history — from the old URL to the new one, and eventually swaps the new URL into its index in place of the old one.
Use a 301 whenever the change is permanent:
- You changed a post or page slug
- You deleted content and want to point visitors to a relevant replacement
- You consolidated two pages into one
- You moved from HTTP to HTTPS, or www to non-www
- You migrated to a new domain
302 — Temporary Redirect
A 302 redirect (and its stricter sibling, the 307) tells search engines the move is temporary and the original URL will come back. Because the move is temporary, Google keeps the original URL in its index and does not transfer ranking signals to the destination.
That distinction is exactly why 302s are so often misused. If you 302-redirect a permanently moved page, Google may keep indexing the old, now-broken URL and never fully credit the new one. Reserve 302s for genuinely temporary situations:
- A page is down for maintenance and will return
- You are running a short-term promotion or A/B test at a temporary URL
- You are geo- or device-routing visitors on a temporary basis
The rule of thumb is simple: if you are not certain the old URL will come back, use a 301. When SEO value is on the line, permanent is almost always the correct answer.
How to Add Redirects in WordPress
There are three broad approaches, ranging from beginner-friendly plugin panels to server-level configuration. Pick the one that matches your comfort level and the scale of what you are redirecting.
Option 1: Your SEO Plugin’s Redirect Manager
If you already run an SEO plugin, you may not need anything else. Both major plugins include redirect tools:
- Rank Math ships a redirect manager in its free tier. Enable the Redirections module, then go to Rank Math → Redirections → Add New, enter the source URL, the destination, and choose the redirect type (301 Permanent Move is the default). Rank Math can also automatically offer to create a redirect when you change a published post’s slug.
- Yoast SEO Premium includes a redirect manager that watches for slug changes and deletions and prompts you to create a redirect on the spot — one of the most useful reasons to run the Premium tier. Manage entries under Yoast SEO → Redirects.
The advantage here is convenience: redirects live in your dashboard, they are easy to edit, and the plugin catches the most common mistake (changing a URL without redirecting the old one).
Option 2: A Dedicated Redirect Plugin
If you do not want to tie redirects to an SEO plugin, the free Redirection plugin is the long-standing standard. After installing it, go to Tools → Redirection, add a source and target URL, and pick 301 as the HTTP code. Redirection also logs 404 hits, so you can watch for broken URLs as they happen and redirect them before they cost you traffic.
Dedicated plugins are ideal when you have a lot of one-off redirects to manage, want 404 logging, or need a searchable, exportable list of every redirect on the site.

Option 3: Server-Level Redirects (.htaccess or Nginx)
Server-level redirects are the fastest, because they resolve before WordPress even loads. They are the right tool for site-wide rules like HTTP-to-HTTPS and www consolidation, and for very high-traffic redirects where shaving off the PHP overhead matters.
On Apache servers, redirects go in your .htaccess file. A single-page permanent redirect looks like this:
# Redirect a single old URL to a new one
Redirect 301 /old-page/ https://example.com/new-page/
# Force HTTPS and non-www for the whole site
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
On Nginx, the equivalent lives in your server block:
# Single-page redirect
location = /old-page/ {
return 301 https://example.com/new-page/;
}
A word of caution: .htaccess is powerful and unforgiving. A stray character can take a site down, and WordPress manages part of that file itself. Back it up before editing, add your rules outside the # BEGIN WordPress and # END WordPress markers, and if you are not comfortable at this level, use a plugin instead. For a broader look at server and crawl configuration, see our guide to technical SEO for WordPress.
Common WordPress Redirect Use Cases
Most redirects you will ever create fall into a handful of recurring scenarios.
Changed Slug
You publish a post at /wordress-tips/, then notice the typo and fix the slug to /wordpress-tips/. The old URL may already be linked and indexed. Add a 301 from the old slug to the new one so no traffic or link equity is lost. Rank Math and Yoast Premium can create this redirect automatically the moment you change the slug.
Deleted Page
When you remove a page, do not leave a dead URL behind. If a close replacement exists, 301 the old URL to it. If nothing relevant exists, it is sometimes better to let the URL return a proper 404 or 410 than to force an irrelevant redirect — more on that below. For a full treatment of dead URLs, see how to fix 404 errors in WordPress.
HTTP to HTTPS
Once you have an SSL certificate installed, every http:// request should 301-redirect to its https:// equivalent. This is best handled at the server level with a site-wide rule so no HTTP URL is ever served.
www vs. Non-www
Your site should resolve to one canonical hostname — either www.example.com or example.com, but never both. Pick one, set it in Settings → General, and 301-redirect the other version site-wide. Serving both creates duplicate URLs for every page; the same principle applies to trailing-slash variants. If this sounds familiar, our guide on how to fix duplicate content in WordPress covers why URL consolidation matters so much.
Trailing Slash Consistency
/about and /about/ can be treated as two different URLs. WordPress permalinks usually enforce one style, but if both resolve, add a rule that redirects to your chosen format so links and canonicals stay consistent.
Migration URL Mapping
The highest-stakes scenario. When you move to a new domain or restructure your URLs wholesale, build a redirect map — a spreadsheet listing every old URL and its exact new destination. Redirect each old URL to its closest equivalent, one hop, one 301. Resist the temptation to point everything at the homepage; that erases the topical relevance Google associated with each specific page.
Redirect Best Practices
The mechanics of adding a redirect are easy. Keeping your redirect setup healthy over time takes a little discipline.
Avoid redirect chains. A chain is when URL A redirects to B, which redirects to C. Each hop adds latency, dilutes signals slightly, and wastes crawl budget. Always redirect the original URL directly to the final destination. When you create a new redirect that supersedes an old one, update the old redirect to point straight to the new target.
Avoid redirect loops. A loop — A points to B and B points back to A — makes a page completely inaccessible and throws a browser error. These usually come from conflicting rules across a plugin and .htaccess, or from an HTTPS rule fighting a canonical setting. If a page suddenly breaks after you add a redirect, a loop is the first suspect.
Do not mass-redirect everything to the homepage. When cleaning up deleted pages, sending them all to your homepage feels tidy but is a known anti-pattern. Google may treat these as soft 404s, and visitors landing on a generic homepage instead of the content they expected will bounce. Redirect to a genuinely relevant page, or return a clean 404 if none exists.
Keep permanent redirects permanent. Once a 301 has been in place long enough for Google to transfer signals, leave it. Removing it later resurrects the dead URL and undoes the consolidation. Redirects are cheap to keep; broken links are expensive.
Match relevance, not just structure. A redirect should send the visitor somewhere that satisfies the intent behind the original URL. A deleted product should point to a similar product or its category, not to an unrelated page.
How to Audit Your Redirects
Redirects accumulate. Over a couple of years of edits, migrations, and cleanups, even a well-run site collects chains and orphaned rules. Audit them periodically.
- Crawl your site with a tool like Screaming Frog or Ahrefs Site Audit. Both report redirect chains, loops, and any redirect that ends in a 404. Flatten every chain to a single hop.
- Check the Redirection plugin’s 404 log (or Rank Math’s) to catch URLs that visitors and bots are hitting but that have no redirect yet.
- Review the Pages report in Google Search Console, which flags “Page with redirect” and error states so you can confirm Google is following your redirects as intended.
- Test the big ones manually. For critical URLs, use your browser’s network tab or a header-checking tool to confirm the status code is
301and the destination is correct in a single hop.
For the wider context of how redirects sit alongside canonicals, sitemaps, and indexing, our WordPress SEO guide ties the whole picture together, and the on-page SEO for WordPress guide covers the content-side signals that redirects help preserve.
Conclusion
Redirects are the safety net under every change you make to your site’s URLs. The core discipline is small: use 301s for permanent moves, reserve 302s for genuinely temporary ones, add them with whatever tool fits your scale — an SEO plugin, the Redirection plugin, or server-level rules — and keep the setup clean by avoiding chains, loops, and lazy homepage redirects. Audit them once or twice a year, and every slug change, deletion, and migration will keep its hard-won rankings instead of leaking them into 404s.
FAQ
What is the difference between a 301 and a 302 redirect in WordPress?
A 301 is a permanent redirect that tells search engines the old URL has moved for good and transfers its ranking signals to the new URL. A 302 is temporary — Google keeps the original URL indexed and does not pass ranking signals to the destination. For any permanent change, use a 301.
How do I redirect a URL in WordPress without editing code?
Use a plugin. The free Redirection plugin (Tools → Redirection) or Rank Math’s Redirections module lets you enter a source URL, a destination, and a 301 status code entirely from the dashboard. Yoast SEO Premium offers the same and can create redirects automatically when you change a slug.
Do too many redirects slow down my site?
A reasonable number of clean, single-hop redirects has negligible impact. The performance problems come from redirect chains, where one URL bounces through several others before reaching the destination — each hop adds latency. Keep every redirect pointing directly to its final target.
Should I redirect deleted pages to my homepage?
Usually not. Mass-redirecting deleted pages to the homepage is treated by Google as a soft 404 and gives visitors a poor experience. Redirect to a genuinely relevant page instead, or let the URL return a proper 404 if no suitable replacement exists.
How do I set up an HTTP to HTTPS redirect in WordPress?
After installing an SSL certificate, add a site-wide 301 rule at the server level. On Apache, a RewriteCond %{HTTPS} off rule in .htaccess forces every HTTP request to its HTTPS version. Plugins like Really Simple SSL can handle this for you if you would rather not edit server files.