← Todas las guías

La importación de productos de WooCommerce no funciona: las soluciones

El equipo de Importly · Publicado 2026-08-22 · Actualizado el 2026-08-23

WooCommerce incluye un importador CSV decente, pero falla de formas que parecen un plugin roto cuando en realidad el culpable es el archivo. La importación se queda al 30 %, o termina con la mitad de los productos ausentes, o crea cada variación como un producto independiente.

Esto es lo que ocurre en realidad.

La importación se queda parada o expira

Los catálogos grandes son el caso clásico. El importador recorre el archivo por lotes mediante peticiones AJAX sucesivas, y si los límites de PHP de tu servidor cortan un lote, toda la ejecución se detiene — normalmente sin ningún error, solo una barra de progreso que deja de moverse.

La solución, en orden de lo que probar:

  1. Divide el archivo. Dos mil filas cada vez es un tamaño seguro en hosting compartido.
  2. Sube max_execution_time y memory_limit en PHP. Muchos alojamientos exponen ambos desde el panel de control.
  3. Si puedes editar el functions.php del tema, reduce el tamaño del lote:
add_filter('woocommerce_product_import_batch_size', fn () => 10);

Empieza por dividir el archivo. Lo resuelve la mayoría de las veces y no cuesta nada.

«Ya existe un producto con este SKU»

Los SKU son únicos en una tienda WooCommerce. El importador rechaza cualquier fila cuyo SKU ya esté ocupado y la marca como fallida.

Detrás del mismo mensaje se esconden dos situaciones distintas:

  • Querías actualizar. Entonces la fila está bien: solo tienes que ejecutar el importador en modo actualización. En la pantalla de subida, marca «Actualizar productos existentes». La correspondencia se hace primero por ID y después por SKU.
  • Tu archivo tiene duplicados de verdad. Muy común cuando una lista de proveedor repite una referencia entre hojas. Elimina duplicados antes de importar.

Para localizarlos en Excel: selecciona la columna SKU, Inicio → Formato condicional → Reglas para resaltar celdas → Valores duplicados.

Todo aterriza en una sola columna

Tu CSV está delimitado por punto y coma. Las versiones española, francesa, alemana e italiana de Excel escriben ; porque la coma es el separador decimal.

La solución. WooCommerce sí lo gestiona — no necesitas reformatear nada. En la pantalla de importación, despliega las «Opciones avanzadas» y pon ; en el campo del delimitador CSV. Como alternativa, guarda el archivo como CSV UTF-8 delimitado por comas.

Acentos rotos

Café llega como Café cuando el archivo está en Windows-1252 en lugar de UTF-8. WooCommerce no tiene opción de codificación: el archivo tiene que estar bien.

La solución. En Excel, Guardar como → CSV UTF-8 (delimitado por comas), la entrada de formato dedicada.

Las variaciones se importan como productos separados

Los productos variables necesitan dos tipos de fila, enlazadas entre sí:

  • El padre: Type con valor variable, con Attribute 1 name (por ejemplo Talla) y Attribute 1 value(s) listando todas las opciones separadas por comas (S, M, L).
  • Una fila por variación: Type con valor variation, Parent con el SKU del padre, y Attribute 1 value(s) conteniendo el valor de esa única variación (M).

Si la columna Parent está mal — o vacía — cada variación se convierte en un producto independiente. Asegúrate también de que la fila del padre aparezca antes que sus variaciones en el archivo.

Categorías no creadas, o creadas planas

La columna Categories usa > para la jerarquía y , para separar varias categorías:

Mobiliario > Sillas, Rebajas

Eso coloca el producto en Sillas (bajo Mobiliario) y en Rebajas. Usar / o | en su lugar simplemente crea una categoría plana con un nombre extraño.

Precios ignorados

Regular price y Sale price deben ser números puros, con el punto como separador decimal y sin símbolo de moneda. 29,90 € no se lee como precio y el campo queda vacío.

La solución. Pon las columnas de precio en formato Texto y escribe 29.90. Cambiar cómo Excel muestra el número no basta — comprueba lo que hay realmente en el CSV guardado.

Imágenes no adjuntadas

La columna Images acepta URLs públicas completas, separadas por comas, y la primera se convierte en la imagen destacada. WooCommerce descarga e incorpora cada una durante la importación, que es también por lo que los archivos con muchas imágenes van lentos. Las rutas locales y las URLs tras un inicio de sesión se omiten.

Lista de comprobación previa

  • Archivo por debajo de ~2.000 filas, o límites de PHP subidos
  • SKU únicos, o modo actualización activado a propósito
  • Delimitador indicado en las opciones avanzadas, o archivo con comas
  • Guardado como CSV UTF-8
  • Las filas de variación llevan un SKU Parent y van después de su padre
  • Categorías con > y ,
  • Precios como números puros con punto
  • URLs de imagen públicas y absolutas

Cuando es un archivo de proveedor recurrente

Montar esto una vez para migrar un catálogo está bien.

Reconstruirlo cada semana desde la tarifa de un proveedor es donde deja de ser razonable. Importly asigna las columnas del proveedor a los nombres de WooCommerce (Name, SKU, Regular price, Categories, Weight (kg), Stock, Images), convierte los precios a decimales simples, normaliza pesos, cantidades de stock y URLs de imagen, corrige la codificación y elimina las filas vacías. Guarda la correspondencia una vez como perfil y el archivo de la semana siguiente pasa por reglas idénticas. Las filas de padre y variación siguen siendo cosa tuya: Importly limpia nombres de columnas y valores, no remodela la estructura de filas.

Limpia tu primera exportación gratis →

Configura el perfil de WooCommerce →

Deja de reformatear tus exportaciones a mano.

Prueba Importly gratis