Los mismos IDs, las mismas URLs
Productos, categorías, clientes y pedidos mantienen su identificador. Las URLs amigables con ID no cambian, el posicionamiento se conserva y no hace falta una sola redirección.
Instala PrestaShop 8 o 9 limpio, conecta la base de datos de tu tienda antigua y trae productos, combinaciones, imágenes, clientes y pedidos con los mismos identificadores de siempre. Con backup, rollback y reanudación integrados.
El problema
PrestaShop 1.7 funciona sobre PHP 7, sin soporte oficial desde 2022, y los hostings lo están retirando. Toca dar el salto a PrestaShop 8 o 9, y hay dos caminos.
El primero es la actualización in situ con el asistente oficial. Arrastra todo lo que hay en la tienda: módulos abandonados, un tema que ya no se mantiene, overrides y tablas huérfanas de años de parches. Cuando falla a mitad de proceso, y falla más de lo que parece, te quedas con una tienda a medias que hay que restaurar desde la copia de seguridad.
El segundo es el que recomiendan quienes ya han pasado por ello: instalar un PrestaShop 8 o 9 limpio, con tema y módulos actuales, y traer solo los datos del negocio. El problema es que hasta ahora eso significaba exportar e importar CSV a mano, perder los pedidos y el historial de clientes, o pagar un servicio externo que asigna IDs nuevos y rompe las URLs que Google lleva años indexando.
DM Import Old PS es la tercera vía: un módulo que se conecta directamente a la base de datos de la tienda antigua y copia el catálogo, los clientes y los pedidos a la tienda nueva, tabla a tabla, respetando cada identificador original.
Por qué este módulo
Productos, categorías, clientes y pedidos mantienen su identificador. Las URLs amigables con ID no cambian, el posicionamiento se conserva y no hace falta una sola redirección.
Sin exportar CSV ni pelearte con codificaciones. El módulo lee la base de datos antigua y escribe en la nueva por lotes, cruzando las columnas de ambos esquemas para resolver solas las diferencias entre versiones.
Líneas, impuestos, facturas, pagos, historial de estados, abonos, mensajes y devoluciones. Tus clientes ven su historial y tú conservas la trazabilidad que exige la normativa.
Descarga los originales de la tienda antigua usando los IDs y genera las miniaturas con los tipos de imagen configurados en tu nuevo tema. Nada de copiar carpetas a ciegas.
El proceso avanza por lotes desde el back office y guarda el progreso a cada paso. Si se corta la conexión o cierras la pestaña, reanudas desde el último punto sin repetir lo ya migrado.
Antes de tocar nada, cada tabla de destino se copia a una tabla de respaldo. Si algo no te convence, el rollback devuelve la tienda al estado exacto previo a la migración.
Cómo funciona
Todo desde el back office de la tienda nueva, en Parámetros avanzados. Sin línea de comandos, sin tocar ficheros.
Introduce host, base de datos, usuario, contraseña y prefijo de tablas de la tienda 1.7 u 8, y su dominio para las imágenes. La contraseña se guarda cifrada con la clave de tu tienda. «Probar conexión» confirma el acceso y muestra la versión y el nombre de la tienda origen.
El módulo cuenta tablas y filas por grupo y te enseña exactamente qué va a migrar antes de empezar. Marca o desmarca grupos y ajusta el tamaño de lote si el servidor es modesto.
Cuatro fases encadenadas por lotes: copia de seguridad de cada tabla de destino, copia de datos cruzando columnas entre esquemas, descarga de imágenes con generación de miniaturas y post-proceso (árbol de categorías, valores por defecto, marcado para reindexar, limpieza de cachés).
Al terminar, el módulo compara los recuentos de origen y destino y deja el log completo. Si todo cuadra, eliminas los backups para liberar espacio. Si no, un clic en «Rollback» y la tienda vuelve al punto de partida.
Cobertura
Todos los datos de negocio, en el orden correcto de dependencias. Eliges qué grupos migrar; los últimos (carritos y pedidos) pueden quedarse fuera para una migración parcial.
Idiomas, monedas, países, provincias, zonas, formatos de dirección e impuestos con sus reglas.
Grupos, clientes, direcciones y descuentos por grupo. Las contraseñas viajan tal cual para que sigan entrando.
Categorías, marcas, proveedores, atributos, características, adjuntos y etiquetas.
Fichas, combinaciones, imágenes, precios específicos y reglas, stock y movimientos, packs, accesorios, personalizaciones y productos virtuales.
Transportistas, zonas, rangos de precio y peso y costes de entrega.
Reglas de carrito completas con sus condiciones, restricciones por producto, país, grupo y transportista.
Carritos, pedidos, líneas, impuestos, facturas, pagos, historial de estados, cupones aplicados y abonos.
Hilos y mensajes de clientes, mensajes de pedido y devoluciones de mercancía con sus estados.
Páginas y categorías CMS, metadatos SEO de las páginas y el localizador de tiendas.
Una migración limpia consiste precisamente en no arrastrar lo que ya no sirve. El módulo deja fuera a propósito todo lo que pertenece a la instalación, no al negocio.
Sin riesgo
Una migración se hace una vez, pero se prueba varias. El módulo está pensado para ejecutarlo, revisar el resultado y repetirlo hasta que quede como quieres.
Cada tabla de destino se copia antes de vaciarla. Los backups representan siempre el estado anterior a la primera importación y no se sobrescriben al reintentar.
Restaura todas las tablas y elimina las imágenes descargadas, una a una según el log. Incluye un script de rollback de emergencia para cuando el back office no responde.
El plan, la tabla y la fila en curso, la posición del backup y de las imágenes se guardan a cada lote. Reanudar continúa desde ahí sin vaciar ni recopiar lo hecho.
Tablas omitidas, columnas ignoradas, imágenes no encontradas y recuentos finales quedan registrados para que sepas qué revisar.
La contraseña de la base de datos antigua se guarda cifrada con la clave de la tienda, nunca en texto plano en la tabla de configuración.
Tamaño de lote configurable y verificación SSL desactivable para tiendas antiguas con certificados caducados.
Comparativa
Cada camino tiene su sitio. Este es el resumen honesto de cuándo compensa cada uno.
| Criterio | DM Import Old PS | Actualización in situ (1-click upgrade) | Exportar e importar CSV |
|---|---|---|---|
| Punto de partida | PrestaShop 8 o 9 limpio, tema y módulos actuales | La misma instalación con todo lo heredado | PrestaShop limpio |
| IDs y URLs | Se conservan todos | Se conservan | Productos con esfuerzo; el resto cambia |
| Pedidos, facturas y abonos | Completos | Completos | No se pueden importar por CSV |
| Clientes con su contraseña | Sí | Sí | Requiere restablecer contraseñas |
| Imágenes | Descargadas y con miniaturas del nuevo tema | Las existentes | Por URL, una a una |
| Si falla a medias | Reanudar o rollback con un clic | Restaurar copia de seguridad completa | Limpiar a mano |
| Módulos y tema antiguos | Se quedan atrás | Hay que actualizarlos o desinstalarlos antes | Se quedan atrás |
| Tiempo de dedicación | Configurar y esperar | Horas de depuración habituales | Días de trabajo manual |
Licencia por tienda, pago único, a través de PrestaShop Addons
La compra se realiza en PrestaShop Addons, el marketplace oficial, con su garantía y su canal de soporte.
El módulo nació de una migración real: una tienda con miles de productos, combinaciones y pedidos que necesitaba pasar a PrestaShop 9 sin perder nada. Si no quieres ocuparte tú, ofrezco la migración llave en mano.
Preguntas frecuentes
Sí. El módulo se instala en la tienda PrestaShop 8 o 9 de destino y lee directamente la base de datos de la tienda 1.7, sin pasar por versiones intermedias. Las diferencias de esquema entre versiones se resuelven cruzando las columnas de cada tabla: las columnas nuevas toman su valor por defecto y las que ya no existen se ignoran.
Los IDs de productos, categorías, marcas, proveedores y páginas CMS se conservan, así que las URLs amigables que incluyen el ID siguen siendo las mismas. Los metadatos SEO de las páginas también se migran. Si usas URLs sin ID, basta con mantener el mismo esquema de URLs en la tienda nueva.
Sí, siempre que la clave de cifrado de la tienda nueva coincida con la de la antigua. PrestaShop la guarda en el fichero de parámetros de cada instalación; el módulo te indica dónde copiarla antes de abrir la tienda. Si prefieres no hacerlo, puedes forzar un restablecimiento de contraseñas.
No pierdes nada. El progreso se guarda en la base de datos de destino a cada lote, así que un timeout, un corte de red o cerrar la pestaña solo detienen el proceso. El botón «Reanudar» continúa desde el último punto guardado sin repetir las tablas ya copiadas.
Es lo recomendable. Instala la tienda nueva en un entorno de pruebas, lanza la migración, revisa el resultado y, si algo no cuadra, haz rollback y repite. El módulo no tiene límite de ejecuciones y las copias de respaldo conservan siempre el estado original limpio.
El módulo solo lee de la tienda antigua, así que puede seguir vendiendo mientras haces pruebas. Para la migración definitiva conviene congelar los pedidos en el origen unos minutos antes de lanzarla, para que la tienda nueva arranque con el último pedido incluido.
No, y es a propósito. Módulos, tema, configuración, empleados y estadísticas pertenecen a la instalación antigua. En la tienda nueva instalas las versiones actuales de los módulos que necesites y configuras el tema desde cero: es lo que hace que la migración sea limpia.
La versión actual está pensada para un origen monotienda, con uno o varios idiomas. Si tu instalación antigua usa multitienda, escríbeme antes de comprar y vemos si encaja.
Las fichas y los registros se migran, pero los ficheros de la carpeta de descargas no son accesibles por HTTP y hay que copiarlos a mano. El módulo lo recuerda en el resumen final.
Reconstruir el índice de búsqueda desde el back office, revisar transportistas y métodos de pago (los módulos de pago no se migran, aunque los pedidos conservan el nombre del pago) y regenerar el fichero .htaccess si usas URLs amigables. El módulo te lo lista al terminar.
Si tienes dudas sobre tu caso concreto (multitienda, módulos a medida, hosting), escríbeme y lo vemos antes de que compres nada.