I have a Magento 1.8 multi store installation. Each store is installed in a sub folder (www.mydomain.com/, www.mydomain.com/paris/, www.mydomain.com/nimes/) and contains the same products with different stock values.

With such an install, I have a lot of duplicate content: www.mydomain.com/product1.html and www.mydomain.com/paris/product1.html are showing duplicate content.

That's why I'd like to define a store as canonical and have pages from other stores point to the corresponding page on the main store.

Any suggestion on how to implement this?


I achieved my goal by using an observer to modify the canonical links for category and product pages of stores in subfolders:

class Fkoessler_Canonical_Model_Observer

  public function coreBlockAbstractToHtmlBefore($observer)
        $block = $observer->getBlock();

        if ($block instanceof Mage_Page_Block_Html_Head) {

            $url = Mage::helper('core/url')->getCurrentUrl();
            if (Mage::registry('current_product')) {
                $url = Mage::registry('current_product')->getProductUrl();
            } else if (Mage::registry('current_category')) {
                $url = Mage::registry('current_category')->getUrl();
            $block->removeItem('link_rel', $url);

            $url = str_replace('/paris', '', $url);
            $url = str_replace('/niort', '', $url);
            $url = str_replace('/nimes', '', $url);

            $block->addLinkRel('canonical', $url);
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.