PrestaShop 1.5.2 no pone categoría por defecto en url de productos

Cuando termines este post te recomiendo seguir con: SEO Prestashop, SEO Magento, Penalizaciones Google, Auditoría SEO Precio y ver mis servicios como Consultor de Marketing Online o Digital.


Etiquetas de este post: urls,

Muy buenas de nuevo, como veis aquí sigo optimizando nuevas versiones de PrestaShop y sinceramente creo que cada vez ponen menos esmero en conseguir que PrestaShop sea lo más amigable posible para buscadores.

En esta ocasión, tras solucionar estos dos problemas

  1. Inclusión de cada producto en una categoría por defecto
  2. Creación de un módulo específico para hacer correctamente el sitemap multi-idioma (cosa que ha día de hoy PrestaShop no hace bien en ninguna de sus versiones).

Me di cuenta que aunque toda estaba bien las urls de PrestaShop no mostraban de ninguna manera las categorías en Urls, lo que francamente se carga cualquier intento de tener una estructura lógica de clusters.

[-] Indice de contenidos
  • Bug de PrestaShop
  • Bug de PrestaShop

    No me ha costado mucho dar con la solución buscando en los bug conocidos de PrestaShop hasta dar con este: http://forge.prestashop.com/browse/PSCFV-4978

    En resumidas cuentas existe un problema en el fichero /classes/Link.php que se soluciona cambiando el primer fragmento de código que os muestro por el segundo.

    Código Original (línea 130)

    if ($dispatcher->hasKeyword(‘product_rule’, $id_lang, ‘categories’))
    {
    $params[‘category’] = (!$category) ? $product->category : $category;
    $cats = array();
    foreach ($product->getParentCategories() as $cat)
    $cats[] = $cat[‘link_rewrite’];
    $params[‘categories’] = implode(‘/’, $cats);
    }

    Nuevo código

    if ($dispatcher->hasKeyword(‘product_rule’, $id_lang, ‘category’))
    $params[‘category’] = (!$category) ? $product->category : $category;
    if ($dispatcher->hasKeyword(‘product_rule’, $id_lang, ‘categories’))
    {
    $cats = array(); foreach ($product->getParentCategories() as $cat) $cats[] = $cat[‘link_rewrite’]; $params[‘categories’] = implode(‘/’, $cats);
    }

    Con esta solución se arreglará el problema, pero lo mejor sería hacer Rewrite para no tener que tocar el código original y no tener problemas con futuras actualizaciones.

    Como ya he dicho existen soluciones mejores, así que si la tienes no dudes en ponerla en un comentario ;)


    ¿Con ganas de aprender más? Conóceme y sigue mis perfiles sociales AQUÍ


    Conoce mis servicios SEO.

    Si buscas hosting con el mejor rendimiento y especializado en SEO pulsa aquí


    SEO Freelance


    Servicios personalizados como Consultor SEO Freelace para profesionales, agencias y PYMES

    Si buscas servicios completos de Marketing Online te invito a conocer mi nuevo proyecto en Jlmora Consultor de Marketing Online Alli podrás conocer mis servicios como onsultor de Marketing Online y reservar una charla gratuita en la que hacer una primera toma de contacto.

    Un comentario en “PrestaShop 1.5.2 no pone categoría por defecto en url de productos

    1. ¡Menos mal! Por fin doy con la solución, que me tenía loco. Es la primera vez que trabajo con Prestashop y no había manera de arreglar el fallo (link_rewrite required) hasta ahora.
      ¡Gracias!

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.