Nombre de las categorías en la URL. SEO sin duplicar contenido en Magento

Una vez terminada una de nuestras tiendas, hemos detectado un problema que complica la indexación de la tienda. Me refiero a la forma que tiene Magento de montar las urls para cada producto. Se trata de contenido duplicado. Voy a poner un par de ejemplos para intentar explicar el problema. http://midominio/producto-1 http://midominio/mi-categoria/sug-categoria/producto-1 ¿Cuál de las dos es la buena? En realidad, Magento conoce este problema y como no es capaz de determinar la principal (canonical url) deja las dos por buenas. Buscando por google he encontrado un artículo bastante interesante que cuenta como solucionar (en parte) este problema. Lo primero que tenemos que hacer es activar la opción de Usar rutas de categorías para la URL de los productos. Esto lo podemos encontrar en el Admin -> Sistema -> Configuración -> Catálogo ->Optimizaciones para el motor de búsqueda. La acticavión de esta opción determina como el URL Rewrites se autogenera. Si elegimos "si" la URL de los productos incluirá la categoría asociada. Si elegimos "No" la URL del producto únicamente incluirá el nombre del producto, independientemente del número de categorías al que esté asociado. Una vez activada esta opción podemos usar cualquiera de estas URL's:
  • /catalog/producto/view/id/<product_id> ejemplo: http://www.midominio.com/catalog/producto/view/id/6 Interna de Magento; nunca se ve.
  • /catalog/producto/view/id/<product_id>/category/<category_id> ejemplo: http://www.midominio.com/catalog/producto/view/id/6/category/10 Interna de Magento; nunca se ve.
  • /nombre-del-producto ejemplo: http://www.midominio.com/super-dee-duper-tent-1000-olive Normalmente usada en el front de la página, en los bloque, etc. Esto ocurre porque Magento no sabe en que URL debe mostrar el producto (ya que permite ubicar un mismo producto en varias categorías). Por lo tanto elige la opción de no mostrar en la URL ninguna.
  • /category-1/sub-category-1/nombre-del-producto ejemplo: http://www.midominio.com/sporting-goods/camping-hiking/super-dee-duper-tent-1000-olive Usado desde las páginas de categorías.
  • /category-2/nombre-del-producto ejemplo: http://www.midominio.com/affordable-housing/super-dee-duper-tent-1000-olive Usado desde las páginas de categorías.
  • etc. Dependiendo del número de categorías.
Bueno, por lo que comenta el autor del artículo, la forma de solucionarlo (ojo, está tocando el Core de Magento) es aplicando el siguiente parche:
PHP:
  1. Index: app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php
  2. ===================================================================
  3. --- app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php (revision 2102)
  4. +++ app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php (working copy)
  5. @@ -553,7 +553,11 @@
  6. ->from($this->getTable('core/url_rewrite'), array('product_id', 'request_path'))
  7. ->where('store_id=?', Mage::app()->getStore()->getId())
  8. ->where('is_system=?', 1)
  9. - ->where('category_id=? OR category_id is NULL', $this->_urlRewriteCategory)
  10. +// excluding this clause to facilitate one URL per product, and one that includes the category
  11. +// if a product has multiple categories, the first one (by category_id) will be used
  12. +// in most cases you'll probably only have one category because you only want one page per product for SEO reasons
  13. +// for maximum link juice, no possibility of duplicate content, and a less confusing store
  14. +// ->where('category_id=? OR category_id is NULL', $this->_urlRewriteCategory)
  15. ->where('product_id IN(?)', $productIds)
  16. ->order('category_id DESC'); // more priority is data with category id
  17. $urlRewrites = array();

Resumiendo, edita el fichero y comenta esta línea (más o menos en la línea 829) ->where('category_id=? OR category_id is NULL', $this->_urlRewriteCategory) Con esto hacemos la consulta más flexible. Si un producto está en varias categorías tendrá varias URL, nosotros cogeremos la primera. En teoría esto debería funcionar tanto para productos que están en una única categoría como para los que están asignados a varias. NOTA: ya va siendo hora de que salga la v1.4, se supone que van a corregir los múltiples fallos en los temas principales en lo que concierne a SEO.
Compartir:
  • Print
  • Facebook
  • Twitter
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Digg

PROYECTOS RELACIONADOS


COMENTARIOS

muy interesante!! gracias por compartirlo


PARTICIPA EN LA CONVERSACIÓN

Introduce tu información personal o utiliza tu cuenta de twitter o facebook para acceder

   



CATEGORÍAS


C\ Trafalgar 13
46930 Quart de Poblet - Valencia - España

  • (+34) 961 139 313
  • info@onestic.com
  • (+34) 963 023 041
  • (+34) 622 858 391

HABLEMOS...

No dudes en ponerte en contacto con nosotros. Hablamos tranquilamente, te damos nuestra opinión sobre tu proyecto y decidimos cómo te podemos ayudar.

CONTACTO



SIGUÉNOSEN: