Configurar redirecciones 301 en PrestaShop después de una migración

Pregunta publicada Respuesta publicada 1356 vistas

Cuando migras una tienda PrestaShop, las URLs suelen cambiar. Sin redirecciones, cada dirección antigua devuelve un 404 a visitantes y motores de búsqueda. Una redirección 301 indica que la página se movió permanentemente y es la elección correcta para una migración permanente. Un 302 es temporal y no debe usarse para mapas de migración de URLs antiguas a nuevas.

MPR SEO Migration Wizard para redirecciones 301
Migration Wizard - importa URLs antiguas, asígnalas y crea redirecciones 301.

Prepara un mapa de antiguas a nuevas

Exporta las URLs antiguas y nuevas a un archivo de dos columnas antes del lanzamiento. Mantén las rutas normalizadas: un host, un protocolo, un estilo de barra final y sin cadenas de redirecciones. Por ejemplo:

old_path,new_url
/old-product.html,https://www.example.com/new-product
/old-category/,https://www.example.com/new-category/
/3-shoes,https://www.example.com/shoes

Apache (.htaccess)

Coloca las reglas antes de las reglas propias del dispatcher de PrestaShop, por encima del bloque # Dispatcher y después de RewriteEngine On. Si PrestaShop gestiona antes la petición, tu redirección puede no ejecutarse nunca.

RewriteEngine On

# Exact old-to-new page mapping
Redirect 301 /old-product.html https://www.example.com/new-product
Redirect 301 /old-category/ https://www.example.com/new-category/

# Pattern redirect
RewriteRule ^old-brand/(.*)$ /brand/$1 [R=301,L]

# Strip ID-prefixed category URLs, e.g. /3-shoes -> /shoes
RewriteRule ^([0-9]+)-(.+)$ /$2 [R=301,L]

Nginx

Para unas pocas redirecciones, usa locations exactas. Para un mapa de migración grande, usa map en el contexto http y una única regla return en el bloque server.

# http {} context
map $request_uri $redirect_target {
    default 0;
    /old-product.html /new-product;
    /old-category/ /new-category/;
    /3-shoes /shoes;
}

# server {} context
if ($redirect_target) {
    return 301 https://www.example.com$redirect_target;
}

Para miles de URLs, genera reglas desde el CSV o usa un módulo de redirecciones que permita al equipo gestionarlas desde el back office. Prueba antes de salir en vivo con curl -I https://www.example.com/old-product.html; buscas 301 Moved Permanently y el Location final. Usa curl -IL para detectar cadenas.

Errores comunes

  • Cadenas de redirección: apunta las URLs antiguas directamente al destino final.
  • Bucles infinitos: comprueba www/non-www, HTTP/HTTPS y reglas de módulos en conflicto.
  • Sensibilidad a mayúsculas: las rutas Linux distinguen mayúsculas y minúsculas; usa [NC] en reglas rewrite de Apache solo cuando quieras expresamente coincidencia sin distinguir mayúsculas.
  • Query strings eliminadas: consérvalas solo cuando aporten estado útil; elimina parámetros de tracking.
  • Retención corta: conserva las redirecciones importantes de migración al menos un año, a menudo más para páginas de alto valor.

Para el traslado completo, incluidos archivos, base de datos, tema y redirecciones, sigue nuestra guía de migración de PrestaShop.

¿Le resultó útil esta respuesta?

¿Todavía tienes preguntas?

¿No encuentras lo que buscas? Envíanos tu pregunta y te responderemos.

Cargando...
Volver arriba