So we have permalinks in place all over our site. Basically any product, category, article, etc with a "clean url" with canonical such as example.com/green-fidget-widget also have permalink ID references such as example.com/index.php?product=7546. This is done so that we + other people can link to an entity without worrying about the canonical changing in the future (causing a 404). We try to 301 the old canonicals, but inevitably we miss them sometimes.

Are there things I can do or add to make utility permalinks more effective? Would the following thoughts be feasible, and/or would they hurt canonical momentum?

  • Adding some sort of meta/link in <head> or a header stating it should be used as an alternate or util entrypoint?
  • Forcing browser "add bookmark" action(s) to use the permalink instead of the current url? (note: rel="bookmark" on a link does not force this)
  • Making sharing widgets, social posts, and certain feeds use these permalinks instead of the canonical url?
  • Adding a "nofollow" on permalink to [possibly] preserve canonical juice?
  • Always making permalinks HTTP: mode even on SSL always site in order to prevent lockout if domain, browser, or OS SSL error...or we turn it off by default?

It seems like such a simple thing, but there isn't much info about any less known permalink practices/standards. Maybe that means that there are not any, but figured I would ask.

Please note: I am not referring to Wordpress "permalinks"...those are not really util route permalinks, they just named their whole URi system that.

  • 1
    Not entirely sure I understand what you're after. Why would the canonical URL change for a product later down the line? Why would you not want to link to the canonical in any case? An actual specific example from your website may be useful here because your description above isn't very clear as a use case. When "you + other people are linking to an entity", are you on about links on the web or referring to products internally within your company?
    – zigojacko
    Commented Jul 9, 2015 at 7:31
  • @zigojacko Our canonicals may change since they are constantly being optimized for SEO. We may change the plural case for example, or add/remove a long tail and replace with a better adjective. So one week we may have /green-fidget-widget then later the team may decide that /green-legit-widget is a far better URi. So a user may have bookmarked, or we may have internal or backlinked, a canonical from quite literally years ago, that has been changed 20 times. There are 50,000+ nodes to maintain resulting in hundreds of thousands of old/legacy/pre-optimized canonicals, many without 301.
    – dhaupin
    Commented Jul 9, 2015 at 14:50
  • @zigojacko With many old canonicals and "unknown 404" status in regards to shares, bookmarks, and emails, makes sense for these to use utility/backdoor URi to access the content. In regards to internal linking, if 400 products point to a certain article that is often URi optimized, it makes sense for them to use that same URi based on the article ID instead of its potentially changing canonical. On top, it may be chained through more than 10 old canonical 301's before reaching a content endpoint. We all know 3 or so 301 redirects is the max you wanna use, ya know? Its a sanity factor
    – dhaupin
    Commented Jul 9, 2015 at 14:55
  • @zigojacko and of course we do our best to 301 all without chaining anything, but it happens inevitably...especially with wildcard category redirects. And yes indeed each page accessed via a utility ID URi still has its real canonical rel= pointing to the correct address so that botz may understand where they just landed. In my opinion, this utility route is the "real canonical" but it's not SEO keyworded so we bite the bullet and use the "clean url" as canonical instead. It just seems like there should be a spec stating useage of util/share/bookmark/alert style URi's - AKA real permalinks
    – dhaupin
    Commented Jul 9, 2015 at 15:00

2 Answers 2


In this sort of a situation the best bet would be to actually add the rel=canonical meta to the head of the permalinked pages. So in /index.php?product=1234 there would be a meta canonical tag pointing to /cat-1/product-1234. Whenever the canonical link changes you would simply change the meta canonical on the permalinked page to the new canonical URL.

Another option is to use a 301 redirect on the permalink URL which will forward the user to the canonical page and present the friendly URL to them as well.

Either way should keep you safe with Google's duplicate content penalties.


If your clean URLs can't be relied on permanently, they are not worth having. There is a lot more SEO and usability benefit from having URLs that are not going to break when a product name changes than any benefit you might get from having a clean looking URL.

There are benefits for having keywords in URLs. If nothing else it gives somebody who sees only the URL some idea of what they are clicking on.

I would stop using "clean" and "permanent" URLs and just start using a compromise: URLs that have an ID and a slug: example.com/7546-green-fidget-widget. That way if the product name changes, you can do automatic redirects based on the URL. You don't have to worry about which URL the user bookmarks. You get 95% of the SEO benefit with none of the hassle.

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.