Redirecciones 301 y 404 tras una migración: qué revisar

por Presta365 Guías técnicas

El módulo para este problema

Redirecciones SEO - Gestión 301/302/404 (SEO Redirects)

Gestiona redirecciones 301, 302 y 410 (ruta simple, wildcard o regex segura), registra los 404 y los convierte en redirecciones con un clic, crea un 301 cuando cambia el slug de un producto, de una categoría o de una página CMS, importa y exporta CSV. PrestaShop 1.7.7, 8 y 9, 12 meses de actualizaciones incluidos, después renovación opcional.

Ver el móduloLeer la guía

Qué pierde una tienda cuando cambian las direcciones

Los motores de búsqueda, los enlaces externos, los marcadores y las campañas apuntan a direcciones concretas. Si, tras una migración o un cambio de URL, esas direcciones responden 404, Google no las indexa: según su documentación, las URL que devuelven un código 4xx no se indexan y las que ya estaban indexadas se eliminan del índice. En cambio, una redirección permanente indica que la página existe y se ha trasladado: Google la usa como señal de que el destino es la URL canónica y afirma que los 301 y las demás redirecciones permanentes no causan pérdida de PageRank. Cuánto tráfico se pierde en concreto depende del sitio, y por eso se mide con Search Console en lugar de fiarse de cifras genéricas.

Los códigos HTTP que importan

CódigoQué dice el estándar (RFC 9110)Cómo lo trata Google
301El recurso tiene un nuevo URI permanente (sección 15.4.2)Señal fuerte de que el destino debe procesarse
302El recurso se encuentra temporalmente bajo otro URI (sección 15.4.3)Señal débil
308Nuevo URI permanente; es la alternativa al 301 cuando no se quiere el cambio de método de POST a GET (secciones 15.4.9 y 15.4.2)Equivalente al 301
404Ninguna representación actual; no dice si la condición es temporal o permanente (sección 15.5.5)La URL no se indexa; si estaba indexada, se elimina
410El recurso ya no está disponible y la condición es probablemente permanente (sección 15.5.11)Tratado como los demás 4xx, excepto los 429

La misma RFC precisa que el 410 es preferible al 404 cuando el servidor sabe que la condición es probablemente permanente.

Qué hace PrestaShop 9.1 por sí solo

Lo que sigue se ha verificado en el código de PrestaShop 9.1.5, con los archivos citados en las fuentes.

Redirigir a la URL canónica

En Parámetros de la tienda, Tráfico & SEO, Configuración de URLs, la opción «Redirigir a la URL canónica» (PS_CANONICAL_REDIRECT) vale 0 (sin redirección), 1 (302) o 2 (301). En el FrontController, para las peticiones GET, si la URL solicitada no coincide con la canónica, PrestaShop responde con un 301 cuando la opción vale 2, con un 302 en caso contrario, y no hace nada con 0. La documentación oficial recomienda el 301 una vez terminados los cambios y advierte de que, sin redirecciones, puede haber URL duplicadas. En modo desarrollo, en lugar de la redirección aparece una página de depuración: téngalo presente cuando haga pruebas.

Cambia el slug de un producto o de una categoría

Las reglas predeterminadas ponen el id en la URL ({id}{-:id_product_attribute}-{rewrite}.html para los productos, {id}-{rewrite} para las categorías). La URL antigua, con el slug anterior, sigue encontrando por tanto el objeto, y el controlador la compara con la actual: con la opción en 301 redirige, con 0 responden ambas direcciones y los duplicados permanecen.

Cambia el esquema de las URL

El Dispatcher parte del controlador pagenotfound y solo lo sustituye si el URI coincide con una de las rutas actuales, las predeterminadas o las personalizadas (PS_ROUTE_*). El código no conserva los esquemas anteriores: las direcciones antiguas que ya no corresponden a ninguna ruta acaban en una página que responde con un verdadero estado 404. Las redirecciones desde los esquemas antiguos deben crearse aparte.

Producto desactivado o ya no disponible

El campo «Redirección cuando el producto está desactivado» de la ficha de producto (redirect_type) tiene diez valores: default, 404 y 410 (página de error), 200-displayed, 404-displayed y 410-displayed (producto mostrado como fuera de catálogo con ese código), 301-category y 302-category (redirección a una categoría), 301-product y 302-product (redirección a otro producto). Con default rige «Comportamiento predeterminado para productos desactivados» (PS_PRODUCT_REDIRECTION_DEFAULT). Un producto eliminado ya no existe y la página responde 404.

Categoría desactivada o eliminada

Una categoría desactivada sigue el campo «Redirección cuando no se muestra»: 301 de forma predeterminada, hacia la categoría padre activa más cercana si no elige otra, o bien 302, 410, 404. Una categoría eliminada responde 404, y Category::deleteRedirections() devuelve al comportamiento predeterminado los productos y las categorías que redirigían hacia ella.

Migración desde otra plataforma

Al cambiar de plataforma casi todas las URL cambian de forma: productos, categorías, páginas, imágenes y archivos. PrestaShop no puede adivinar las direcciones antiguas: hay que recopilarlas y mapearlas.

  1. Recopile las URL antiguas. Google sugiere partir de los sitemaps, de los registros del servidor o de la analítica para las URL más visitadas, del informe «Enlaces» de Search Console y de la lista del CMS. El informe «Rendimiento» tiene la dimensión «Páginas» y un botón de exportación. Incluya imágenes, vídeos, JavaScript y CSS.
  2. Mapee cada URL. Google escribe que es importante mapear las URL del sitio antiguo con las del nuevo y decidir adónde debe apuntar cada una: la página más pertinente, una a una.
  3. Gestione lo que no tiene equivalente. Google pide que los contenidos eliminados respondan 404 o 410. Evite enviar muchas URL antiguas a un único destino no pertinente, como la página de inicio: según Google, puede confundir a los usuarios y puede tratarse como un soft 404. Si varias páginas se han fusionado en una sola, ese es un destino legítimo.
  4. Evite los errores comunes: cadenas de redirecciones (Googlebot sigue hasta 10, pero Google aconseja apuntar al destino final y, si no es posible, quedarse idealmente en 3 saltos como máximo y en todo caso por debajo de 5); bucles; 302 en lugar de 301; enlaces internos, etiquetas canónicas, hreflang y sitemaps que se han quedado en las URL antiguas; redirecciones a URL que no existen; noindex o bloqueos de robots.txt de la fase de desarrollo que siguen activos; redirecciones retiradas demasiado pronto.

Qué comprobar en Search Console

  • Informe «Indexación de páginas»: «No se ha encontrado (404)», «Soft 404», «Página con redirección» y «Error de redirección» (cadena demasiado larga, bucle, URL demasiado larga o no válida). El propio informe dice que un 404 no es necesariamente un problema si la página se ha eliminado sin sustituto, y que hay que usar un 301 si se ha trasladado.
  • «Inspección de URLs»: la prueba de la URL publicada sigue las redirecciones, pero no indica haber seguido una ni muestra la URL final. Para ver los códigos y la cadena hace falta una herramienta de línea de comandos o un script.
  • Sitemap: envíe el que contiene las nuevas URL. El que contiene las antiguas puede mostrar avisos sobre redirecciones, y es normal.
  • «Cambio de dirección»: solo sirve al pasar de un dominio o subdominio a otro, no para HTTP a HTTPS, www o no www, ni para rutas del mismo dominio.
  • Plazos: para un sitio mediano o pequeño, Google indica unas semanas para la mayoría de las páginas, con oscilaciones temporales de la visibilidad.

Lista de comprobación

  1. Lista de las URL antiguas con visitas y enlaces, a partir de sitemaps, registros y Search Console.
  2. Mapeo uno a uno; 404 o 410 para lo que no tiene equivalente.
  3. 301 en el servidor para los contenidos trasladados, 302 solo si es temporal.
  4. Ninguna cadena: cada URL antigua apunta al destino final, verificado con un script sobre toda la lista.
  5. Enlaces internos, etiquetas canónicas, hreflang y sitemaps en las nuevas URL.
  6. «Redirigir a la URL canónica» en 301 cuando la tienda está online.
  7. Seguimiento de los 404 y de «Indexación de páginas» en las semanas posteriores a la migración; redirecciones mantenidas el mayor tiempo posible, en general al menos un año.

Cómo lo hace el módulo Redirecciones SEO - Gestión 301/302/404 (SEO Redirects)

  • Reglas 301, 302 y 410 con ruta simple, wildcard (* y ?) o regex validada, y opciones sobre la query string (ignorarla, comparar la URL completa o exigir un parámetro). El 410 responde con un verdadero estado 410 y X-Robots-Tag: noindex, antes de que se cargue el tema.
  • La redirección salta en el hook actionDispatcher, antes de construir la página: las reglas simples se encuentran con una búsqueda indexada sobre el hash de la ruta, los wildcards y las regex se evalúan en orden.
  • El monitor de 404 registra las URL que faltan con número de peticiones, último acceso, referer y user agent (hasta 5.000 URL distintas, modificable); «Crear 301» rellena la regla de antemano.
  • Crea un 301 cuando cambia el slug de un producto, de una categoría o de una página CMS, para cada idioma, si ninguna regla cubre ya esa URL.
  • Importa y exporta CSV (columnas source, target, type, is_regex, keep_querystring, qs_mode, qs_param, qs_value, active), con el recuento de las filas importadas y omitidas: cómodo para cargar el mapeo de una migración.
  • Rechaza los destinos externos que no estén en la tienda o en una lista de hosts autorizados (protección contra open redirect).

Vea la ficha del módulo o lea la guía de instalación y configuración.

Fuentes

Preguntas frecuentes

¿301 o 302 para una migración?

301 (o 308) para los contenidos trasladados de forma definitiva: Google lo usa como señal fuerte, mientras que el 302 es una señal débil. Su documentación recomienda las redirecciones permanentes cuando se tiene la certeza de que no se anularán.

¿Conviene redirigir todas las URL antiguas a la página de inicio?

No. Google desaconseja enviar muchas URL antiguas a un único destino no pertinente: puede confundir a los usuarios y puede tratarse como un soft 404. Mejor la página más pertinente, o un 404 o 410 si no hay equivalente.

¿Durante cuánto tiempo hay que mantener las redirecciones?

Google indica mantenerlas el mayor tiempo posible, en general al menos un año, para que las señales pasen a las nuevas URL y los enlaces externos se reasignen.

¿PrestaShop redirige por sí solo la URL antigua cuando cambia el slug?

Sí, si el id está en la URL y «Redirigir a la URL canónica» está en 301 (con 302 la redirección es temporal, con 0 no hay redirección). No ocurre si cambia el esquema de las URL: las direcciones antiguas que ya no corresponden a ninguna ruta devuelven 404.

¿404 o 410 para las páginas eliminadas?

El estándar prefiere el 410 cuando la eliminación es probablemente permanente. Para Google los dos códigos se tratan igual, como todos los 4xx salvo el 429.

¿Basta el módulo por sí solo?

No. El módulo gestiona reglas, monitor de 404, CSV y 301 automáticos, pero el mapeo debe prepararlo usted. No comprueba cadenas ni bucles entre las reglas y no corrige enlaces internos, etiquetas canónicas, hreflang ni sitemaps: quedan por verificar con un script y con Search Console.

Deja un comentario

Los comentarios se moderan antes de su publicación.

← Blog

Cargando...
Volver arriba