Migrar base de datos de WordPress a PrestaShop: Guía paso a paso
¿Tienes una tienda en WordPress y quieres dar el salto a PrestaShop? Es una decisión inteligente. PrestaShop está diseñado específicamente para el comercio electrónico, ofreciendo un control total sobre productos, clientes, pedidos y catálogos. Sin embargo, el mayor desafío técnico suele ser migrar base de datos de un sistema a otro sin perder información valiosa.
No te preocupes. Aunque suene complejo, con esta guía paso a paso podrás realizar el proceso de forma ordenada y segura. Te explicaré cada fase, desde la exportación de datos en WordPress hasta su importación y limpieza en PrestaShop.
¿Qué implica migrar una base de datos de WordPress a PrestaShop?
Antes de empezar, es importante entender que WordPress y PrestaShop tienen estructuras de base de datos completamente diferentes. WordPress organiza la información en tablas como wp_posts, wp_postmeta y wp_usermeta. PrestaShop, en cambio, utiliza tablas como ps_product, ps_customer, ps_order_detail, etc.
Por lo tanto, no puedes simplemente copiar y pegar archivos. La migración requiere transformar los datos de un formato a otro. Dependiendo del volumen de información, puedes optar por:
- Migración manual (exportar/importar con scripts SQL o herramientas como phpMyAdmin)
- Migración automatizada (usando plugins o módulos de pago como CMS2CMS o Cart2Cart)
En esta guía nos centraremos en la migración manual, ideal si tienes pocos productos y clientes, o si quieres entender cada paso.
Requisitos previos antes de migrar la base de datos
Para evitar sorpresas, asegúrate de tener lo siguiente:
- Acceso a phpMyAdmin o cualquier gestor de base de datos (por ejemplo, desde el panel de control de tu hosting, como Syspanel en el puerto 2106).
- Copia de seguridad completa de tu base de datos de WordPress.
- PrestaShop instalado y funcionando (preferiblemente en un entorno de pruebas o subdominio).
- Conocimientos básicos de SQL (aunque no te asustes, solo necesitarás ejecutar consultas sencillas).
- Paciencia y un entorno de pruebas para no afectar tu sitio en producción.
[WARNING] Nunca trabajes directamente sobre la base de datos de tu tienda en vivo. Siempre haz una copia de seguridad y prueba en un entorno local o de staging.
Paso 1: Exportar los datos desde WordPress
El primer paso es obtener la información que quieres migrar. Lo más común es transferir:
- Productos (título, descripción, precio, categorías, imágenes)
- Clientes (nombre, correo, dirección)
- Pedidos (historial de compras)
- Categorías (taxonomías de productos)
1.1 Accede a tu base de datos de WordPress
Entra a tu panel de control (cPanel, Syspanel, etc.) y abre phpMyAdmin. Selecciona la base de datos de tu WordPress.
1.2 Identifica las tablas relevantes
Para productos y contenido, las tablas principales son:
wp_posts(contiene productos, páginas, entradas)wp_postmeta(metadatos como precio, SKU, stock)wp_term_taxonomyywp_terms(categorías y etiquetas)wp_usersywp_usermeta(clientes registrados)wp_woocommerce_order_itemsywp_woocommerce_order_itemmeta(pedidos)
1.3 Exporta las tablas en formato CSV o SQL
Recomiendo exportar en CSV para luego importar fácilmente en PrestaShop. Selecciona cada tabla y usa la opción "Exportar" → "CSV". Asegúrate de incluir todas las filas.
[TIP] Si tienes muchos datos, exporta por lotes (por ejemplo, 500 registros por archivo) para evitar errores de tiempo de espera.
Paso 2: Preparar la estructura de PrestaShop
Antes de importar, debes tener las tablas de PrestaShop listas. Si acabas de instalar PrestaShop, ya tendrá las tablas vacías (con prefijo ps_). Lo ideal es que uses la misma versión de PrestaShop que tu objetivo final.
2.1 Crea las categorías en PrestaShop manualmente
PrestaShop gestiona las categorías de forma diferente a WordPress. Es más seguro crearlas a mano desde el panel de administración (Catálogo → Categorías) para evitar conflictos con los IDs.
2.2 Configura los atributos de producto
Si tus productos en WordPress tienen atributos (talla, color), deberás crearlos en PrestaShop (Catálogo → Atributos y características).
2.3 Prepara las tablas de clientes y pedidos
PrestaShop tiene una estructura más rígida para clientes y pedidos. Si migras muchos clientes, necesitarás insertar registros en ps_customer, ps_address, etc. Para pedidos, las tablas ps_orders y ps_order_detail son las principales.
Paso 3: Importar los datos a PrestaShop
Aquí viene la parte más delicada. Puedes hacerlo mediante consultas SQL o usando plugins de importación (recomendado para no técnicos).
3.1 Opción A: Usar un módulo de importación (recomendado)
PrestaShop tiene un importador CSV nativo (Parámetros avanzados → Importar). Es muy potente y permite mapear campos. Sigue estos pasos:
- Ve a Parámetros avanzados → Importar.
- Selecciona el tipo de datos (productos, clientes, etc.).
- Sube tu archivo CSV exportado de WordPress.
- Asigna cada columna del CSV al campo correspondiente de PrestaShop (por ejemplo, "post_title" → "Nombre", "meta:_price" → "Precio").
- Ejecuta la importación en modo "prueba" primero para ver errores.
[INFO] El importador nativo de PrestaShop no soporta migraciones complejas como pedidos con múltiples líneas. Para eso necesitarás un módulo de pago o consultas SQL personalizadas.
3.2 Opción B: Insertar datos mediante SQL
Si te sientes cómodo con SQL, puedes escribir consultas INSERT INTO. Por ejemplo, para insertar un producto básico:
INSERT INTO ps_product (id_product, reference, price, active, ...)
VALUES (1, 'SKU123', 19.99, 1, ...);
Luego insertas en ps_product_lang para el nombre y descripción, y en ps_stock_available para el stock.
[WARNING] Ten cuidado con los IDs autoincrementales. PrestaShop asigna IDs automáticamente, así que no forces valores si no estás seguro.
Paso 4: Migrar clientes y pedidos
Los clientes y pedidos son los datos más críticos. Aquí te doy un enfoque práctico.
4.1 Clientes
Exporta de WordPress: wp_users (id, user_email, display_name) y wp_usermeta (billing_first_name, billing_last_name, etc.).
En PrestaShop, inserta en ps_customer (email, firstname, lastname, passwd – la contraseña debe estar encriptada con el algoritmo de PrestaShop). Luego inserta direcciones en ps_address.
[TIP] Para las contraseñas, lo más seguro es que los clientes usen la opción "¿Olvidaste tu contraseña?" al iniciar sesión. Así evitas problemas de encriptación.
4.2 Pedidos
Los pedidos son los más complejos. Necesitas:
ps_orders: id_order, id_customer, total, date_add, etc.ps_order_detail: id_order, product_id, product_name, product_price, quantityps_order_history: estado del pedido
Si tienes muchos pedidos, considera usar un servicio de migración automatizado como Cart2Cart.
Paso 5: Verificar y limpiar los datos migrados
Una vez importados, revisa que todo esté correcto:
- Productos: ¿Aparecen en el catálogo? ¿Tienen precio, stock e imágenes?
- Clientes: ¿Pueden iniciar sesión? ¿Sus direcciones son correctas?
- Pedidos: ¿Se muestran en el historial? ¿Los totales coinciden?
5.1 Corregir errores comunes
- IDs duplicados: Usa consultas SQL para encontrar y eliminar duplicados.
- URLs rotas: Reemplaza las URLs de WordPress por las de PrestaShop en las descripciones.
- Imágenes: Las imágenes no se migran automáticamente. Deberás subirlas manualmente o usar un script que las descargue desde las URLs antiguas.
[WARNING] Después de la migración, no borres la base de datos de WordPress hasta que confirmes que todo funciona en PrestaShop.
Paso 6: Redireccionar URLs y SEO
Para no perder posicionamiento, configura redirecciones 301 desde las URLs antiguas de WordPress a las nuevas de PrestaShop. Puedes hacerlo mediante:
- Archivo .htaccess (si usas Apache)
- Módulo de redirección en PrestaShop (algunos gratuitos)
- Plugin de redirección en WordPress antes de desactivarlo
Ejemplo de redirección en .htaccess:
Redirect 301 /producto-antiguo/ https://tutienda.com/nuevo-producto/
Preguntas frecuentes (FAQ)
¿Puedo migrar solo los productos sin clientes ni pedidos?
Sí, es lo más común. Muchos negocios prefieren empezar con un catálogo limpio y luego migrar clientes y pedidos por separado.
¿Cuánto tiempo toma migrar una base de datos?
Depende del volumen. Para 100 productos y 50 clientes, unas pocas horas. Para grandes catálogos, puede llevar días.
¿Qué hago si la migración falla?
Restaura la copia de seguridad de PrestaShop y vuelve a intentarlo con un conjunto de datos más pequeño. Siempre guarda los logs de errores.
¿Puedo migrar desde WooCommerce?
Sí, el proceso es similar. WooCommerce guarda los datos de productos en wp_posts con el tipo product, y los metadatos en wp_postmeta.
¿Necesito conocimientos de programación?
No necesariamente. Con el importador CSV de PrestaShop y un poco de paciencia, puedes hacerlo. Pero para migraciones complejas, un experto en bases de datos te ahorrará tiempo.
Conclusión
Migrar base de datos de WordPress a PrestaShop es un proceso meticuloso pero factible. La clave está en planificar, hacer copias de seguridad y probar en un entorno controlado. Recuerda que no solo transfieres datos, sino también la confianza de tus clientes.
Si sigues esta guía paso a paso, podrás dar el salto a PrestaShop con la tranquilidad de que tu información está segura. Y si en algún momento te sientes abrumado, recuerda que siempre puedes buscar ayuda profesional o usar herramientas automatizadas.
¡Buena suerte con tu nueva tienda!
