301 redirects WordPress guide


  1. Thank you for this super guide !!! It’s what I was lookin for 🙂 Many thanks

      1. Avatar of golden goose golden goose says:

        is there a way to redirect check out page to another website?

  2. Thanks, For a great guide!
    I have managed to redirect my old pages with a horrible permalink structure to new duplicate pages with mydomainname/post-name. Using the simple 301 redirects plugin.
    I did this after struggling to change my permalink structure in settings.
    It appears this has worked fine and the desired urls are displaying.
    My Question is however, Can I now delete/trash my old pages? As they are just duplicates of the new pages. Any advice would be great. Thanks again.

    1. Hi Michael,
      Glad that you found it useful!

      – Changing Permalinks under settings is easy and you should have tried doing that instead of creating duplicated posts.
      Also, you could have changed the permalinks of each individual page by just clicking on the EDIT button next to permalink under the page title.

      But as you have done the hard work already and as all the content is on the same domain, you can delete the existing pages. Please make sure the redirection is in place and everything is working fine.

      I hope it helps!

  3. Hi,

    Thanks for this awesome, exactly what I was looking for to setup 301 redirects on my WordPress blog.


  4. I am running multi site setup and this is not working for me.

    I have 123.mydomail.com as a site. I bought new site and want to redirect all visitors at 123.mydomain.com to 123.com but don’t want to redirect users at mydomain.com

    Thanks for help

  5. I just changed my permalinks and not sure how to redirect the old permalinks to the new ones. Do any of the suggested plugins do this automatically?? I don’t want to paste in every single page URL to redirect my pages manually.

  6. Hi Pardeep Sir,
    Very nice and helpful article on wordpress redirects. i want some bit more help about redirection.
    I have a blog for wrestling and now i want that what a user click on download link or view online link inside the post,
    wordpress redirects to a custom html page, which designed for only displaying iframe video box to view online and some ads.
    what should i do?

    1. Hi Ali,
      Is that not as simple as linking to another post? Where do you need the redirection?
      And if you need redirection for the post in another domain, you can create redirects manually for each url pointing to the post by using plugins such as Redirection. (Install the plugin, go to Tools > Redirection and setup for each url to point to post on a new domain).

  7. Nice guide. Redirection WordPress plugin is quite nice and it’s working!

  8. Hi Pradeep,

    Great article!

    I have a question.

    1) I am moving all my content from a year old site to a new domain and the articles will now be on the new site but living under 2 new categories: Example:





    Using the Yoast SEO tool you mentioned, can I use a 301 redirect where I can redirect all the articles within a folder (i.e. “chocolate”) on my old site to then live under the new folders (i.e. “food/desserts”) on the new site?

    Would it be:

    # BEGIN 301 Redirects

    Redirect 301 /chocolate/* https://www.domain2.com/category/food/desserts

    #END 301 Redirects

    ..or do i need to redirect one unique URL string to the new unique URL string on the new site?

    2) Ultimately, I want to dispose of hosted site 1 above but if i’m understanding correctly, I need to have that first domain and hosted site up in order for the redirect to work? Is that correct? (Perhaps after a couple of years, I can dispose of that first site?)

    3) That said, will having the same content on domain 1/hosted site 1 AND now domain 2/hosted site 2 effect my SEO?

    thank you,

    1. Hi Matt,

      1. I guess it should work as far as I understand but try and see to make it sure.

      2. Yes, you will need to keep the previous site active. Use the Google search console to notify google of change of your website address.

      You need to have both of your domains (the domain before 301 redirections and the new domain) verified in the search console. See the complete instructions above.

      Ideally, you should keep it as long as possible but depending on your situation (such as the traffic you are getting to those previous domain links, other websites still linking to your old domain); you might want to decide accordingly.

      Google’s John Mueller in an hangout session suggested to keep it for at least a year.

      3. The entire point of using 301 redirection is to preserve your SEO efforts. As long as you have redirected all the links properly, this shouldn’t be a problem.

  9. Hi, Pradeep, nice article, i’m also battling one scenario of my own, recently i have launched a wordpress multi site for one of client, after launch client change his mind to use the full domain name with “www”, so i have change .htaccess file to force the url to use the www, once the it’s active my site goes down, what i except was ” data base connection error” since i have update the url on the data base, what i’m getting is ” cannot find server error”. can you help me figure it out what’s wrong in my code, below is the .htaccess i’m using

    RewriteEngine on
    RewriteBase /

    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]

    RewriteRule ^index\.php$ – [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

  10. Hello
    thanks for great post
    i want to change the permalink structure to my website
    from /%category%/%post_id%
    to /%post_id%/%postname%/

    and want to redirect all my old posts (1287 post) indexed in google search to the new structure “301” redirect i tried but failed

  11. Great – this enabled me, finally, to organise the 301 redirects for our website. Thanks a lot, very clear.

  12. # BEGIN WordPress

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^pradeep\.co$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.pradeep\.co$
    RewriteRule (.*)$ https://pradeepsingh.com/$1 [R=301,L]

    # END WordPress

    why use ^pradeep\.co$ [OR] instead of ^pradeep.com$ [OR], what is the meaning of “\” and the “co$”, thank!

  13. Thanks a lot!
    I had no idea what to do when changing URL´s

  14. Simple 301 redirect doesnt work anymore, and the lazy developer doenst response the issues.

    Bah, piece of shit.

  15. Finally. An article on 301 redirects that doesn’t give me a nosebleed. Thank you. I had a lot of confusion on this earlier because I was reading articles that were not clear on what type of plugin and where to install the plugins for different circumstances. To be clear — I am switching from blogger to wordpress, using the same domain, but with slightly different permalinks (No more html in the end). So I will need any of the plugins you mentioned in 1-3. I have a question. What’s stopping people from redirecting popular urls and permalinks to their own sites using these plugins?

    Thank you so much!

    1. Hi Ina, Glad that the article is helpful to you.
      These plugins work only the sites that you install and the URLs that you can use for redirection “Redirect From URL” should be your website URL that you have installed the plugin on. Of course, you can choose to “Redirect To” any other websites URL.

      1. Right, so since I’m transferring to wordpress, the plugin should be installed in that wordpress?

    2. I had trouble with Simple 301 redirect, problems with and without the ‘/’ at the end of my URL’s or something? Then it caused issues with my security certificate so I went looking for an alternative.

      Anyway this was before I realised there was a WordPress one ‘Redirection WordPress Plugin’ as you have mentioned in your article. I found this much easier to use once I realised I could just keep an eye on the 404’s by clicking the tab then when I saw one that I’d miss it’s very easy to just click ‘add redirect’ then choose the page on your site that it needs to go to (including your domain name and the http or https – Full URL of your page that you want it to go to. You can keep an eye on how many hits each redirect is getting as well. Much easier!

      And here I was copying and pasting them all from Notepad into the ‘Simple 301’ and not even sure if I needed some of them. Now I can keep an eye on the 404’s AND the redirects then eventually remove the old ones when they aren’t getting hits anymore. Is that the best way to do it? Or should I just leave them in – I have some 13 year old URL’s! Maybe it will be good for SEO if I picked up these really old ones as well? Or should I just let them go now that they are so old? I still have a relevant page I could direct them to, same content just a new url.
      I’m still a bit confused about the best way to do it and how long to leave them in place. And if URL age has any effect on SEO even if it has hardly any traffic on it these days. I guess it can’t hurt to try, I will report back if I learn anything more.

      1. Hi Andrew,
        Glad that you found a plugin that works for you.

        There’s no harm in leaving them in the redirections if you have time but again like you said, you can track to see if those links are still getting traffic and leading to 404 errors. If those old URLs are in your control and linked from within your site, you should rather invest time in changing those.

        You can always wait to see if those links get traffic from external websites and keep tracking your 404 errors and redirect accordingly.

  16. Hello sir

    How to redirect link example like bellow:





    Many my articel found in google search engine in doc or pdf and i want user can’t download in google search but after found my articel in google user redirect ( entry to web ) page articel.

    How to write code redirect in htaccess? thanks you .

  17. Hello there,
    I used .httacces method to redirect about 50 old urls on .httaccess.
    There are ugly urls generated by, I don’t know, maybe by plugins, for example https://www.example.com/{true_url}/2147483647 or 9223372036854775807
    and there are some urls from deleted posts.

    In your opinion, this is okay we have .htaccess with some redirects ? My .htaccess file almost 25kB

  18. Thanks for the guide. I recently changed my domain, I did every thing right (in my best judgment), I also notified Google search of the change via webmasters tool, but for some days now, search traffic has been dropping.
    Do you have any suggestion as what I should do, or should I just wait? It is not up to 2 weeks since the change.

    1. It definitely takes some time for the new domain. Be patient and focus on other aspects of the blog/website.

  19. Thanks for sharing this – I have tried option 1 and 2 but no luck 🙁 I had or rather have a wordpress.com blog – it’s still active, but this weekend I registered a new domain (.com) via Siteground. I really don’t know how to redirect to my new domain as both options mentioned have not worked for me. Do you perhpas have another suggestion?

    Thank you

    1. Hi Nicola,
      All these suggestions are for self-hosted WordPress websites. WordPress.com operates slightly differently and there are limitations in terms of what you can install.

    1. I wouldn’t recommend doing that. You should monitor all your 404 errors and do 301 redirect to appropriate pages.
      Use the Redirection plugin mentioned in the article above, instead.

  20. I recently changed by site to SSL. Should I use 301 redirect for http to https?
    What about the remainder of my site…I have about 300 pages. Will this one change take care of my whole site?

  21. Avatar of Joshua VanDeBrake Joshua VanDeBrake says:

    Wow! Super helpful guide! Answered a lot of questions I was curious about. Keep up the good work!

  22. Great Guide.

    I’m currently in the process of transferring one WordPress Sute on a HTTP domain to a new WordPress site on a different HTTPS domain.

    So would I need to set up the Redirection plugin on the old site & point the 301 to an address on the new site?


    1. Hi Vince,

      That’s right. You will need to 301 redirect to new https domain from existing website.

  23. Great article
    Doing 301 redirect on WordPress when necessary is very good for seo, i use yoast premium plugin for my 301 redirects

  24. Hi
    Thanks for this helpful article. I have recently migrated from a WordPress.com site to a self-hosted WordPress.org site, and wanted to use the Simple 301 (plugin no.2 in your article) redirect to point old subscribers and readers of my old site to the corresponding posts on my new one. However, after adding redirects for all my posts (about 40), when I check my old site there is no redirection to my new site. What am I doing wrong?

  25. Avatar of Johnbosco Johnbosco says:

    Thanks. but how can i redirect my permalink structure from /%year%/%monthnum%/%postname%.html to just %postname%.html using .htaccess

  26. Thank you for the helpful 301 redirect guide, Pradeep. I have a specific question I’m hoping you can help with. I just moved my wordpress site to HTTPS using the Really Simple SSL wordpress plugin because that’s what the guy on the phone at GoDaddy suggested. The site is doing fine, page rankings seem the same, but now I’ve decided I want to change my permalink structure before I add any more blog posts. I want to do 301 redirects for the posts i have so far but I’m worried it’s going to mess with the SSL plugin. Is there anything I need to watch out for or any best practices? Should I just manually add the redirects for the 16 blog posts I have in the .htaaccess?

    1. Thank you for your comment, Rebecca – really glad that it was helpful to you. If you have only 16 blog posts, I would recommend adding the redirections manually.

      Use the Redirection plugin mentioned above and add the redirects to 16 blog posts.

  27. Thank you, this is great.

    Do you by any chance know what the code for the htaccess file is to exempt the facebook crawler from the redirections? I have old blog posts from before migration that I want to use the social share counters for, so Facebook needs to not redirect to the new page (I added an go:url tag to the meta tags for the new URL that points facebook to the old URL but now need to prevent redirection for the FB crawler or else it can’t access the old urL). Here is what I THINK but I’m not sure if it’s correct:

    My old htaccess file:

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    and now with the new line:

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/1.1
    RewriteRule . /index.php [L]

    # END WordPress


  28. Thanks for the article.

    Just a quick question: If I create a redirect with the Redirection plugin will it still work if I delete the plugin afterwards?

  29. Thanks, sir for the great info. I’m using Safe Redirect Manager Plugin for redirecting my removed post URLs to the new one. But, how to redirect http to https?

  30. Avatar of Backpacking Series Backpacking Series says:

    Thanks a ton for this super helpful guide! Happy that I stumbled upon it and saved my site from a potential disaster! 🙂 Quick query, if you are still listening in on this post.

    I prefer the Redirection plugin, primarily because it supports automatic redirection. So, does ‘automatic’ here mean that after I install and activate the plugin, I simply have to navigate to WordPress -> Setting -> Permalinks to change the structure of the site’s posts. And that’s it – the Redirection plugin will detect this change and take care of everything after. Or do I need to do anything else?

    Once again, thank you for the helpful post!

    1. No, you will still have to manually add redirection for all the posts if you’re not using any redirect rules in .htaccess file (assuming you want to change the entire permalink structure of your site).

      1. Avatar of Backpacking Series Backpacking Series says:

        Thank you so much.

        I chose to, instead, edit the htaccess file with a single Redirectmatch rule followed by a changing the permalink structure. It was fast and convenient and switched over nicely.

        Kind regards,

  31. Thanks Pradeep for a very helpful and through guide. I was very frustrated with all the others. They beat around the bush and was of little or no help. Yours is through, helpful and practical. Thanks again. Keep up the great job.

  32. hello I read everything and applied but didn’t work please help me out
    301 permanent Redirects Not Working old domain to new domain ..
    my website running on godaddy hosting. I changed website address old domain to new domain but when i click on old domain its not redirecting to new domain…Why?

    When I search on google for my old website then its showing result when i click on any post then showing This Site can’t be reached… Plz help me

  33. Avatar of sahildelu sahildelu says:

    My Website in two 302, “Moved Temporarily” Error show , How to fix

  34. It’s really helpful for me. I have been using Redirection WordPress plugin for 7 days, it works perfectly. Thank you.

  35. Avatar of Winnie Williams Winnie Williams says:

    You’ve recently updated this article, but I’m curious whether you are still using either of your first two choices. I have previously used Simple 301 redirects, but on a new site, I can’t get it to do anything at all. So I tried your first choice, and I’m running into the same problem.

  36. Nice article was able to add a 301 redirect to domain afrojac10.ooo >>> afrojac10.com. And also changed my site url in search console.
    But I faced some challenges here’s what happened.
    When I was changing Address URL in Google search console I was unable to confirm the old URL is my property so I had to verify it again. I tried uploading the Google file to host (root of domain) for verification still did not work.
    But here’s I did it
    1. Go the the new search console
    2. Add the property again using domain verification.
    3. Google will give you a text file ,copy the file and add it to DNS in your domain then go back and verify.
    4. If you’re using a domain that does not have DNS and you use Cloudflare simply copy the text and do this.
    5. Go to Cloudflare dashboard and add a new record (under DNS section) use TXT: “common name” should be your domain name then paste what you copied from Google and save.
    6. Go back to Google and verify, that’s all you are good to go now.

  37. Avatar of rovin singh chauhan rovin singh chauhan says:

    totally solved my problem thanks admin.

  38. Avatar of Sudin Koirala Sudin Koirala says:

    It’s really helpful for me dai. Thanks for this complete redirect Guide

  39. Very helpful! I was afraid this would be too much for me as I am NOT tech-savvy. The WP plugin made my 301 redirect a breeze.

  40. Hello! Using the WP redirection plug in: does my old website/URL need to be active in order for it to work? My old URL is gone. But I’m trying to get my pins to redirect to my new website and it’s not working with the redirection plug in

    1. Avatar of pradeepdotco pradeepdotco says:

      Hi Kristin,
      The redirection plugin should remain active on the old website – the website whose URLs you want to redirect.

  41. Hi,
    My previous website was in WordPress now I have shifted it to HTML can you please tell me how to redirect old URLs to new website.

    1. If your website URL is the same, but the page names have changed, you could use your .htaccess file to do the redirection. You could use rules and redirect all files in the same way, or you could do specific files. Without knowing specifics of what you want to do, I’d suggest you google using .htaccess to redirect files and I think you will find what you want.

  42. Hi, just a piece of info that might be useful.

    I normally work with “Simple 301 Redirects” but this time I decided to try out “Redirection” by John Godley. The redirections have been working perfectly but when I needed to remove them… One of the redirections kept redirecting even after having deleted it (yes, I cleared cache, cookies and whatnot). I disabled the plugin and tadaaa! The redirection is no longer there, fortunately. Just saying this because it took me a while to realise that it might be the plugin and not a WordPress error, or mine.

    Thanks for the post btw!

Leave a Reply

Your email address will not be published. Required fields are marked *