Eliminar el ID de la URL en Prestashop

En esta ocasión, vamos a reseñar uno de los módulos gratuitos que tenemos por la comunidad de Prestashop que permite quitar (ocultar) el id de las urls amigables.

Es decir, si por ejemplo la dirección del producto es la siguiente:

https://victor-rodenas.com/curso-japones/7-curso-principantes.html

Dejar la dirección de la siguiente forma:

https://victor-rodenas.com/curso-japones/curso-principantes.html

Lo mismo para las categorías, si la dirección de la categoría es:

https://victor-rodenas.com/22-curso-japones/

Dejar la dirección así:

https://victor-rodenas.com/curso-japones/

El módulo quita/oculta/elimina las ID para las urls de los fabricantes (marcas), proveedores, páginas de contenido (cms), productos, categorías, etc. Recuerdo, que quitar/ocultar el ID de las urls, no te trae (en la actualidad) grandes beneficios para el posicionamiento web (SEO), lo digo para que no os llevéis decepciones.

Antes de instalar el módulo, os comento que esta guía ha sido construida bajo Prestashop 1.6.1.X

El módulo se encuentra desarrollado por: faktiva y es totalmente gratuito.

La instalación y subida del módulo, la podemos hacer desde la pestaña módulos -> módulos.

Módulo para eliminar la ID de las urls amigables en Prestashop

Una vez, instalado, nos vamos a la pestaña Parámetros Avanzados -> Rendimiento, y pulsamos en Vaciar Cache (Limpiar Cache)

Vaciar cache en Prestashop

Ahora, nos vamos la pestaña Preferencias -> SEO y URLS y nos vamos a la sección “Formato de los Enlaces” y veremos que aparece quitado el ID en las rutas de las URLS, y lo más importante, que, aunque aparezca quitado, funcionan las direcciones, ya que, por defecto, aunque tengamos acceso a dicha sección, si quitamos el ID de las urls, no funcionan en Prestashop 1.6 (al menos en las versiones actuales)

El formato de las URLS ha quedado de la siguiente forma:

Formato de las URLS en Prestashop sin ID

Según las “instrucciones oficiales del módulo“, es obligatorio para que funcione el módulo, que, el formato de las URLS tenga el siguiente formato (revisar si algún formato no coincide):

  • Ruta a las categorías ->  {categories:/}{rewrite}
  • Ruta a los fabricantes -> manufacturer/{rewrite}
  • Ruta a los proveedores -> suppliers/{rewrite}
  • Ruta a las páginas de contenido (CMS) -> info/{rewrite}
  • Ruta a las categorías de las páginas de contenido (CMS) -> info/{rewrite}/
  • Ruta a los módulos –> modules/{module}{/:controller}

Las palabras “manufacturer“, “suppliers” y “modules” e “info” las podemos cambiar por otras palabras siempre que no coincidan con el nombre de una categoría existente.

Tanto en la ruta de los productos como la de las páginas de contenido, podemos añadir la extensión .html al final.

En caso de que hayas cambiado algún dato del formato y no se vean los cambios en la tienda, limpia la caché en la pestaña Parámetros Avanzados -> Rendimiento

A modo de información, al instalarse el módulo, el módulo instala los siguientes overrides de clases y controladores:

  • override/classes/Link.php
  • override/classes/Dispatcher.php
  • override/classes/controller/FrontController.php
  • override/controllers/front/SupplierController.php
  • override/controllers/front/ProductController.php
  • override/controllers/front/ManufacturerController.php
  • override/controllers/front/CmsController.php
  • override/controllers/front/CategoryController.php

Si el módulo pegara un petardazo, asegurarse de que se han copiado correctamente los overrides cuando el módulo se ha instalado (esto lo hace automáticamente). Los overrides en el directorio del módulo los tenéis en /modules/faktiva_cleanurls/override/ y el módulo los instala en el directorio /override/ del raíz al instalarse

Si por causalidades de la vida no quieres seguir con el módulo y lo desinstalas y pega también un petardazo, aseguraros (aunque lo hace automáticamente) de que se han borrado correctamente los overrides antes mencionados, si no se han borrado, eliminarlos manualmente, y eliminar también el fichero: /cache/class_index.php y por último desactivar y volver activar las urls amigables en la pestaña Preferencias -> SEO y URLS

¿Dónde puedo descargar este módulo que permite que no se muestre el ID en las urls amigables de Prestashop?

https://github.com/faktiva/prestashop-clean-urls/releases/tag/1.2.2

Enlace de una versión antigua del módulo por si falla el enlace fuente.

Documento realizado con la versión “1.2.2” del módulo y Prestashop 1.6.1.10

Dejo otra alternativa que, no siendo gratuita, os puede servir de utilidad (debido al tema de soporte, actualizaciones, etc.) para ocultar el id de las urls amigables en Prestashop.

 

3 comentarios sobre “Eliminar el ID de la URL en Prestashop”

  1. buenas Victor, tu articulo es muy interesante pero el modulo gratuito Factiva tiene varios bug y sobre todo no funciona con las ultimas versiones de PS. Tu alternativa es valida pero sale 45 euros. Yo tendo otra, igualmente válida y, sobre todo, mucho mas barata, solo 12 euros sin límite de licencia: PS IT Clean ulrs. Gracias

  2. buenas chicos y muchas gracias para vuestra ayuda. compré el módulo “ps it clean urls” y esta realmente genial. perfecto, barato y con licencia multi-dominio única, o sea se compra una ves y se puede usar para todas las web prestashop donde lo necesitamos. gracias gracias gracias. saludos

  3. Buenas Victor, estoy de acuerdo con Raúl, losmódulos gratuitos estan lleno de bug. El módulo que nos aconseja Raúl (PS IT Clean Urls), de contrario, funciona perfectamente en todas las versiones de PS, sin bug y sobre todos es super barato. Saludos

Deja un comentario

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