I'm redeveloping a site on a fresh WP install. The old site had the following permalink structure:


The new site has the following permalink structure:


I need to set up a 301 redirect in htaccess that correctly redirects the old posts. I've found a lot of rewrite rules for the opposite way (YEAR/MONTH/POSTNAME/ to CATEGORY/POSTNAME/) but none for the way I need.

I prefer not to use a plugin. It appears that all the redirection plugins don't work. But, if Dean's Permalink Migration is recommended I'll use it.

  • Were you able to figure this out or are you still looking for help? Commented Jan 22, 2012 at 17:22

1 Answer 1


WordPress actually 301's these out of the box! It handles a number of basic structures by default, so unless you're switching to or from a very unique configuration (e.g. /blog/%postname%/), it will probably work.

  • Let's assume for a moment that this is not a fresh WP install and that old posts need 301 redirects. WordPress doesn't handle this out of the box
    – AlxVallejo
    Commented May 14, 2013 at 17:48
  • @AlxVallejo, sure it does. If you're having issues, you should open a new question about why that isn't working for you (especially instead of downvoting a perfectly legitimate answer to someone else's question). Commented May 14, 2013 at 19:02
  • Your saying that if you change the permalink structure WordPress will automatically redirect the old permalink structure which is incorrect.
    – AlxVallejo
    Commented May 14, 2013 at 19:24
  • @AlxVallejo Depending on the redirect structure, yes, it is correct. For instance, take an existing WP install with a "Day and name" permalink structure, and change it to /%category%/%postname%/ and the day and name urls still work and 301 redirect to the new permalinks. Commented May 14, 2013 at 20:55
  • Hmm, sorry for the downvote, that's not the case for me though - I switched exactly as you said and was not redirected.
    – AlxVallejo
    Commented May 15, 2013 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.