How to merge WordPress categories without plugins

Martin Brinkmann
Nov 29, 2012
Development
|
3

I'm currently working on reducing the site's categories and tags in an effort to reduce duplicate content and topical dilution. For that, I decided to merge a couple of categories into each other and remove others completely and use 301 redirects to point visitors to appropriate destinations on the blog.

Ghacks had for instance a Tutorial Basic and Tutorial Advanced category up until recently which divided tutorial posts, how-tos and the like, into those two categories. Sometimes, tutorials were assigned to both categories which did not make sense at all. I therefore made the decision to merge the Tutorials Advanced category into the Tutorials Basic category and rename that category in the end to Tutorials.

But how do you merge categories in WordPress? I did not really want to hack the database directly or change all posts assigned to the category that i want to merge manually. If you want to do it manually, simply edit any post in a category and replace the current category with the new one you want to assign it to.  Merging cats manually gives you control over the process which is something that you should keep in mind, as we will get back to it later on.

How to merge WordPress categories

What you need to do is the following. Open Post > All Posts and filter the posts by the category that you want to merge with another. This displays all posts of the blog that have been assigned to that category.If you have lots of posts in that category, you may need to change the amount of posts displayed on a single page. Do that with a click on Screen Options at the top to change the post count per page.

Do not go overboard here though as your server can only process that many changes at any given time. It may timeout or run into issues if you set the value to high. Select all posts on the page and click on Bulk Actions > Edit, and then apply to edit them all in bulk.

wordpress edit categories

A menu is displayed right below the selection that you have just made at the top of the page. Locate the Categories menu here and pick the new category you want all of the posts to be listed in. Note that this will add the category to the post, but not remove the old category.

merge categories

Click on Update to run the change. This may take quite some time depending on the number of posts you have selected and the speed of your server.

Once all posts have been assigned a new category in addition to the old, it is time to delete the old category in WordPress. click  Posts > Categories and locate the category that you want to remove from WordPress. Move the mouse over it and select delete from the menu that opens up. Confirm the selection again and the category should be gone for good.

You then need to add a 301 redirect that points from the old category's url to the new category or another destination on your site. I recommend you use a plugin like Redirection for that, but you can alternatively add the redirect code to the .htaccess file as well.

You may encounter issues using the method if you have originally assigned multiple categories and want them all gone from the posts you have selected, but not deleted from WordPress. You can only do that by manually deleting excess categories from the post. I suggest you do that before you run the delete of the category.

Advertisement

Previous Post: «
Next Post: «

Comments

  1. Kannan said on November 29, 2012 at 3:39 pm
    Reply

    I was looking for a way to do that, but the available information mixed up me as I had multiple categories assigned to a single post. Now, I think the above information will help me.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.