View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005471||OXID eShop (all versions)||4.09. SEO, SEO URL||public||2013-10-15 12:54||2015-07-07 13:14|
|Product Version||4.7.8 / 5.0.8|
|Target Version||4.9.5 / 5.2.5||Fixed in Version||4.9.5 / 5.2.5|
|Summary||0005471: Redirect 302 shall be 301 if title changes|
|Description||Changing the title of a product or category item will change the URL as well. The old URL is still accessible and shall redirect permanently (301) to the new page. Instead, http header 302 (redirect temporarily) is delivered.|
|Additional Information||In this document the SEO concept is described and leads clearly to 301:|
Whenever this was changed, it was not documented.
|Tags||No tags attached.|
|PHP Version||Not defined|
|Database Version||Not defined|
The default value of the third parameter of oxUtils::redirect() was changed to 302 in revision 56432/56326 as a fix for 0004319. I guess that this change affects the functionality of oxSeoDecoder::processSeoCall() because there the third parameter is not set explicitly but instead it relies on the default value of oxUtils::redirect().
So the problem is probably present since version 5.0.4.
In oxUbase::_processRequest() on line 582:
- the 3rd param of the redirect-method should be 301!
-> Because search-engines don't like md5-valued GET-params. So we must tell them a permanenty moved 301 to a SEO-friendly URL. And not a temporary 302!!!
This bug is addressed in PR 234: https://github.com/OXID-eSales/oxideshop_ce/pull/234
I stumpled upon this bug in a current project and imho, depending on the use case, this bug is rather serious.