¿Cómo migrar de WooCommerce a PrestaShop?
¿Estás pensando migrar de WooCommerce a PrestaShop? Tu tienda Online está creciendo y, con ello, sientes que ahora tu negocio necesita una plataforma que te ofrezca mayores prestaciones.
Es decir, hay ciertas funcionalidades que WooCommerce no ofrece o que brinda de forma limitada, como, por ejemplo, la integración con el CRM que estés usando, un nuevo método de pago, una multitienda con almacén central, etc.
Y ese es el momento en el que decides dar el paso a PrestaShop, que ofrece todas estas posibilidades y muchas otras.
Por ello, en este post vamos a ver varias maneras de migrar WooCommerce a PrestaShop, donde el límite de crecimiento lo pones tú.
Además, cuentas con un marketplace oficial de módulos y temas con los que podrás agregar nuevas funcionalidades en pocos minutos, o cambiar la estética de tu tienda Online con las múltiples plantillas que hay.
Vamos a analizar varias formas: desde la más técnica, recomendada solo para programadores, hasta las más sencillas para quien no posea estas habilidades o no tenga tiempo de hacerlo de forma manual.
Antes de continuar, si quieres obtener más información sobre la migración y en qué se diferencia del upgrade (actualización), puedes leer este artículo.
Método 1: ¿cómo hacer la migración manual de datos de WooCommerce a PrestaShop?
Esta migración es la más larga y se requieren conocimientos técnicos, por lo que si no los tienes te recomiendo que pases al siguiente método.
Para hacer una migración manual de datos, primero debes analizar la estructura de WooCommerce y entender dónde están tus datos y dónde deben estar cuando los pases a PrestaShop.
Nombre de Tabla |
Descripción |
woocommerce_sessions |
Datos de la sesión de nuestros usuarios, como por ejemplo los carritos. |
woocommerce_api_keys |
API Keys usadas para REST API |
woocommerce_attribute_taxonomies |
Atributos de los productos |
woocommerce_downloadable_product_permissions |
Productos con permiso para descargar el producto después de la compra |
woocommerce_order_items |
Items asociados con compras |
woocommerce_order_itemmeta |
Meta Data de las compras |
woocommerce_tax_rates |
Reglas de impuestos definidas en el admin |
woocommerce_tax_rates_locatios |
Guarda localizaciones (códigos postales y ciudades) asociadas con los impuestos |
woocommerce_shipping_zones |
Guarda áreas de envío |
woocommerce_shipping_zones_locations |
Guarda las localizaciones asociadas con el área de envío |
woocommerce_shipping_zone_methods |
Métodos de envío definidos por las áreas de envío |
woocommerce_payment_tokens |
Guarda los token de pago |
woocommerce_payment_tokenmeta |
Guarda meta data sobre los tokens de pago |
woocommerce_log |
Log de woocommerce, puede estar vacía si usamos el log en fichero y no en base de datos |
wc_webhooks |
Guarda los hooks que estamos usando |
wc_download_log |
Logs de la descarga por parte de los usuarios (de los productos indicados como producto descargable) |
wc_product_meta_lookp |
Indexa meta data de las compras para agilizar el proceso de compra |
wc_tax_rate_classes |
Guarda los datos de las clases de impuesto |
Puedes ver la estructura de cada tabla en este enlace, donde además están todas las especificaciones.
Para la migración también vas a necesitar algunas tablas de Wordpress:
-
wp_users
-
wp_usermeta
-
wp_posts
-
wp_terms
Tienes la posibilidad de migrar estos datos:
-
Clientes y direcciones
-
Categorías
-
Productos
-
Precios e impuestos
-
Imágenes
-
Atributos
-
Características
-
-
Pedidos
-
Transportistas
Las tablas de PrestaShop involucradas para estos datos son (asumiendo que has usado el prefijo por defecto para las tablas ps):
-
ps_customer
-
ps_customer_group
-
ps_address
-
ps_product
-
ps_product_lang
-
ps_product_shop
-
ps_attribute
-
ps_attribute_lang
-
ps_attribute_shop
-
ps_attribute_group
-
ps_attribute_group_lang
-
ps_product_attribute
-
ps_product_attribute_combination
-
ps_product_attribute_shop
-
ps_stock_available
-
ps_category
-
ps_category_lang
-
ps_orders
-
ps_order_detail
-
ps_order_detail_tax
-
ps_order_carrier
-
ps_order_invoice
-
ps_order_invoice_payment
-
ps_order_invoice_tax
-
ps_order_payment
-
ps_cart
-
ps_cart_product
-
ps_feature
-
ps_feature_lang
-
ps_feature_value
-
ps_feature_value_lang
-
ps_feature_product
-
ps_feature_shop
Pueden parecer muchas tablas, pero vamos a ver paso a paso cómo migrar los datos y las tablas involucradas.
PASO 1: los clientes y direcciones de los clientes
Los clientes de tu tienda en WooCommerce se almacenan en la tabla wp_users y wp_usersmeta.
La tabla wp_users
De la tabla wp_users solo necesitas el correo electrónico y la contraseña.
Para poder utilizar las contraseñas que los clientes tienen en Wordpress tienes que realizar algunos pasos extras porque están codificados en MD5 y se validan con un hash.
Tú decides:
» El usuario deberá introducir nueva contraseña al iniciar sesión (se puede restablecer desde el back de PrestaShop).
» Desarrollas algún método para migrar las contraseñas.
En este caso, una posible solución sería:
-
Crear una tabla que contenga el “hash” de la contraseña de Wordpress.
-
Hacer un override de la clase Customer donde se verifican los datos al iniciar sesión.
- Crear un método que verifique el MD5 de la contraseña con el hash guardado en tu tabla.
La tabla wp_usersmeta
En wp usermeta tienes que rescatar el nombre y apellido y las direcciones. Todos los campos que comienzan con shipping_ o billing_ los asignarás a tablas de PrestaShop.
Para guardar estos datos puedes hacerlo cómo te resulte más cómodo: un script en sql, copiar las tablas dentro de la base de datos de PrestaShop y realizar un script en PHP que lea esta tabla nueva y se lleve los datos a PrestaShop… A tu elección.
Una vez tienes el usuario creado con los datos necesarios (nombre, apellido, correo electrónico y contraseña) en ps_customer, te hará falta el id_default_group, el id que para PrestaShop significa 'Cliente’ (puedes usar las ID de Wordpress).
Cuando obtengas tu ID de usuario, lo usarás para asignar direcciones (ps_address).
Al igual que en el paso anterior siéntete libre para crear un script que asigne las direcciones al id del usuario.
Ahora tienes que tener un poco de cuidado: id_country e id_state debes obtenerlos de estas tablas: ps_country (y ps_country_lang) y ps_state (y ps_state_lang), que corresponden a países y provincias.
Recuerda tomar solo los usuarios con el campo wp_user_level establecido en 0 y wp_capabilities establecido en "cliente".
Usando las clases de PrestaShop será más fácil importar los datos, ya que para campos innecesarios o del sistema él se encargará de completarlos.
PASO 2: las categorías
Las categorías se encuentran dentro de wp_terms y algunos datos en wp_term_taxonomy
Te aconsejo usar las clases de PrestaShop como esquema para migrar estos datos.
Ten en cuenta que en wp_term_taxonomy hay un campo “parent” que te dice si esa categoría es hija de otra. Primero, recupera las que tienen parent = 0 y luego, recupera las hijas.
Así, no creas una categoría hija en Wordpress como padre en PrestaShop.
PASO 3: los atributos
Se usan en caso de que haya productos con combinaciones, es decir, con atributos, por ejemplo, diferentes colores, diferentes tamaños, etc.
La información se encuentra dispersa alrededor de estas 4 tablas de WordPress (5 si están asignadas a al menos un producto):
-
wp_woocommerce_attribute_taxonomies
-
wp_term_taxonomy
-
wp_term_meta
En estas tres está el atributo.
-
wp_terms
Aquí, en cambio, encuentras los valores que pueden tomar ese atributo. -
wp_term_relationships
Aquí verás la relación entre el atributo y el producto
Ejemplo:
Si hubieras creado un atributo "Color", y dos valores para este atributo "Negro" y "Blanco", encontrarás esta información en la base de datos:
wp_woocommerce_attribute_taxonomies
Cuando ya tengas los datos es hora de migrarlos a PrestaShop. Para ello usarás:
-
AttributeGroup: donde definirás el atributo en sí mismo (Color por ejemplo)
-
Attribute, los valores que ese atributo puede tomar.
Usa como antes, las funciones de PrestaShop para entender cómo “encajar” los datos:
Luego, los valores para ese atributo:
PASO 4: los productos
Vamos con lo fundamental de la migración: los productos. Es la parte más importante y la que más tablas abarca (como no podía ser de otra manera).
Las tablas de WooCommerce que usaremos son:
-
wp_wc_product_meta_lookup
-
wp_wc_tax_rate_classes
-
wp_post
-
wp_term_relationships
-
wp_term_taxonomy
-
wp_postmeta
-
wp_termmeta
-
wp_terms
Puedes utilizar wp_wc_product_meta_lookup, o wp_post filtrando las que “post_type=product” para sacar esta información:
-
Código (sku)
-
Precio (min y max)
-
Cantidad
-
Tipo (virtual, descargable)
-
Activo
-
Evaluación(rating)
-
Contador vendido
En wp_post_meta encuentras más información:
-
Precio estándar (precio regular)
-
Peso
-
Más información si es descargable
-
Precio actual
-
Atributos
En wp_term_taxonomy, wp_term_relationships, wp_terms:
-
Tipo de producto
-
Categorías
-
Características
En wp_wc_tax_rate_classes encontramos impuestos.
Es mucha información, te dejo a libre elección como reunir toda la información, para migrarla a PrestaShop.
Utiliza la función Product() para ver toda la información básica que tienes que migrar:
Esta es la información básica que necesitas para configurar un producto.
Esto se puede complicar todo lo que quieras en función de tu caso concreto.
Te dejo el enlace donde se explica de forma detallada toda la importación de un Producto a PrestaShop por si necesitas importar algo más de lo que estamos viendo ahora.
Te recomiendo mantener los mismos identificadores que tienes en WooCommerce. Para eso, recuerda establecer force id=”true”.
Método 2: utiliza un módulo para hacer la migración de WooCommerce a PrestaShop
Si no tienes los conocimientos técnicos para realizar la importación a mano puedes hacer uso de los módulos que tenemos en nuestro marketplace oficial.
Te propongo dos para migrar datos y otro más orientado al SEO.
Migración de datos
Redirecciones SEO
Los tres módulos van acompañados de documentación para poder importar datos de WooCommerce a PrestaShop en unos pocos clics.
Si no tienes mucha experiencia o no tienes mucho tiempo, mi consejo es usar uno de estos módulos.
Gracias a la guía que incluye cada uno de ellos, podrás llevar los datos de WooCommerce a PrestaShop sin problema.
Método 3: contacta con un partner certificado de PrestaShop
Si tu tienda es muy compleja para hacerlo manualmente y tampoco puedes usar los módulos anteriores, tienes la posibilidad de contactar con uno de nuestros Partners certificados que se encargará de liderar tu migración a PrestaShop, incluidas las funcionalidades a medida y/o complejas.
Nuestras agencias certificadas las puedes encontrar en nuestra página de expertos.
Puedes filtrar por región, experiencia…
Conclusiones
Como ves hay varias posibilidades para migrar WooCommerce a PrestaShop y hacer crecer tu tienda Online sin límites.
Quiero añadir que aquí solo hablamos de migrar los productos, los datos, porque el front-end: la plantilla y tema no es migrable, es decir, necesitarás un tema nuevo diseñado y desarrollado para PrestaShop.
Los temas oficiales siempre están presentes en nuestro market oficial.
Aquí hay otros artículos sobre el mismo tema que pueden interesarte:
Y para acabar, solo me queda darte la bienvenida a PrestaShop y a animarte a que descubras todas las funcionalidades que te ayudarán a impulsar tu negocio.