View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0007952 | OXID eShop (all versions) | 4.09. SEO, SEO URL | public | 2026-05-20 12:26 | 2026-05-21 12:09 |
| Reporter | MarcelOxid | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | new | Resolution | open | ||
| Product Version | 7.5.0 | ||||
| Summary | 0007952: oxparams context will be removed from stdUrl after update | ||||
| Description | When updating the Seo-URL of a product for a specific category, the context(cnid/mnid/vnid) will be removed from the stdUrl. index.php?cl=details&anid=05848170643ab0deb9914566391c0c63&cnid=0f41a4463b227c437f6e6bf57b1697c4 --> index.php?cl=details&anid=05848170643ab0deb9914566391c0c63 | ||||
| Steps To Reproduce | 1. Login to Admin-space and switch to products 2. Create a new product and add a category to it 3. Move to Seo-Tab (-> Seo-Entry will be generated / stdUrl contains category-id) 2. Change and update the Seo-URL The context from the stdUrl was removed in the DB | ||||
| Additional Information | The reason is that the update of the Seo-URL (and also the update of the meta-keywords/description) works is the following: When the Seo-tab will be opened, methods like SeoEncoderArticle::getArticleMainUri/getArticleUri/getArticleVendorUri/getArticleManufacturerUri() are used which generates the Seo-entry with the stdUrl including the specific context. Updating the Seo-URL is done in ObjectSeo::save() which executes SeoEncoder::addSeoEntry(). For stdUrl the method $this->getStdUrl which uses Article::getBaseStdLink() will be used. getBaseStdLink just creates the base without the context. | ||||
| Tags | No tags attached. | ||||
| Theme | Not defined | ||||
| Browser | Not defined | ||||
| PHP Version | Not defined | ||||
| Database Version | Not defined | ||||
|
|
Dear Marcel, please check the column oxparams. this contains the category id in your example. Could you please provide the broader picture why this is should be an issue? Could you also verify your product version of 7.5? Best Regards QA -SG- |
|
|
Hallo, i can verify that the product version is 7.5. The problem is, that you always expect, that the stdUrl stays the same, because the product and the context didn't changed. The stdUrl specifies the URL to which the shop-user is redirected when they enter the SEO-URL. Which means the url loose it's context and the shown page isn't context-specific anymore. So normal product-page will be shown, instead of the category specific product-page. Kind Regards |
|
|
Hello Marcel, I have checked the behaviour again in version 7.5 and cannot see any difference there. Every SEO URL redirects to the main category, as I would expect. See the attached screenshots for Frontend and admin-area. In this case, the URL for the T-shirts category, which has been changed to ‘T-shirt-changed’, redirects to the main category ‘Sunglasses’. ‘oxparams’ is a marker for the main category whose URL is used as the main destination (canonical url). Accordingly, removing parameters that are not used follows a certain logic. The internal url cannot be configured in the admin area either. If you wish to make changes, my recommendation would be a module – possibly an OPAL – or to submit a feature request, but in this case with a more detailed description of what should be changed and why, and a clarification of the added value. --- The main category since 7.4 cannot be set right anymore, see https://bugs.oxid-esales.com/view.php?id=7953 --- Best Regards QA -SG- |
|
|
Hello, and that's exactly what's happening wrong here. Normally the redirecting-link for the "T-Shirts"-Seo-URL redirects to the T-Shirts Kategory and not to the main category (in our case sunglases). oxparams is not the marker for the main category, it's the context for the Seo-URL. So for "T-Shirts"-Seo-URL it's the id of the T-Shirts-category. And that's were we should redirect to. After the first generation this works correctly and the stdUrl in the database links to the category specific product (Merchendise/T-Shirts/seotest), but after the update it redirects to the main product (Merchendise/Sonnenbrillen/seotest) which is wrong. oxparams is still the id of the T-Shirts category, so the stdUrl should still link to the category in oxparams, not to the main caegory. And of course the internal URL (stdUrl) can not be configured, because it's generated automatically and saved in database(oxarticles -> oxstdurl) . But it's wrong generated/overwritten after the update. The code logic which behaves wrong, is already described here in the additional information of this ticket. King regards |