Cuando se trabaja con tienda online desarrolladas con WooCommerce en varios idiomas, es bastante habitual que las traducciones se realicen con WPML. Este plugin es probablemente el más completo que podremos encontrar en el ecosistema de WordPress, fue el pionero en ofrecer una solución profesional para realizar la traducción completa de un portal. Probablemente por eso no dispone de versión gratuita en el repositorio oficial y es necesario adquirir una licencia a través de su web para usarlo.
Sin embargo, ser pionero tiene sus consecuencias y es que adaptarte a las nuevas necesidades no siempre es fácil. Voy a ser sincero, no creo que se esperasen que WordPress tuviera tanto éxito y se convirtiera en le CMS más usado del mundo. No los culpo, ninguno esperábamos que esto pasara, por aquél entonces Blogger se había encargado casi de copar el mercado. Pero lo cierto es que esto ha dado lugar a una serie de problemas a la hora de exportar e importar contenidos de un portal a otro.
Pero cuando hablamos de productos las cosas se vuelven más sensibles, un artículo o un proyecto que contenga errores de traducción pueden ser problemáticos, pero un producto con errores directamente puede hacerte perder mucho dinero. Es por eso que es necesario ser cuidadosos a la hora de exportar productos que tienen traducciones e importarlos de nuevo, bien en la tienda original, bien en una nueva tienda.
Consideraciones previas
Antes de entrar en faena, hay algunos puntos sobre cómo funcionan las traducciones con WPML que me parece importante conocer, ya que ayudan a entender por qué hay que realizar determinados pasos. Si entiendes un poco el funcionamiento, entiendes las soluciones a emplear.
Lo primero que debes saber es que WPML crea un duplicado del producto por cada idioma al que lo traduzcamos. Es decir, dentro de la base de datos se crea físicamente un nuevo producto.
Lo segundo que tienes que saber es que cuando importas un producto, se importan todos los datos excepto el ID, que será nuevo. Esto es debido a que las tablas de WordPress que contienen los ID en la base de datos están definidas como autoincrementales, esto quiere decir que cada vez que se crea un producto, se le asigna automáticamente el siguiente ID orden ascendente. Por lo que si es imprescindible que tus productos, categorías o cualquier otro tipo de entrada conserve el original, tendrás que optar por realizar la importación a través de la base de datos.
Requisitos
Para poder exportar y luego importar los productos con sus respectivas traducciones, es importante que te asegures que cumples con todos los requisitos necesarios para ello. Por un lado debes cumplir como es lógico los propios de WordPress y también de Woocommerce, de modo que asegúrate de que esté todo correcto. Dentro de WooCommerce >> Estado puedes hacer un repaso y comprobar si tienes algún aviso.
Nota: también ten en cuenta que si vas a importar una cantidad muy grande de productos, es posible que tu servidor requiera algunos ajustes. En esto último cada tienda es un mundo, de modo que si el proceso te falla en algún punto porque el servidor no puede procesar la carga, habla con tu proveedor.
Por otro lado, también es necesario tener una serie de plugins instalados. Si estás aquí es probable que ya cumplas con todos los requisitos y cuentes con la mayoría de plugins, pero si no es así, o simplemente estás buscando información sobre cómo se trabaja el aspecto de la migración de los productos en varios idiomas, hagamos un breve repaso a los plugins que debes tener instalados en las dos tiendas, tanto la de origen como la de destino:
- WPML Multilingual CMS: Llamándose el artículo como se llama, lógicamente debemos tener el plugin base de traducciones con una licencia Multilingual CMS o Agency activa. Lo de la licencia no es baladí, la necesitarás para descargar un addon que sólo está disponible desde su web.
- WPML String Translation: También debemos instalar el plugin de traducción de cadenas.
- Woocommerce Multilingual & Multicurrency: Este plugin es el que permite tratar todas las traducciones como si fueran un único producto, sincronizando datos entre ellos como el SKU o el stock. Recuerda que WooCommerce por defecto no permite que dos productos tengan el mismo SKU y el stock, por lo que es importante
- WPML Import Export: Este add-on es el plugin que se encargará de gestionar las interrelacciones de idiomas entre los productos. Este lo podremos descargar desde la sección de descargas de nuestra cuenta de WPML tras hacer login. Aclaro que existen dos versiones, una era la tradicional para usar con WP All Import ya obsoleta y otra que viene a sustituir a la anterior proporcionando compatibilidad con otras herramientas, entre las que se incluye el importador/exportador nativo de WooCommerce. Necesitamos esta última, con el nombre tal cual indicaba al comienzo, así que no te confundas.
Es importante que tengas los cuatro instalados y activos tanto en la tienda de origen como la de destino, ya que en el archivo de exportación se añadirán determinados datos importantes de las traducciones que deben ser reconocidos cuando se realice la importación.
Exportar productos
Para realizar la exportación, primero asegúrate que el backend de tu WordPress está en el idioma de traducción original a través del selector que WPML añade a la barra superior de administración. Una vez comprobado esto, debes ir a Productos y verás que en la parte superior de la ventana hay un botón que dice «Exportar». Al pulsarlo se abrirá el asistente de exportación de WooCommerce nativo y veremos varias opciones.

Si quieres exportar todos los datos tal cual están en la tienda deja las tres primeras opciones como vienen, que son para exportar todas las columnas, productos y categorías. Si prefieres ser selectivo en lo que se va a extraer, pues selecciona en cada opción qué datos información te interesa.
Después, abajo debes marcar la casilla indicando que quieres exportar los metas personalizados. Esta casilla es imprescindible que la marques o si no, después WPML no será capaz de saber qué traducción corresponde a qué producto y lo importará todo como productos independientes.
Tras elegir la configuración deseada, ya puedes pulsar el botón «Generar CSV» y WooCommerce empezará a crear el archivo con tus productos. Una vez haya concluida la generación, se descargará automáticamente en tu equipo.
Internamente WPML genera tres metas personalizados en los productos llamados
_wpml_import_translation_group,_wpml_import_language_codey_wpml_import_source_language_code. El primero crea un identificador único para agrupar a los idiomas de un mismo producto, el segundo es para indicar el idioma del producto y el tercero es para indicar cuál es el producto original. Tras descargar el archivo de exportación, verifica que se encuentran dentro, ya que si no los ves está habiendo algún problema con el addon WPML Import Export.
Repite todo este proceso con tantos idiomas como tenga tu sitio cambiando mediante el selector de WPML. Te recomiendo ir renombrando los archivos según se descarguen y para que así puedas identificarlos fácilmente, sobre todo si tienes muchos.
Importar productos
Con tus productos exportados, es el momento de proceder a la importación. Cambia el idioma al español desde el selector de arriba como hiciste al exportar y vete de nuevo al apartado de Productos de WooCommerce y en la zona superior pulsa en «Importar» para que se abra el asistente. Abre la ventana para subir un archivo y selecciona primero el idioma original de tu tienda. Si estás importando productos nuevos ya podríamos pasar al siguiente paso, pero si lo que quieres es realizar actualizaciones sobre productos ya existente marca la casilla «Actualizar productos existentes».

Si despliegas las opciones avanzadas, verás opciones adicionales interesantes como cargar un archivo directamente desde el servidor si nos encontramos problemas con la subida desde la interfaz o definir un delimitador diferente a la coma, muy útil si nuestro CSV usa otro.
En el siguiente paso debemos verificar que las columnas del CSV se corresponden con los campos de WooCommerce. Si el archivo lo generaste del modo anterior, la información se mapeará automáticamente y sólo tendrás que confirmar que todo está correcto. En caso de que personalizases el CSV es posible que tengas que ajustar manualmente la correspondencia de algunas columnas. Igualmente si hay algún dato que no quieras subir, puedes marcar en el desplegable «No importar». Hecho todo lo anterior, ya puedes ejecutar el importador.
Si todo ha ido bien, los productos se habrán importado correctamente en el idioma original. Ahora debes repetir el proceso con cada idioma adicional hasta que todos los productos estén subidos en todos los idiomas. En este punto los productos estarán agrupados por idiomas en el backend, sin embargo WPML aún no estará gestionando las traducciones. Para ello necesitamos hacer un paso más que veremos a continuación.
WPML Export and Import
Ahora llego el momento de actualizar las tablas de WPML en la base de datos y aquí es donde entra en acción este plugin. Como comenté antes, este se encarga de crear unos metas en los productos que permiten identificar qué traducciones pertenecen al mismo producto e interrelacionarlas. Sin embargo, WPML usa tablas propias en la base de datos para gestionar las traducciones y estas tablas no se crean al importar los productos, sólo los metas.
Pues bien, el plugin añade una nueva función en WPML que permite utilizar estos metadatos que él mismo incorpora a los productos para generar después las tablas de manera automática. Para ejecutar esta función debes ir a WPML y verás que en el submenú hay una nueva opción llamada «Exportación e importación».

Si todo ha ido bien durante la importación, al entrar el plugin detectará que se han importado traducciones a Woocommerce, mostrando un botón para ejecutar la importación en las tablas de WPML y un listado de pasos que se ejecutarán automáticamente. Presiona el botón y el plugin irá ejecutando las tareas una a una, cuando termine, ya deberías tener las traducciones correctamente relacionadas y serán funcionales.

Conclusión
Si has conseguido superar todos los pasos anteriores enhorabuena, ya deberías haber podido pasar todo el catálogo de una tienda a otra. Ahora te toca hacer una revisión en profundidad, a veces las importaciones no salen del todo bien y necesitan correcciones, por eso recuerda que lo ideal es poner la tienda en mantenimiento durante el proceso para asegurarte que cuando vuelva a estar online hayas podido comprobar que todo está en sus sitio.
Como apunte final, he de decir que llevo trabajando como desarrollador de tiendas online freelance con WooCommerce desde hace ya bastantes años y las exportaciones e importaciones de productos traducidos con WPML siempre me han resultado tediosas. Antes era imposible hacerlas con el importador nativo teniendo que optar por plugins específicos, lo cual era una auténtica lata. Si embargo con el tiempo se ha ido simplificando, en la medida de lo posible, el proceso y este artículo ha sido el resultado. Espero que te haya sido de utilidad y si es así te animo a que dejes algún comentario contando tu experiencia.
Referencias:
- Requisitos de WordPress – WordPress.org España
- Recomendaciones de servidor – Documentación de WooCommerce
- WooCommerce Multilingual – Documentación de WPML
- WPML String Translation – Documentación de WPML
- WPML Export and Import – Documentación de WPML






Deja una respuesta