Support » Requests and Feedback » Why permalinks must be improved

  • Hi there,

    I’m really happy with the things WordPress has let me do on the web, but to tell the truth, I’ve never been happy with how permalinks work. The entire category base issue is one thing, although it is easily remedied.

    The main problem is how two permalinks of the same name cannot co-exist on the same website. This is a MAJOR problem on some of my projects. Right now, we’re developing a site for a supplier of heavy industrial machines. We have painstakingly implemented a navigation system that draws its menu based entirely on the category structure and the posts within them.

    In any product catalog, product subcategories with the same name can exist as children of multiple parent categories. This causes our clients some headache. They just cannot understand why they can’t create a new category with the name they choose and every time I have to explain it to them, I feel like I’m defending faulty technology. It leaves a bad taste for both me and them.

    What I also find ridiculous is that it’s only the last link of the permalink chain that is interpreted. Essentially it seems like any link before the last just exists as X in WordPress.

    So even though the real address to a page is

    I COULD write

    and it would work just fine.

    Overall, WordPress works very well, but as I sat with a client last week showing him all the detours he had to take to build a working product catalog category structure, he said “this seems pretty awkward”.

    The guy had experience with a Joomla setup, which he had felt was much easier to work with.

    WordPress permalinks feel like they are still living in blogging country whereas I want to take them into CMS country.

    Is there any change on the horizon?

    [sig removed per forum rules]

Viewing 12 replies - 1 through 12 (of 12 total)
  • Moderator Ipstenu (Mika Epstein)


    🏳️‍🌈 Plugin Review Team Rep

    The main problem is how two permalinks of the same name cannot co-exist on the same website.

    The problem is that two items cannot share the same name. This is more a physics issue than a permalinks issue. I mean, at the end of the day, your post is not ‘cat/subcat/name’ but ‘name’, and you’re complaining that you can’t have the same name for multiple posts.

    Well. Yeah. In fact this is exactly correct:

    Essentially it seems like any link before the last just exists as X in WordPress.

    The reason it works for joomla type apps is that the item’s name is based on it’s node, IIRC (it’s been a while since I’ve played with it). WordPress doesn’t differentiate by category on the back end the same way. Even in joomla, you can’t have two pages with the exact same name in the same ‘node’ (or whatever it’s called now).

    Basically the post-slug (which is the ‘name’ of the post) can’t be duplicated.

    I do see why you’d want it, but in a ‘support all people’ view, this could cause a lot of problems for people who want a permalink structure like /year/postname (which is pretty normal). The best I can think of is a plugin to allow people to re-use post-slugs, but I have a feeling that’ll bork something else.

    Thank you for your reply, Ipstenu.

    Maybe I didn’t express myself clearly, but it’s not only the postname that is the issue, it’s also the category name.

    Say that I have two manufactureres of hardware in my product catalog and they both produce hacksaws. So I would want to enter the manufacturer category and then choose hacksaw. That is impossible in WordPress the way it’s shipped. I could name it “hacksaw” under the first manufacturer, but under the second, I would have to call it “hacksaws by miller” or something like that.

    To me, that is awkward. To the customer, it’s completely incomprehensible.

    It could look like that permalink structure and category system of WordPress disqualifies it from being viable technology for a site with a product catalog. I think that’s a shame.

    I’m not sure I understand exactly what you’re saying about Joomla. But I’d really like a way to make this work.

    Say, why can 2008/10/01 and 2009/10/01 exist on the same server when johnsons/hacksaws and miller/hacksaws cannot?

    To me, it doesn’t make so much sense.

    [sig removed per forum rules]

    Moderator Ipstenu (Mika Epstein)


    🏳️‍🌈 Plugin Review Team Rep

    FYI, don’t sign posts 😉 It’s against forum rules.

    Say, why can 2008/10/01 and 2009/10/01 exist on the same server when johnsons/hacksaws and miller/hacksaws cannot?

    It’s a data thing, again. The year/month/date isn’t something stored in a table on WP, where as hacksaws is. YMD is grabbed from the post date. Categories are in their own table and ref’d from the post. So yes, only one category can have a slug of a certain name. There is only ONE ‘hacksaw’ category.

    It’s an organizational issue, and I’m sure if we’re clever we can find a workaround! One option would be custom taxonomies. I would say you should use categories for ‘Johnsons’ and ‘Millers’ and then TAGS for ‘hacksaws’ and ‘hammers’ etc etc. The idea being use cats for things that ONLY exist in ONE section (business name), but use tags for things that exist in MULTIPLE sections (product name).

    Then you could use %category%/%tag%/%postname% for your permalinks and have the structure you want.

    I don’t see a solution for the issue,

    How is a CMS to know the difference between ‘manual’ and ‘manual’ though? For example one way would be to have different numerical ID’s. So maybe you could use/ build a plugin which does this.

    Aren’t you able to put ‘manual’ as children categories under different parent categories?

    Have you been able to look into custom taxonomies yet? That’s what I use.

    On the other hand you might like to look at something like Drupal and the taxonomy module. I think you might be asking WordPress to do too much. You should inventory a project and look at which product will best suit before building. Not complain afterwards, barring unforseen circumstances, that something doesn’t work, no offense. If you have run into this problem before, why do you keep banging your head into the wall? Otherwise hire a good coder to write a plugin for you. Technically it is possible.

    Hope it helps

    @sigarett – I don’t have a solution to your problem with duplicate permalink names but if you want to use WordPress as a serious CMS you should take a look at Pods.

    The Pods developers are very active on forums and genuinely care about helping people make Pods work.

    Moderator Ipstenu (Mika Epstein)


    🏳️‍🌈 Plugin Review Team Rep

    Ipstenu, the tag solution seems pretty good. I will look into that.

    Design_dolphin – the point is I’m not an amazing coder. I’m decent, but not understanding how permalinks work, I had no way to predict this problem when I started the project. It’s the first time I’ve had this issue.

    Jasonmassengale: I have heard of Pods, but am using Magic Fields personally. Is Pods better?

    MikeSchinkel: Great! That’s exactly what I’m talking about! It seems to me that for WordPress to evolve into a real CMS, this change is essential. I don’t really want to learn Joomla. Does it look like this will make WP 3.0?

    Ipstenu: I have never had problems using categories in permalinks. So why is it considered harmful? Mmm… I guess I should read the page.

    I love WordPress and would really like for it to evolve to something that I can use in all scenarios – not just basic webpages.

    Moderator Ipstenu (Mika Epstein)


    🏳️‍🌈 Plugin Review Team Rep

    The link to Otto’s site explains it far better than I can. Having something static and NOT a part of WordPress’s variable structure prevents collisions and lessens the amount of time to parse and render a page based on a link. Years don’t count since that’s using some standard PHP calls (I think, the other logical reason that occurred to me was because no one makes posts named ‘2010’ etc).

    Even Drupal has a preface like ‘node’ to certain situations.

    The major flaw in my cat/tags solution is that you STILL can’t have the same postname used twice :/ So you’ll have to be a little creative.

    Category: Ford
    Tags: manuals
    Post Name: <something unique … publisher? Full name of manual? ‘Bluebook’s 2010 Ford repair manual’ or somethign?>

    Out of curiosity, MikeSchinkel, is your permalink update on track for WordPress 3.1?


    Moderator Ipstenu (Mika Epstein)


    🏳️‍🌈 Plugin Review Team Rep

    Doesn’t look like it. (I’m running 3.1-RC3 and I can’t).

    I think you should add your post ID into the link structure to make link to page, category and post separated for wordpress to function, the complete solution for this problem could be found here:
    and also here:

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Why permalinks must be improved’ is closed to new replies.