Hola!
Estoy importando los productos de mi tienda Woocommerce a otra tienda nueva. Al realizar la importación a la nueva tienda la ID de todos los productos es diferente. ¿Cómo puedo realizar la importación sin que las ID de los productos cambien?
Saludos!
Contenido solo visible a usuarios registrados
Hola, Carlos
Lo habitual, al importar productos desde una base de datos, archivo CSV o XML, procedente de otra instalación, es normal que se asignen nuevos ID, ya que es WordPress quien controla los identificadores globales para todo lo que se inscriba en su base de datos.
En estos casos, WordPress asigna nuevas ID de forma automática en la nueva instalación.
Existen formas de conservar los ID originales durante la importación y una de las que mejor suele funcionar es utilizar plugins como "WP All Import" (de pago) https://www.wpallimport.com/, que te permite mantener los ID de los productos al realizar la importación.
Para usar correctamente este plugin, es necesario mapear correctamente el campo de ID en el proceso de importación para asegurar que los ID existentes se mantengan.
La otra forma, sin usar plugins, sería hacerlo manualmente, en un archivo CSV que incluya el campo de ID y comprobando que el archivo contenga el ID correcto y, al importarlo en la nueva tienda, verifica que el mapeo de los campos se realiza adecuadamente.
Hay otros plugins, como "Product Import Export for WooCommerce", que también ofrecen la funcionalidad de conservar los ID durante la importación.
La mayoría de estos plugins son comerciales, por lo que suele acabar siendo complicado el poder importar muchos productos conservando los ID sin recurrir a opciones manuales que no siempre ayudan en el proceso.
No hace mucho importé productos de una tienda a otra y te puedo decir que además de cambiarse los ID se perdió información en el proceso de importación, al usar plugins gratuitos o "freemium" que no cubrían todos los campos que necesitaba exportar para luego importar.
Si no tienes opción por uno de pago, tendrás que ver si la cantidad de productos a importar merece el esfuerzo de hacerlo manualmente.
Nota: Me ha quedado la duda en tu consulta, ¿por qué razón quieres conservar los ID, los usas como SKU?
@alejo Hola Luís,
Sí, quiero conservar los ID porque los uso para que otra aplicación los reconozca. Imagino que debería haber usado el código SKU en su lugar.
La cantidad de productos que tengo no es muy grande, ¿Cuál sería la forma de hacerlo manualmente? Ya he intentado crear un archivo manualmente con los productos, pero no me funciona. Me cambia las ID igualmente.
¡Muchas gracias por tu respuesta!
Imagino que debería haber usado el código SKU en su lugar.
Habría sido lo ideal, ya que el SKU no solo lo generas tú, o usas un plugin que lo autogenere, sino que además lo puedes exportar y nunca cambia.
Para hacerlo manualmente, tendrías que exportar los productos en un archivo CSV con el campo de ID que quieres conservar.
Edita dicho archivo en un Excel (o similar) y comprueba de que el archivo contiene el campo ID correcto y el resto de campos bien conformados.
De esta forma, cuando realices la importación en la nueva tienda, el mapeo de campos se debería realizar sin problemas.
Si tienes conocimientos técnicos, podrías exportar los productos desde la base de datos de la tienda original e importarlos en la nueva, manteniendo así los ID originales.
Sin embargo, este método puede tener riesgos y es muy importante hacer una copia de seguridad de ambas bases de datos antes de proceder.
Los pasos pormenorizados dependerán del proceso que elijas llevar a cabo.
@alejo Hola de nuevo Luís!
Ya intenté;
- Importar el archivo CSV descargado tal cual de la tienda de Woocommerce original y me cambia la ID de los productos.
- Introduciendo los productos de forma manual en hoja de cálculo y descargando el documento en CSV. Tampoco me conserva la ID de los productos.
- He pasado el CSV original a hoja de calculo y he comprobado que todas las ID aparecen de forma correcta. Al importar en la nueva tienda, las cambia igualmente.
- También he intentado importarlos con un archivo TXT y tampoco funciona.
No sé si estoy introduciendo los datos en el lugar incorrecto.
Adjunto capturas de pantalla.
Gracias!!
Hola, Carlos
Las 2 capturas que muestras ¿son de los campos y registros antes y después de importar?, porque mirando el registro con ID 5355 - Nigiri Salmón, veo que en ambas tablas se muestra el mismo ID "5355" y como no tengo forma de ver el proceso que realizas, deduzco que las tablas son antes de la importación ¿es correcto lo que indico?
¿Cómo estás realizando la importación?, podrías ser más descriptivo si es posible, así nos ayudas a ponernos en contexto y detectar la posible causa, aunque como ya te adelanté anteriormente, al final, WordPress acaba imponiendo el ID que secuencialmente le toque a cada registro "nuevo" que se añade en la base de datos, sea de WooCommerce o de una entrada, página u otro plugin.
Pasos que podrías seguir:
1. Exporta los productos desde la web original:
- Ve al panel de administración de WooCommerce de la web original.
- Dirígete a Productos > Todos los productos.
- Haz clic en el botón "Exportar".
- Selecciona las columnas que deseas exportar y asegúrate de incluir el ID del producto.
- Descarga el archivo CSV.
2. Prepara el archivo CSV:
- Abre el archivo CSV descargado con un programa de hojas de cálculo como Excel o Google Sheets.
- Revisa que todos los datos estén correctos y que el ID del producto esté y sea correcto.
- Guarda el archivo CSV en formato UTF-8 delimitado por comas.
3. Importa los productos a la nueva web:
- Ve al panel de administración de WooCommerce de la nueva web.
- Dirígete a Productos > Todos los productos.
- Haz clic en el botón "Importar".
- Selecciona el archivo CSV que preparaste.
- En la pantalla de importación, asegúrate de marcar la opción "Actualizar productos existentes" si los productos ya existen en la base de datos.
- Asigna las columnas del CSV a los campos correspondientes en WooCommerce. Asegúrate de que el campo del ID del producto esté correctamente asignado.
- Ejecuta el importador.
4. Verifica la importación:
- Una vez completada la importación, revisa los productos en la nueva web para asegurarte de que todos los datos se han importado correctamente y que los ID de los productos no se han modificado.
Comenta los resultados que hayas comprobado que se aplican, por favor.
@alejo Hola de nuevo Luís!
Las capturas que adjunté antes son de antes de la importación;
- La hoja de cálculo 01 es el archivo CSV descargado de la tienda original y pasado a hoja de cálculo normal por columnas en Google Sheets.
- La otra hoja es lo mismo pero en Excel.
He seguido todos los pasos que me has indicado antes.
Adjunto:
-captura de hoja de cálculo de Google Sheets con los productos introducidos manualmente, datos copiados del archivo CSV de tienda original, que posteriormente he importado a tienda nueva como CSV y también me cambia los ID de los productos.
-captura de importación de CSV a tienda nueva en la que se aprecia que el campo ID está correctamente asignado.
-CSV resultante de la exportación de la tienda nueva en la que se puede apreciar que todo se ha importado correctamente menos las ID, que han sido todas modificadas.
Saludos!
Hola Carlos,
Los ID se cambian por qué no son un campo seleccionable, los asigna de forma automática el propio WordPress al ser un nuevo post ID, dependiendo de los elementos que se han publicado, tanto páginas como entradas y comentarios. Todo el sitio trabaja con un post ID y es este el que cambia en cada publicación.
Necesitarías hacer una importación por medio de base de datos para que no cambien y tienes que tener mucho cuidado porque si ya hay un post ID. No has evaluado el realizar una migración completa de donde tienes los productos a tu sitio?
https://es.wordpress.org/plugins/all-in-one-wp-migration/
Un saludo 🖐️
@argenis Hola!
Muchas gracias por tu respuesta Argenis!
Sí, he optado por hacer una migración completa. Creo que es la opción más sencilla.
Saludos!
Hola Carlos.
¡De nada! Me alegra que te haya sido útil la explicación.
Si tienes más preguntas sobre WordPress o cualquier otro tema, no dudes en preguntar
Un Saludo