Friendly 'dynamic' urls that don't break your SEO.

  • Hi, I’ve picked "General’ because I’m not sure where else to post this issue, could be tech. but applies to SEO too.

    I don’t really want to get into the discussion if urls with db ids in them are bad for SEO or not. I don’t think they are really, but nobody likes them anymore so lets get rid of them.

    Currently the only choices in PS for urls are urls with ids or ‘static’ friendly urls. By static here I mean urls that have for instance the categories / category / product name / etc. in them in such a way that when either of these names change, the shop’s backlinks for this url break, which is not nice for SEO at all.
    Another problem is name collision, when you want really short urls, but categories/products/brands have identical names, the urls break. Or even in cases where there are -many- product in a shop, names can collide.

    In several shops I’ve solved this by not using the internal database id in the url, but another identifier, like the ‘reference’ or EAN13 for products and a ‘reference number’ for a categories to identify them so that when the name of the category or product change the specified category or product can still be found (by lookup in the dispatcher).

    url: Where the last part of the url is the products reference. Now, if I have to change the name of the product for whatever reason it won’t be a problem because it will be looked up by the reference and backlinks never break.

    I’ve chosen to use an identifier like ‘reference’ or EAN13 because I’ve been working in situations where name collision between categories/brands/products/cms pages are impossible to avoid.

    In short what I mean to say is, I’d like (and need) ‘nice urls’ with a unique identifier other than the database id, like in the examples below:

    Category urls:

    Product urls:

    Ofcourse the identifiers need to be configurable in the SEO section of the shop… Maybe a SEO identifier field for each object?

  • Hi, it is nice option if you have lot of similar products but you should choose some kind of SEO module to auto fill your URL with the desired values. Thirty bees comes without any ids in the URL structure and the other way you could achieve that is in the SEO page of the products, manually.

  • @MockoB Hi, thanks for your reply, but you miss the point I’m making. The ‘friendly url’ option of TB creates ‘static’ urls. When you change a name of a category or product, the url also changes, which is bad for SEO because you break your backlinks. This is why I solved this problem in our shops with a unique identifier other than the database id for ‘objects’. This ‘extra’ option is very easy to implement in TB and it will not interfere with any of the current options for urls at all. If you prefer these, you can still use them.

  • @zunxunz It will not, we are working on a url history that will keep track of all the previous urls and redirect them to the new

    edit: actually it should have been merged in the latest dev version already afaik, you should be able to try it.

  • @Nemo Nice and useful to some extent. But this will not solve the name collision issue, it will make that more complex if anything, because ‘new’ urls might now collide with existing ones.

  • Yes and I believe PS also uses redirects when you change URL link. Isn’t it the same as the default PS behavior without friendly urls activated which you want to achieve. Instead those long messy urls to replace it with reference number …

  • It is not, since PrestaShop simply ignores the friendly url and only uses the id, by default. Try using the right ID and another rewrite, you will see it takes you to the correct page anyway. It’s just a very silly way of fake-redirecting they use.
    As for collisions, there is no real way to avoid them if you use the very same names, but since TB also checks the full url (say parent categories) chances are lower. One needs to be reasonable when structuring a site 🙂

  • @zunxunz there is menu with the duplicates in thirty bees. Which I don’t find quite smart but if it is the only option it is a way to avoid the collision.

  • @MockoB The point is, I can not (and don’t want to) avoid the duplicate names. We have over 1600 categories and 40000 products in a shop and sorting out the duplicate names would be impossible. That is why I’ve implemented this patch.
    I’m not sure why you guys are so strong-headed about this, since it would be a really simple extra option to implement. But ok, I’ll just keep using my own patch…

  • Because having duplicates is a very bad SEO practice (that’s my own idea at least)

  • It is roughly 25 products in each category of your store but if they are quite similar it is good option. I find it also very useful if you have large stock as you do!

  • @Nemo As I said, it should be optional, you don’t have to use it if you don’t like it. And duplicate names is not the only reason. Other reasons are being able to use shorter ‘friendly’ urls and not having to use redirects when urls change. But, never mind, I’ll use my own patch.


Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.