Frage

Können Sie die Unterkategorie -URLs der Unternavigation in SEO -freundlich ändern? Wenn das so ist, wie?

dh:

existieren = store.com/apparel.html?cat=4

gewünscht = store.com/apparel/shirts.htmloder irgendetwas nahe daran.

War es hilfreich?

Lösung

Lassen Sie mich zuerst erklären, warum dieser Unterschied ist. Im ersten Fall sehen Sie sich die Kategorie "Bekleidung" an und filtern die Ergebnisse der Ergebnisse mit ID 4 (wahrscheinlich Shirts). Im zweiten Fall sehen Sie die Kategorie Kleidung-> Shirts direkt.

Wenn Sie spezielle Einstellungen für die Kategorie der Bekleidung (wie unterschiedliches Design, unterschiedliche Layout oder Seitenleisten) haben, können Sie diese Einstellungen im ersten Fall weiterhin sehen (? Cat = 4).

Im zweiten Fall sehen Sie die Einstellungen für die Kategorie Shirts.

Wenn Sie immer noch die freundlichen URLs zum Filtern verwenden möchten, können Sie eine Erweiterung verwenden.
Ich empfehle MANADEV SEO LAGELED Navigation und Amasty verbesserte die NavigationBeide können so konfiguriert werden, dass sie sich so verhalten, wie Sie es wollen, und noch mehr.

Andere Tipps

Ich habe ein Modul erstellt, das diesen Fehler löst.

https://github.com/jruzafa/devopensource_layercatseo

Vielen Dank,

Dies kann durch Überschreiben dessen ganz einfach repariert werden getUrl() Methode in der Mage_Catalog_Model_Layer_Filter_Item class

(Go to /app/code/core/Mage/Catalog/Model/Layer/Filter/Item.php)

Suchen Sie die Funktion in Zeile 57, sie sollte wie folgt aussehen:

 public function getUrl()
 {
        $query = array(
        $this->getFilter()->getRequestVar()=>$this->getValue(),
        Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null // exclude current page from urls);
        return Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$query));
  }

Ändern :

public function getUrl()
{
    if($this->getFilter()->getRequestVar() == "cat"){
        $category_url = Mage::getModel('catalog/category')->load($this->getValue())->getUrl();
        $return = $category_url;
        $request = Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true));
        if(strpos($request,'?') !== false ){
            $query_string = substr($request,strpos($request,'?'));
        }
        else{
            $query_string = '';
        }
        if(!empty($query_string)){
            $return .= $query_string;
        }
        return $return;
    }
    else{
        $query = array(
            $this->getFilter()->getRequestVar()=>$this->getValue(),
            Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null // exclude current page from urls
        );

        return Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$query));
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top