SEO URLs

Oxid 4.10.1

Apparently, Oxid generates a bunch of SEO URLs for every product (every possible category path plus some others) and you can manually override the URLs if you want. So far, so good.

What we need, however, is that there is only ever exactly one SEO URL for every product, and that one is used no matter where you are on the shop: brands, manufacturers, categories.

So instead of:

http://shop.tld/category1/product1.html in category1 and

http://shop.tld/category2/product1.html in category2 and

http://shop.tld/manufacturer1/product1.html

we always want to have:

http://shop.tld/product1.html

There must not be any other link to this article anywhere on the site. How can I configure oxid to do this?

getMainLink() should always return the same SEO Url (configured in SEO tab in admin)

you could:

  • replace every getLink() with getMainLink(),
  • or overwrite getLink() Function so it would work like getMainLibk()
  • or you can pass variable “showmainlink=true” to all your templates dispalying products

Thanks, but apparently this doesn’t work as desired. What I have tried:

[{$oArt->getMainLink()}]
[{$oArt->getLink()}]
[{$oArt->getBaseSeoLink($oArt->getLanguage(),true)}]

These all return the exact same URL (strange in itself), which appears to be the SEO URL of the main category of the article, which itself has the format:

http://shop.tld/category1/product1.html

I tried to change the SEO URL from the article from

category1/product1.html

to

product1.html

But Oxid will not allow me to do so. Turns out the SEO URL itself exists already, since I can access the URL http://shop.tld/product1.html just fine. But I have no obvious way to get that Link.

maybe clearing SEO history will allow you to set another SEO url

How would I go about that? Simply truncate the oxseohistory table?

[QUOTE=Anpan;183443]
we always want to have:
http://shop.tld/product1.html
[/QUOTE]

If you want to do this for DC reasons, it’s not neccesary because all versions already have the main category link in canonical-tag, which is fine for google.

Oxid detects the active category from the url, which is used for highlighting category in navigation, back to overview link and next/previous product links, so those things do not work if the url is the same in all categories.

If you still would want all links the same, you need a module for this, because oxid wants different links for the reasons above.

I suppose there is no way around a module then. And it sounds like we’d have to change some pretty basic behavior, too. I’m a bit concerned such a module would interfere with other modules, so for now we will just have to accept it as it is right now.

Duplicate content was part of the reason, I never noticed the canonical url actually, so that’s fine for now.

In any case, thanks for the replies.

in fact you cant, but with a module, a quick fix is to block those urls in robots?
we already did this with a module cause of seo.