Domanda

si può cambiare Subnavigation sottocategoria URL per SEO friendly? se sì, come?

vale a dire:

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

desiderato = store.com/apparel/shirts.html o qualcosa di vicino a quello.

È stato utile?

Soluzione

Mi spiego prima perché è questa differenza. Nel primo caso si sta visualizzando la categoria 'abbigliamento' e filtrando i risultati Compra sottocategoria con id 4 (probabilmente camicie). Nel secondo caso si sta visualizzando la categoria Abbigliamento-> camicie direttamente.

Se avete speciali impostazioni per la categoria abbigliamento (come design diverso, diverso layout o barre laterali) si sarà ancora in grado di vedere le impostazioni nel primo caso (? Cat = 4).

Nel secondo caso vedrete le impostazioni per la categoria camicie.

Se si desidera continuare a utilizzare gli URL amichevoli per filtrare è possibile utilizzare una proroga.
Vi consiglio Manadev Seo Layered Navigation e Amasty navigazione migliorata Ciascuno di essi può essere configurato per comportarsi come si desidera e anche di più.

Altri suggerimenti

Ho creato un modulo che risolve questo errore.

https://github.com/jruzafa/Devopensource_LayerCatSeo

Grazie,

Questo può essere risolto abbastanza facilmente l'override del metodo getUrl() nella Mage_Catalog_Model_Layer_Filter_Item class

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

Trovare la funzione in linea 57, che dovrebbe assomigliare a questo:

 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));
  }

Passa a:

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));
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top