Cuando un negocio opera en varios países, la estructura de sus datos es especialmente importante.
Para Maciej Gruszka, CEO y propietario de Behemoth Webstore, este no era su primer proyecto de migración con Next-Cart. A lo largo de los años, había confiado en el equipo para trasladar sus tiendas internacionales a BigCommerce y PrestaShop.
Pero a medida que su negocio evolucionaba, también lo hacían sus expectativas.
Esta vez, Maciej buscaba consolidación y una mejora de infraestructura a largo plazo. La plataforma de destino era WooCommerce, integrada con WordPress. Esta combinación ofrece la flexibilidad necesaria para gestionar tanto un comercio avanzado como contenidos, justo lo que Maciej necesitaba.
Sin embargo, Maciej quería algo más que una simple transferencia de datos. El objetivo era unir cuatro tiendas Shopify independientes, cada una orientada a un mercado con una moneda distinta, en un único ecosistema WooCommerce sin romper las relaciones entre productos, los historiales de clientes ni la integridad de los pedidos.
Fue uno de los proyectos de migración con más capas técnicas que Next-Cart gestionó durante ese periodo.
El reto del proyecto: consolidar cuatro tiendas Shopify en un solo entorno WooCommerce
Maciej operaba cuatro tiendas Shopify: una tienda principal y tres adicionales para los mercados en USD, EUR y GBP.
La primera fase de la migración se centró en la tienda Shopify principal. Incluía 125 categorías, 388 productos, 5.898 clientes y 11.537 pedidos.
La verdadera complejidad apareció en la siguiente fase, cuando Maciej planteó una pregunta: si las tres tiendas Shopify restantes comparten la misma base de productos, con los mismos SKU y códigos de barras, ¿los pedidos importados reconocerán los productos ya migrados y se vincularán correctamente en WooCommerce?
No se trataba de una migración estándar. Era un proyecto de consolidación por etapas con varias tiendas de origen. Cada tienda Shopify tenía su propia base de clientes y su propio historial de pedidos, pero los productos eran idénticos. El reto era evitar duplicados y, al mismo tiempo, unificar las relaciones de los datos.
En concreto, el cliente necesitaba:
-
Vincular los pedidos con productos existentes mediante SKU
-
Fusionar clientes por correo electrónico cuando ya existieran
-
Conservar y relacionar correctamente todos los datos históricos
-
Evitar productos duplicados
-
Evitar la fragmentación de perfiles de clientes
En este caso, la lógica de migración debía personalizarse con cuidado para reconocer y relacionar datos entre varias tiendas.
Primer obstáculo: los clientes se importaban, pero no aparecían
Tras la migración inicial, Maciej observó que los clientes se habían importado correctamente a WordPress en “Users”, pero no aparecían en “WooCommerce Customers”.
A primera vista parecía un problema de migración. Sin embargo, el equipo de Next-Cart investigó a fondo y descubrió que la causa real era un plugin multimoneda instalado en WooCommerce, que estaba modificando el comportamiento predeterminado de visibilidad de clientes.
El plugin estaba configurado para mostrar clientes solo cuando tenían al menos un pedido en PLN, mientras que el idioma y la moneda de la tienda estaban establecidos en polaco y PLN.
En esta situación, los datos sí estaban presentes técnicamente, pero no se mostraban debido a las reglas de filtrado.
Next-Cart ajustó entonces la configuración de la migración para cumplir esas condiciones:
-
Los pedidos recibieron la moneda correcta
-
El mapeo de idiomas se alineó con la lógica del plugin
-
Las futuras importaciones desde las tiendas en USD, EUR y GBP podrían funcionar correctamente una vez definidas las monedas
El problema estaba en la lógica del entorno, no en los datos. Resolverlo exigía comprender el comportamiento de WooCommerce a nivel de sistema.
Mapeo de datos de producto: traducir la lógica de Shopify a WooCommerce
Los siguientes requisitos de Maciej sobre mapeo preciso de campos iban más allá de una migración básica de entidades. Quería trasladar varios custom fields de Shopify a atributos de WooCommerce:
-
Country/Region of Origin → Atributo de producto
-
HS Code → Atributo de producto
-
Barcode → Campo EAN de WooCommerce
-
Brand → Atributo
-
GTIN → Atributo
Al mismo tiempo, no quería importar determinados campos, entre ellos Reviews, Size, Table Size, UPC y MPN. Esta exclusión selectiva ayudaba a evitar información innecesaria en el nuevo entorno WooCommerce.
Por tanto, la herramienta de migración debía personalizarse no solo para mapear los custom fields a los atributos correctos de WooCommerce, sino también para excluir determinados elementos.
La personalización a nivel de campo suele subestimarse en los proyectos de migración estándar. Sin embargo, en una consolidación multitienda como esta, la coherencia de los atributos es crítica, especialmente cuando futuros filtros, reglas fiscales y requisitos de envío dependen de metadatos precisos como el HS Code o el Country of Origin.
Los desarrolladores de Next-Cart modificaron la lógica de migración para mantener los datos de producto limpios y estandarizados dentro de WooCommerce.
El reto principal: vincular pedidos con productos existentes en WooCommerce mediante SKU
La parte más delicada del proyecto era garantizar una vinculación precisa entre pedidos y productos en las cuatro tiendas.
Las tres tiendas en USD, EUR y GBP contenían los mismos productos. Importarlos directamente en una única tienda WooCommerce habría creado duplicados sin un tratamiento específico. Además, los pedidos podían quedar vinculados a productos incorrectos o sin relación.
Para evitarlo, la herramienta de migración se personalizó con una lógica estricta de coincidencia por SKU. El sistema identificaba los productos ya existentes en WooCommerce utilizando el SKU como clave única y vinculaba a ellos los pedidos procedentes de todas las tiendas.
El tratamiento de clientes siguió una lógica similar. Si un pedido hacía referencia a un correo electrónico que ya existía en WooCommerce, el sistema fusionaba el registro en lugar de crear una cuenta duplicada. Así, el historial de compra permanecía unificado incluso cuando un cliente había comprado en distintas monedas.
En este proyecto, la migración funcionó como un motor de consolidación que convirtió una base de datos fragmentada en una estructura coherente.
Corrección de códigos de barras a nivel de variante
En Shopify, cada variante de producto tenía un código de barras único. Sin embargo, después de la migración, las variantes de WooCommerce aparecían con el mismo valor EAN.
Para los negocios que dependen de los códigos de barras en fulfillment o integraciones con marketplaces, este problema podía provocar errores operativos.
El equipo volvió a personalizar la lógica de migración para solucionarlo. Cada código de barras de variante de Shopify se mapeó con precisión al EAN de la variante correspondiente en WooCommerce, permitiendo que los sistemas de inventario, los procesos de escaneo y las integraciones externas funcionaran correctamente después de la consolidación.
Newsletter y Mailchimp: entender los límites entre sistemas
Maciej también quería transferir los datos de suscripción a la newsletter.
Si un cliente de Shopify estaba suscrito a los correos, ese estado también debía quedar marcado en WooCommerce.
Tras investigar, el desarrollador descubrió que el plugin de integración con Mailchimp almacenaba el estado de suscripción en el sistema de Mailchimp y no en la base de datos de WooCommerce.
La migración rellenó correctamente los campos meta de suscripción en WordPress. Sin embargo, el plugin solo sincronizaba cuando los usuarios se actualizaban manualmente, por lo que las casillas de WooCommerce no se marcaban automáticamente.
Se trataba de una limitación de arquitectura de API.
La herramienta de migración no puede forzar el estado de suscripción en un sistema externo sin activar su propio mecanismo de sincronización. Next-Cart comunicó claramente esta limitación al cliente.
Inestabilidad del hosting: una capa de complejidad inesperada
Otro aspecto exigente del proyecto fueron los cambios de hosting.
Durante la migración, Maciej cambió varias veces de proveedor entre Hostinger, Kinsta, SiteGround y Cloudways. Cada cambio exigía volver a conectar el migration bridge, reconfigurar las credenciales FTP, incluir direcciones IP en la lista permitida, validar permisos de base de datos y limpiar las cachés del servidor.
En algunos momentos, el acceso desde determinadas regiones estaba restringido. Además, las capas de caché provocaban ejecuciones duplicadas cuando la herramienta se iniciaba en varias pestañas del navegador.
No eran errores de datos, sino variables del entorno, y requerían una resolución de problemas sistemática.
El equipo de migración se adaptó continuamente a cada configuración de hosting para garantizar la estabilidad antes de reanudar las importaciones.
WPML: un cambio estratégico durante la migración
Durante el proyecto, Maciej decidió eliminar WPML del entorno WooCommerce.
Si este cambio no se gestiona correctamente durante una migración activa, puede generar registros huérfanos o una visibilidad inconsistente de los productos. Además, los metadatos de traducción almacenados en tablas auxiliares pueden causar conflictos al desactivar el plugin.
Para reducir estos riesgos, la configuración de migración se rediseñó antes de continuar con la importación de las tiendas adicionales.
-
La lógica de inserción de productos se simplificó para utilizar la estructura estándar de WooCommerce y evitar hooks innecesarios
-
Se revisó el mapeo de taxonomías para mantener estables los atributos y las categorías
-
Se verificaron clientes y pedidos para confirmar que no dependieran de metadatos específicos de idioma
Este ajuste a mitad del proceso exigió una secuencia cuidadosa. El equipo lo trató como una transición controlada, no como una simple desactivación del plugin.
Al finalizar el proyecto, la tienda WooCommerce funcionaba correctamente sin WPML. Los productos quedaron estructurados en un único idioma y sin capas de traducción complejas.
Resultado final: un ecosistema WooCommerce completamente unificado
Después de varias rondas de personalización, el resultado fue un sistema WooCommerce totalmente consolidado:
-
Las categorías y los productos quedaron organizados de forma limpia
-
Se conservaron más de 11.500 pedidos de la tienda principal
-
Más de 10.000 pedidos adicionales de las tres tiendas por moneda se vincularon mediante SKU
-
Los clientes se fusionaron de forma inteligente
-
Los valores EAN de las variantes aparecieron correctamente en WooCommerce
-
WPML se eliminó sin afectar al funcionamiento de la tienda
-
No se crearon productos duplicados
Lo que comenzó como cuatro tiendas Shopify independientes con distintas monedas se convirtió en un único sitio WooCommerce centralizado con los datos unificados.
Conclusión: qué revela este proyecto sobre la complejidad técnica de una migración
Este proyecto demuestra que una migración eCommerce no consiste únicamente en trasladar datos de una plataforma a otra. También implica traducir arquitecturas, reconciliar comportamientos, personalizar la lógica de mapeo y preservar las relaciones históricas.
Para negocios con varias tiendas que operan en monedas distintas, como Behemoth Webstore, la migración requiere una planificación cuidadosa y flexibilidad técnica. A lo largo del proyecto fue necesario gestionar la coincidencia por SKU, la fusión de clientes, la precisión a nivel de variante, la compatibilidad de plugins y la estabilidad del hosting.
Todos estos elementos contribuyeron al resultado final, y Maciej compartió después su experiencia:
“El equipo y esta herramienta son fantásticos. Han migrado todos mis datos desde Shopify, incluidos clientes, pedidos, productos y otros datos, con algunos cambios personalizados a WooCommerce. Antes también me ayudaron con BigCommerce y PrestaShop. Tengo la impresión de que no hay ninguna tarea imposible para ellos. La comunicación y el soporte son muy rápidos, incluso durante los días festivos. ¡Son increíbles!”
Este caso muestra la importancia de una personalización estructurada y de comprender los sistemas a fondo. Ese trabajo permitió convertir una migración por etapas en una tienda eCommerce unificada y preparada para crecer.
