cambio de categoría subnavegación url
-
16-10-2019 - |
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.
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)); } }