02/11/20206 min

¿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.

Migración de WooCommerce a PrestaShop por categorías

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:

Migración de WooCommerce a PrestaShop por atributo color

Luego, los valores para ese atributo:

Ejemplo migración de WooCommerce a PrestaShop por atributo color

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:

Migración de WooCommerce a PrestaShop dirname

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. 

Cada 2 semanas, nuestra newsletter e-commerce

Al enviar este formulario, acepto que PrestaShop S.A utilice los datos que he facilitado para el envío de boletines y ofertas promocionales. Puedes cancelar la suscripción en cualquier momento por medio del enlace que figura en los correos promocionales que recibes. Obtén más información sobre la gestión de tus datos y derechos.