Support » Fixing WordPress » Rename “category” slug in URL

  • I was wondering if anyone successfully renamed the “category” slug that is in every WordPress install. While I was able to remove the word from most items, it must appear when viewing subcategories or else it would result in an error. I’ve accepted that this is unfortunately a part of WordPress for the moment even though it should be priority for the WP team to fix in 2.8! 😉

    As a workaround, I figured I could rename the word category to autos, e.g.

    http://www.mysite.com/category/cars/audi/ to

    http://www.mysite.com/autos/cars/audi/

    At least this would be better for SEO – anyone do this before? Just want to make sure it works. Trying to remove category slug never worked no matter which solution I tried.

Viewing 15 replies - 1 through 15 (of 21 total)
  • esmi

    (@esmi)

    Forum Moderator

    Seems to me that this would be better addressed by setting up custom permalinks via Admin/Settings/Permalinks

    Esmi – thanks but that isn’t the case. The problem is as follows. Put in your permalinks: /%postname%/

    You think that will not output the “category” right? Wrong. It doesn’t put out a category if you’re looking at a directory or post but if you’re looking at a subdirectory, WordPress inserts the word “category” into your URL. This is a known problem and there is no solution I’ve found that works reliably.

    The URL should appear as:

    http://www.yoursite.com/firstcat/secondcat

    but wordpress outputs it as:

    http://www.yoursite.com/category/firstcat/secondcat

    This is INCREDIBLY annoying.

    Did you change the Category base? Just use a web-safe word for this (no percents or slashes).

    http://codex.wordpress.org/Permalinks_Options_SubPanel

    Thanks but this is not what I’m talking about. If you put in a category base, you’ll get the category link every time. You’ll get:

    yoursite.com/categorybase/firstcat/

    I don’t want any category base at all. The problem is that WordPress will put one in there even if you don’t have anything entered and you’re just looking for mysite/com/postname/

    This is a problem that has been attempted to be handled for years if you search for it, e.g. remove category slug, etc. I’m trying to remove the default entry of the word “category” from the URL when WordPress decides to enter it, such as when you are browsing main and subcategories. I think it may be in the cateogry-template.php in the wp-includes folder and was wondering if anyone did this before.

    yeesh… has NOBODY done this before? OK… I’m going to have to hack this myself and see all the other WP blogs out there still displaying “categories” in their extended URLs!!!

    @mercime

    (@mercime)

    Volunteer Moderator

    Wow – thanks – this version worked for me. Prior versions were not successful.

    Bummer – I spoke to soon. More errors just to solve this stupid issue. It occurs on my main index page for all my categories and makes no sense as to why it occurs.

    Warning: preg_match() [function.preg-match]: Compilation failed: unrecognized character after (? or (?- at offset 147 in /home/mysite/public_html/wp-content/plugins/redirection/models/redirect.php on line 318

    I think I’m just better off changing the name of “category” to the slug that I want to use instead of “cagegory” like “cars”

    @mercime

    (@mercime)

    Volunteer Moderator

    Not to belabor this point but with the decategorizer installed, you would need to input the NEW URL’s (because no more /category/ in URL’s) which you redirected to within your post.

    Not sure I understand – the decategorizer worked for most pages, just not all. I found another plugin I’m testing that is actually doing the job quite well right now… we’ll see. The plugin should be standard wordpress…

    try this:

    /%category%/%postname%/

    It works fine.

    eworque – thanks for the post but putting in category into the permalink means you’ll then have the category in every permalink you generate.

    Unfortunately the new plugin worked for a bit and now spits out 404 errors. The problem is that if you just put in /%postname%/ , WordPress will put in the word “category” when you get past one level of categorization. Nothing anyone has suggested has worked reliably, not htaccess modifications, not the redirection plugin — NOTHING. I’ve wasted far too much time on this unfortunately.

    The simple solution I want to find is how to change that word “category” to something else only in the instance when WordPress makes it happen, when viewing a category + subcategory in the URL structure. Getting rid of the slug makes WordPress unreliable.

    Many thanks to everyone trying to help out. This has plagued much of the community unfortunately.

    Nope… nothing works. WordPress must have its “category” slug somewhere. With every plugin, htaccess hack, it fixes one item and breaks the other. If you fix the category, it breaks subcategories and vice versa. I’m just going to see if I can change the slug “category” to something useful like “cars” and bedone with this mess.

    Bleah… nobody has done this? OK… I’ll take a stab at it and see what I can do at hacking a good solution.

    Hey,

    Not sure whether you’ve tried this (too tired to read entire post) http://www.keyframe5.com/how-to-remove-category-slug-from-wordpress-url/ im gonna give it a try now, as Im in the same boat as you 🙂

    Dan

Viewing 15 replies - 1 through 15 (of 21 total)
  • The topic ‘Rename “category” slug in URL’ is closed to new replies.