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.
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:
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.
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.