PrestaShop es una excelente herramienta para crear tiendas online funcionales y que sirvan al propósito de una tienda. Es decir, vender. Piensa en una funcionalidad para tu tienda y muy posiblemente PrestaShop o ya la tiene implementada o existen módulos ya desarrollados para que la puedas implementar gratis o por un precio la mayoría de las veces modesto. Por el otro lado también es cierto que a veces los desarrolladores de PrestaShop han patinado un poco, sobre todo con lo relacionado al SEO. Es el caso, por ejemplo, de los productos desactivados o productos descatalogados y las redirecciones que generan. Pero vamos por partes.
Mostrar contenidos
Qué es una redirección
Imagínate que tu pareja deja siempre las zapatillas en el medio del salón. Un buen día tu las recoges y las dejas ordenaditas en el mueble zapatero. Resultado: cuando tu pareja vuelva y busque las zapatillas no las va a encontrar, porque tu ne le has avisado. Trasladado en Internet, la búsqueda de tu pareja (que como Google, todo lo sabe) daría un «error 404 página no encontrada» porqué tú no has redireccionado correctamente su búsqueda. Hacemos una redirección cuando queremos indicar a los buscadores que hemos cambiado, movido o eliminado una dirección URL. Existen diferentes tipos de redirecciones según el cambio que queramos comunicar:
- Redirección 301 (permanente). Envía todo el tráfico destinado a la URL A hacia la URL B, así como la autoridad SEO.
- Redirección 302 (temporal). Por ejemplo cuando queremos indicar que nuestra web no va a estar disponible por un tiempo.
Porqué son importantes las redirecciones
Las redirecciones tienen una importancia fundamental de cara al posicionamiento. Si no indicamos correctamente el las redirecciones corremos el riesgo de perder el posicionamiento y la autoridad de nuestra tienda online.
Qué hacer con los productos descatalogados y cómo desactivarlos
Pongamos que se ha acabado la temporada y ya esa prenda se va a descatalogar, que tu proveedor de relojes de piloto ya no fabrica ese modelo o que en tu tienda de afeitado clásico ya no te queda más stock de brochas de afeitar. En estos casos te puedes plantear desactivar los productos para quitarlos del catálogo y retirarlos así de la venta. Para hacerlo es suficiente ir a la ficha del producto en la pestaña «información» y desactivar el producto (Activado: no).
Desactivar productos sin redirección (Error 404)
El problema de PrestaShop es que cuando desactivamos un producto, por defecto no asigna ninguna redirección, generando un error 404 de «página no encontrada». Es importante saber que los errores 404 perjudican el posicionamiento de nuestra página web. Así que mucho cuidado con lo de desactivar productos.

Cuando desactivamos un producto, PrestaShop por defecto no asigna ninguna redirección, dando origen a un erorr 404 «Página no encontrada».
En lugar de ir producto a producto, existe también la posibilidad de desactivar productos masivamente utilizando la opción de «acciones agrupadas» desde el administrador > catálogo, que permiten habilitar o deshabilitar de manera masiva los productos previamente seleccionados. ¡Pero ojo! estaremos generando una aluvión de errores 404.
Desactivar productos con redirección (301 o 302)
Las opiniones sobre cual sea la mejor manera de gestionar los productos desactivados son muchas y variadas y darían para hablar largo y tendido. De todas formas y con carácter general, cuando se desactiva un producto suele ser recomendable redireccionar a un producto similar. Para hacerlo seleccionamos la opción «Redireccionado permanente (301)» y en el campo «Producto relacionado» indicamos un producto similar.

PrestaShop. Cómo Redireccionar Productos sin Perder SEO y Evitar Errores 404.
¿Y si no hay un producto similar? En este caso, la lógica diría de redireccionar a la categoría superior más cercana. Y aquí es cuando no encontramos con otra limitación de PrestaShop, ya que no permite redireccionar un producto desactivado a la categoría de pertenencia. Para resolver esta pequeña inconsistencia, hay que recurrir a un override de un controlador.
Cómo redireccionar productos sin perder SEO y evitar errores 404
Primero tenemos que redireccionar los productos desactivados a la categoría de pertenencia. Este cambio interviene sobre el controlador de producto y está explicado muy bien en el foro de PrestaShop. Lo que hace es redireccionar los productos desactivados a la categoría superior más cercana. Cambio propuesto en el foro, redireccionando los productos a la categoría de pertenencia:
if (!$this->product->id_product_redirected || $this->product->id_product_redirected == $this->product->id) { /************************************ Cuando desactivamos un producto, en lugar de un 404 hacemos un 301 **************************************/ //$this->product->redirect_type = '404'; $this->product->redirect_type = '301'; } switch ($this->product->redirect_type) { case '301': header('HTTP/1.1 301 Moved Permanently'); /************************************ En lugar de redirigir a un producto, redirigimos a la categoría de pretenencia **************************************/ //header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected)); header("Location: ".$this->context->link->getCategoryLink($this->product->id_category_default)); exit; break; case '302': /************************************ En caso de un 302, también hacemos un 301 **************************************/ //header('HTTP/1.1 302 Moved Temporarily'); header('HTTP/1.1 301 Moved Permanently'); header('Cache-Control: no-cache'); header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected)); exit; break; case '404': default: header('HTTP/1.1 404 Not Found'); header('Status: 404 Not Found'); $this->errors[] = Tools::displayError('This product is no longer available.'); break; }
Una vez realizado el cambio, es recomendable borrar la caché de PrestaShop para que el cambio se haga efectivo. Por último, no está demás verificar que las redirecciones que acabamos de crear funcionen correctamente. Para eso podemos utilizar la herramienta gratuita Redirect Checker. Introducimos la URL que hemos cambiado, eliminado o movido y verificamos que la redirecciones creadas estén funcionando.

La comprobación de redirecciones indica que es de tipo 301.
Buenos días Davide, encantado se saludarte.
Me llamo Héctor y tengo un prestashop v. 1.616 y tengo varios problemas de «error de redirección» en el nuevo search console que no logro solucionar y me está comprometiendo el posicionamiento. Por más que miro no soy capaz de solucionarlo. He revisado en el htaccess y no tengo ninguno de ellos.
Me dice: anomalía en el rastreo y, cuando solicito la indexación hace la prueba y me responde que «Se han detectado problemas de indexación en la URL durante la prueba de versión publicada».
¿Podrías ayudarme a solucionarlos, por favor?
Muchas gracias de antemano por tu atención
saludos
Héctor
Hola Hector, ¿me indicas por favor la URL?
Hola Davide. Gracias por tu trabajo.
Solo una pregunta de novata. ¿donde tengo que crear la carpeta «overroide»?
gracias
Hola! La tienes que crear en la raíz > /override/controllers/front
Pues he hecho pruebas y no funciona…. después me he dado cuenta de que el post es para la versión 1.6. ¿sabrías como arreglarlo en 1.7?
Gracias!!
En PrestaShop 1.7 esta funcionalidad viene por defecto, es decir cuando desactivas un producto, automáticamente crea un redirección (de tipo 302) a la categoría de pertenencia.
Buenas tardes, tengo un inconveniente con prestashop, tengo publicado un producto , pero al dar clic, me dice error 404 , es el producto que ves en la parte inferior https://tecnocompras.com.co/cisco-13 que dice rv042g
No me da erro 404, tal vez haya sido algo temporal que ya se ha resuelto.
https://pasteboard.co/J8VdrOP.png
A veces es suficiente con regenerar las URLs
Hola David, estuve haciendo prueba durante 3 días en un carpeta con PS 1.7.5.6, hoy borre todo e inicie una instalación limpia en el public, todavia no se como google indexo tan rapido, no anexe el blog a ninguna de las herramientas de Google. La cuestion es que al hacer site:midominio.com aparece http://www.midominio/carpeta en cache.
Como redirecciono a mi página principal.
Desde ya muchas gracias.
Prueba con: redirect 301 /carpeta http://www.dominio.com
Puedes comprobar la redirección con esta herramienta: https://htaccess.madewithlove.com/