Pregunta

Se puede cambiar subnavegación subcategoría direcciones URL para SEO? Si es así, ¿cómo?

es decir:

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

deseado = store.com/apparel/shirts.html o algo parecido a eso.

¿Fue útil?

Solución

Me explico primero por qué es esta diferencia. En el primer caso está viendo la categoría 'ropa' y filtrar los resultados compran subcategoría con id 4 camisas (probablemente). En el segundo caso que está viendo la categoría Ropa-> camisas directamente.

Si usted tiene una configuración especial para la categoría de ropa (como un diseño diferente, diferente diseño o barras laterales) usted todavía será capaz de ver los ajustes en el primer caso (? Cat = 4).

En el segundo caso, verá la configuración del rubro camisas.

Si aún desea utilizar las URLs amigables para el filtrado puede utilizar una extensión.
Recomiendo Manadev Seo Capas Navegación y Amasty navegación mejorada Ambos pueden ser configurados para comportarse como desee y aún más.

Otros consejos

He creado un módulo que soluciona este error.

https://github.com/jruzafa/Devopensource_LayerCatSeo

Gracias,

Esto se puede solucionar fácilmente reemplazando el método getUrl() en el Mage_Catalog_Model_Layer_Filter_Item class

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

Localizar la función en la línea 57, que debe ser similar al siguiente:

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

Cambiar 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));
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top