cinolas Posted January 23, 2020 Posted January 23, 2020 My SEMRush SEO report tells me that some of my pages may be crawled as duplicates on account of the oscsid being present in the URL. This could cause Google to penalize my site for duplicate content. I run 2.3.4 BS Gold and use the SEO URL feature. The duplicates are for URLs like: https://www.domain.com/conditions.phphttps://www.domain.com/conditions.php?osCsid=3vpp1e4aaj4rgt5cdhjd44pik1 https://www.domain.com/contact_us.phphttps://www.domain.com/contact_us.php?osCsid=st5hl2sjcd01ih3n3sc1qn0831 https://www.domain.com/impala-red-pr-2194.htmlhttps://www.domain.com/impala-red-pr-2194.html?osCsid=st5hl2sjcd01ih3n3sc1qn0841 (Notice this one is the product review page for a specific product, the product_info page correctly adds a canonical link) etc So far the pages that cause problems are: index.php conditions.php contact_us.php advanced_search_results.php privacy.php products_new.php returns.php shipping.php and the product review page for a specific product On the Google Search Console page, where you get to specify how the google bot uses parameters of your URLs, they say that I should NOT use their tool if my site has less than 1000 pages. It does not. Another potential solution would be to add canonical links to those key pages. Canonical links are already being added to the category and product pages via the header tag module, but not pages like advanced_search_results.php or index.php or conditions.php etc. Is there a better solution than adding canonical links? Can I somehow prevent the oscsid from being used in the URL? How can I add canonical links to these pages, correctly? I don't want to break any of the proper indexing of my site. I looked at the ht_canonical function and it's pretty simple: if (basename($PHP_SELF) == FILENAME_PRODUCT_INFO) { $oscTemplate->addBlock('<link rel="canonical" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . (int)$HTTP_GET_VARS['products_id'], 'NONSSL', false) . '" />' . "\n", $this->group); } elseif (basename($PHP_SELF) == FILENAME_DEFAULT) { if (isset($cPath) && tep_not_null($cPath)) { $oscTemplate->addBlock('<link rel="canonical" href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $cPath, 'NONSSL', false) . '" />' . "\n", $this->group); } elseif (isset($HTTP_GET_VARS['manufacturers_id']) && tep_not_null($HTTP_GET_VARS['manufacturers_id'])) { $oscTemplate->addBlock('<link rel="canonical" href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . (int)$HTTP_GET_VARS['manufacturers_id'], 'NONSSL', false) . '" />' . "\n", $this->group); } } I could add an elseif for each of the static pages like conditions.php, contact_us.php, privacy.php, products_new.php, returns.php and shipping.php. But what about advanced_search_results.php, the product reviews page, and index.php? Those are bit more complicated because I would have to rebuild the proper canonical link (beyond my weak php kunfu). Has anyone had the same problem? Best solution? little help? Cheers!
cinolas Posted January 23, 2020 Author Posted January 23, 2020 I found a potential solution on Stack Overflow that suggested that simply setting configuration>sessions>Force Cookie Use to True might prevent the oscsid from being used in the URL. I turned that on, let's see what it does.
BrockleyJohn Posted January 23, 2020 Posted January 23, 2020 Set 'Prevent Spider Sessions' to true Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
BrockleyJohn Posted January 23, 2020 Posted January 23, 2020 Also, you don't want advanced_search_result indexed - put it in your robots.txt Contact me for work on updating existing stores - whether to Phoenix or the new osC when it's released. Looking for a payment or shipping module? Maybe I've already done it. Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x
cinolas Posted January 23, 2020 Author Posted January 23, 2020 7 minutes ago, BrockleyJohn said: Set 'Prevent Spider Sessions' to true That's always been set to true. Not sure why, the spiders got sessions anyway.
cinolas Posted January 23, 2020 Author Posted January 23, 2020 8 minutes ago, BrockleyJohn said: Also, you don't want advanced_search_result indexed - put it in your robots.txt Good call. That's an easy solution
Recommended Posts
Archived
This topic is now archived and is closed to further replies.