How to Set Up 301 Redirects in WordPress (and Fix Broken URLs)

At some point, almost every WordPress site ends up with broken URLs.

It usually happens after changing permalinks, deleting pages, redesigning the site structure, or moving from HTTP to HTTPS. Everything looks fine on the surface, but behind the scenes, old URLs are still being accessed — by users, search engines, or links you forgot about.

In most sites I review, this is one of the most common SEO issues. Pages that used to exist return 404 errors, and any authority those URLs had is effectively lost.

That’s where 301 redirects come in.

Quick Answer / Summary

A 301 redirect permanently sends visitors and search engines from an old URL to a new one.

In WordPress, you can set up 301 redirects using:

  • A plugin (recommended for most sites)
  • Your .htaccess file (manual method)
  • Hosting or CDN tools (in some setups)

For most users, the simplest and safest approach is to use a redirect plugin and map old URLs to their new versions.

Why This Matters

Redirects solve several real problems:

  • Prevent visitors from hitting broken pages
  • Preserve SEO value when URLs change
  • Keep internal and external links working
  • Help search engines understand your site structure

When I set this up on WordPress sites, it often fixes issues like traffic drops after redesigns or indexing problems caused by outdated URLs.

Without proper redirects, you’re essentially throwing away traffic and SEO signals every time something changes.

Step-by-Step Instructions

This is the most practical method for most websites.

Step 1: Install a redirect plugin

Search for and install a plugin like:

  • Redirection (popular and reliable)
  • Rank Math (if you’re already using it)
  • Yoast SEO Premium (includes redirect manager)

Step 2: Create a new redirect

Once installed:

  1. Go to the plugin’s redirect section
  2. Add a new redirect
  3. Enter:
    • Source URL (old URL)
      Example: /old-page/
    • Target URL (new URL)
      Example: /new-page/
  4. Select 301 – Permanent Redirect
  5. Save the redirect

Step 3: Test the redirect

Open the old URL in your browser and confirm it sends you to the new page.

If it doesn’t work immediately, clear cache (plugin, hosting, or browser).


Method 2: Using .htaccess (Manual)

This is more advanced but useful if you want full control.

Step 1: Access your site files

Use:

  • Hosting file manager, or
  • FTP (like FileZilla)

Locate your .htaccess file in the root directory.

Step 2: Add redirect rules

Example:

Redirect 301 /old-page/ https://yourdomain.com/new-page/

Step 3: Save and upload

Be careful here — a small mistake can break your site.

In my experience, I only use this method when managing larger sites or handling bulk redirects.


If you change your permalink structure (for example, from ?p=123 to /post-name/), WordPress may handle some redirects automatically — but not always perfectly.

To avoid issues:

  • Use a plugin to catch unmatched URLs
  • Manually add redirects for important pages
  • Monitor 404 errors after the change

Practical Tips and Observations

1. Redirect only when necessary

Not every deleted page needs a redirect. If the content is gone and has no replacement, a 404 can be fine.

I usually focus on:

  • Pages with traffic
  • Pages with backlinks
  • Core content pages

2. Always redirect to the most relevant page

Avoid redirecting everything to the homepage.

For example:

  • Old blog post → similar blog post
  • Old service page → updated service page

This helps both users and SEO.


3. Keep redirects simple

Avoid chains like:

Page A → Page B → Page C

Instead:

Page A → Page C

Redirect chains slow down your site and confuse search engines.


4. Monitor 404 errors regularly

Most redirect plugins include a 404 log.

This is extremely useful. On many sites I work on, this is how I find broken links that need fixing.

Common Mistakes

1. Using the wrong redirect type

Make sure you use 301 (permanent), not 302 (temporary), unless you specifically need a temporary redirect.


2. Creating redirect loops

This happens when:

  • A page redirects to itself
  • Two pages redirect to each other

It breaks the page completely.


3. Forgetting redirects after changing URLs

This often happens after:

  • Updating permalinks
  • Renaming pages
  • Moving content

If you don’t add redirects, those old URLs will return 404 errors.


4. Redirecting everything to the homepage

This is a quick fix, but not a good one.

It creates a poor user experience and weakens SEO signals.


5. Not testing redirects

Always test after adding them. Small mistakes (like missing slashes) can cause them to fail.

When to Use This vs Alternatives

Use 301 redirects when:

  • You permanently change a URL
  • You delete a page and have a relevant replacement
  • You restructure your site
  • You move from HTTP to HTTPS
  • You change domain or migrate content

Use other approaches when:

  • 404 (Not Found):
    When content is intentionally removed with no replacement
  • 410 (Gone):
    When you want to explicitly tell search engines a page is permanently removed
  • Canonical tags:
    When similar content exists but you don’t want to redirect users

In most WordPress setups, 301 redirects are the default solution for URL changes.

Conclusion

301 redirects are one of those small technical details that make a big difference over time.

They keep your site usable, preserve SEO value, and prevent issues when your content changes. Once you start monitoring broken URLs and setting up redirects properly, it becomes part of normal site maintenance.

For most sites, a simple redirect plugin is all you need. Set it up once, check it occasionally, and you avoid a lot of common problems later on.