Guía

Cómo subir productos masivamente a WooCommerce

WooCommerce puede importar cientos de productos a la vez desde un archivo CSV. Esta guía repasa el importador integrado, cuándo conviene más un plugin o la API REST, y cómo conseguir datos limpios en el CSV desde el principio.

Añadir productos uno a uno en el administrador de WooCommerce es válido para una tienda pequeña, pero incorporar el catálogo de un proveedor de esa manera puede llevar días. WooCommerce incluye un importador CSV de productos, y existen plugins de importación y una API para trabajos más grandes o recurrentes.

La importación en sí rara vez es lo difícil. Lo difícil es generar un CSV correcto: una fila por producto o variación, las columnas adecuadas, atributos coherentes y descripciones que merezca la pena publicar.

Opción 1: el importador CSV integrado de WooCommerce

WooCommerce incluye un importador y un exportador CSV de productos. En el administrador de WordPress, ve a Productos → Todos los productos y elige Importar. Sube tu CSV, asocia sus columnas a los campos de WooCommerce y ejecuta la importación. Marcar “Actualizar los productos existentes” te permite actualizar los productos identificados por ID o SKU en lugar de crear duplicados.

  • Exporta primero un producto existente y utiliza ese archivo como plantilla: muestra los nombres de columna exactos que espera tu tienda.
  • Las columnas habituales incluyen Type, SKU, Name, Published, Short description, Description, Regular price, Categories, Tags, Images y Attribute 1 name / Attribute 1 value(s).
  • Las imágenes se importan desde URL, por lo que deben ser de acceso público mientras se ejecuta la importación.
  • Los productos variables necesitan una fila principal de tipo “variable” y una fila por cada variación que haga referencia a la principal.
  • Los archivos muy grandes pueden agotar el tiempo de espera en hostings compartidos: divídelos en lotes de unos cientos de filas.

Opción 2: plugins de importación

Los plugins de importación de terceros añaden funciones de las que carece el importador estándar: importaciones programadas o recurrentes desde un feed de proveedor, compatibilidad con XML, reglas de transformación de campos y mejor gestión de archivos muy grandes. Tienen sentido cuando un proveedor envía con regularidad archivos actualizados de precios y existencias.

Los plugins siguen esperando datos estructurados. Si tu proveedor te facilita PDF en lugar de un feed, un plugin no elimina el trabajo de convertir esos PDF en filas.

Opción 3: la API REST de WooCommerce

Los desarrolladores y las herramientas de integración pueden crear productos mediante la API REST de WooCommerce, que incluye un endpoint por lotes que crea o actualiza muchos productos en una sola solicitud. Es adecuada para flujos automatizados y aplicaciones que crean productos directamente, sin un paso intermedio con CSV.

Doc2Shelf utiliza esta vía: tras la revisión, envía los productos a WooCommerce como productos simples en borrador con descripciones larga y corta, para que puedas comprobarlos en WooCommerce antes de publicarlos. Los atributos globales de filtro y los productos variables se configuran por separado en WooCommerce.

Preparar los datos de producto para una subida masiva

Sea cual sea el método de importación, la calidad de los datos determina el resultado. Antes de importar:

  • Asigna a cada producto un SKU único: es la forma en que las actualizaciones posteriores encuentran el producto correcto.
  • Crea primero las categorías y los atributos globales en WooCommerce y haz referencia a ellos de forma coherente.
  • Normaliza las especificaciones: mismas unidades, mismos nombres de atributo y un valor por celda.
  • Redacta descripciones propias en lugar de pegar el texto del proveedor; los marketplaces y los motores de búsqueda valoran el contenido único.
  • Importa como borradores en una primera prueba (establece Published en -1; con 0 los productos quedan privados) y revisa una muestra antes de publicar todo.

Cuando tu proveedor solo envía PDF

Muchos proveedores facilitan fichas técnicas y catálogos en PDF, no feeds CSV. En ese caso el cuello de botella es la extracción: alguien tiene que leer cada PDF, rellenar las columnas y redactar una descripción.

Puedes hacerlo manualmente o extraer los datos con una herramienta y revisarlos. Doc2Shelf lee los PDF de los proveedores, extrae las especificaciones para su revisión, redacta las descripciones larga y corta de WooCommerce y crea los productos como borradores mediante la API REST, lo que sustituye el paso de la hoja de cálculo en los catálogos procedentes de PDF.

Errores habituales de importación en WooCommerce

Si una importación falla o produce resultados inesperados, comprueba primero lo siguiente:

  • SKU duplicados o ausentes que hacen que se omitan filas o se dupliquen productos.
  • Codificación de archivo incorrecta: guarda el CSV como UTF-8 para que los caracteres acentuados se importen correctamente.
  • URL de imágenes que redirigen, exigen iniciar sesión o apuntan a archivos muy grandes.
  • Rutas de categoría escritas de forma incoherente (usa “Padre > Hijo” para categorías anidadas).
  • Variaciones cuyos valores de atributo no coinciden con los del producto principal.

Referencia de columnas del CSV de productos de WooCommerce

El importador estándar lee un conjunto fijo de nombres de columna. Si exportas un producto de tu propia tienda, obtienes los encabezados exactos que espera tu versión de WooCommerce; la tabla siguiente explica las columnas más importantes para una subida masiva. Solo Name es obligatoria: todas las demás columnas son opcionales, pero importar un catálogo sin Type, SKU, precios ni categorías deja mucho trabajo manual para más adelante.

Las columnas con una unidad en el encabezado, como Weight y las tres dimensiones, muestran la unidad configurada en los ajustes de tu tienda, así que copia esos encabezados de una exportación en lugar de escribirlos a mano. Los datos personalizados que no tienen columna propia van en una columna cuyo encabezado empieza por meta: seguido de la clave del campo.

Columnas principales del importador CSV estándar de WooCommerce (WooCommerce 3.1 y posteriores)
ColumnaQué contieneEjemploNotas
IDID de un producto de WooCommerce existente—Déjala vacía en los productos nuevos; las importaciones de actualización buscan primero la coincidencia por ID.
TypeTipo de productosimpleTambién variable, variation, grouped o external. Virtual y descargable son características que se añaden a un producto, no tipos independientes.
SKUTu código de producto únicoACME-KTL-17Segunda clave de coincidencia para las actualizaciones, después del ID. Debe ser única en la tienda.
GTIN, UPC, EAN, or ISBNIdentificador global de producto4006381333931Campo estándar. Desde WooCommerce 11.2, es la clave de coincidencia de reserva cuando el ID y el SKU están vacíos.
NameTítulo del productoHervidor de acero inoxidable de 1,7 LEs la única columna obligatoria.
PublishedEstado tras la importación-11 = publicado, 0 = privado, -1 = borrador, 2 = pendiente de revisión.
Regular price / Sale pricePrecios49.90Números simples, sin símbolo de moneda.
StockCantidad en inventario25Úsala junto con In stock? y Backorders allowed? según haga falta.
Weight (unit), Length (unit), Width (unit), Height (unit)Peso y dimensiones de envío1.2El encabezado muestra la unidad de tu tienda, por ejemplo kg o cm.
CategoriesCategorías de productoCocina > Hervidores, RegalosSeparadas por comas; «>» indica una subcategoría.
ImagesURL de las imágeneshttps://cdn.example.com/ktl-front.jpgSeparadas por comas; la primera imagen pasa a ser la imagen destacada.
ParentProducto principal de una fila de variaciónACME-KTLEl SKU del producto principal, o id: seguido del ID del producto principal.
Attribute 1 name / Attribute 1 value(s)Un atributo y sus valoresColor / Rojo, AzulAñade Attribute 2, Attribute 3, etc. para más atributos.
Attribute 1 visible / Attribute 1 globalIndicadores de ese atributo1 / 1Visible lo muestra en la página del producto; global usa un atributo común a toda la tienda.
Attribute 1 defaultValor preseleccionado de un producto variableRojoDefínelo en la fila del producto principal.
meta:supplier_codeUn campo meta personalizadoD-4471Cualquier encabezado que empiece por meta: se guarda como meta personalizado.

Productos variables en un CSV: filas principales y filas de variación

Un producto variable se reparte en varias filas: una fila principal que define el producto y los valores de atributo que ofrece, y una fila por variación con el precio, el SKU y las existencias de una combinación concreta. La fila principal tiene Type «variable»; cada fila de variación tiene Type «variation» y remite al producto principal en la columna Parent, con el SKU del principal o id: seguido de su ID.

Las columnas de atributo unen las filas. En la fila principal, Attribute 1 value(s) enumera todos los valores que ofrece el producto, separados por comas. En cada variación aparece el mismo Attribute 1 name con exactamente uno de esos valores. La ortografía y las mayúsculas deben coincidir: una variación que diga «rojo» bajo un producto principal que ofrece «Rojo» puede acabar sin un valor de atributo utilizable.

Establece Attribute 1 global en 1 en el producto principal y en sus variaciones cuando uses un atributo común a toda la tienda creado en Productos → Atributos: es con lo que funcionan la navegación por capas y los widgets de filtro. Desde WooCommerce 11.1, una importación de actualización también puede añadir variaciones nuevas a un producto variable que ya existe, de modo que puedes ampliar una gama sin reconstruir el producto principal.

  • Mantén cada fila principal encima de sus variaciones para que el archivo sea fácil de revisar y para que el producto principal exista cuando sus variaciones hagan referencia a él.
  • Asigna a cada variación su propio SKU y su propio precio; una variación sin precio no se puede comprar.
  • Usa Attribute 1 default en el producto principal para controlar qué opción aparece preseleccionada.
Ejemplo: un hervidor que se vende en dos colores
FilaTypeSKUParentAttribute 1 nameAttribute 1 value(s)
PrincipalvariableACME-KTL—ColorRojo, Azul
Variación 1variationACME-KTL-REDACME-KTLColorRojo
Variación 2variationACME-KTL-BLUACME-KTLColorAzul

Añadir imágenes de producto mediante el CSV

La columna Images admite una o varias URL de imagen separadas por comas. La primera URL se convierte en la imagen destacada y las demás forman la galería del producto en el orden indicado. Durante la importación, WordPress descarga cada archivo en tu biblioteca de medios, por lo que todas las URL deben ser de acceso público en ese momento: sin inicio de sesión, sin enlaces compartidos que caduquen y sin redirecciones a una página web en lugar de al archivo.

Las imágenes suelen ser la parte más lenta de una importación: unos cientos de productos con cinco imágenes cada uno suponen más de mil descargas. Redimensiona las imágenes antes de alojarlas, usa nombres de archivo descriptivos (kettle-red-front.jpg, no IMG_0042.jpg) y divide los catálogos grandes en archivos más pequeños.

El importador estándar no puede establecer el texto alternativo de las imágenes. Añádelo después en la biblioteca de medios, mediante la API REST o con una extensión de importación que lo admita. Una variación admite una sola imagen, así que da a cada fila de variación una URL como máximo.

Crear productos de forma masiva con la API REST de WooCommerce

La API REST es la mejor opción cuando las importaciones se repiten, cuando los datos de producto ya están en otro sistema o cuando nadie debería tener que manejar un CSV. Su endpoint por lotes de productos (POST /wp-json/wc/v3/products/batch) acepta operaciones de creación, actualización y eliminación en una sola solicitud.

De forma predeterminada, una solicitud por lotes está limitada a 100 objetos entre sus creaciones, actualizaciones y eliminaciones. El mismo límite se aplica a los endpoints por lotes de variaciones, categorías, atributos y términos de atributo. Un catálogo de 1000 productos requiere, por tanto, al menos diez solicitudes, y más si se añaden variaciones.

  1. Crea una clave de la API REST con permiso de lectura y escritura en WooCommerce → Ajustes → Avanzado → API REST, o deja que una aplicación solicite una a través de la pantalla de autorización de WooCommerce.
  2. Crea primero las categorías, los atributos globales y los términos de atributo, y anota sus ID.
  3. Envía los productos simples y los productos principales en lotes de hasta 100, con el estado establecido en borrador.
  4. Crea las variaciones de cada producto variable mediante el endpoint por lotes de variaciones de ese producto.
  5. Comprueba el resultado de cada elemento en la respuesta y reintenta solo los elementos que hayan fallado.
  6. Revisa por muestreo algunos borradores en el administrador y después publícalos.

Elegir un plugin o una vía para la subida masiva de productos a WooCommerce

Si el importador estándar no basta, evalúa un plugin o una extensión de importación por cómo gestiona tus datos, no por la longitud de su lista de funciones, y pruébalo en una copia de pruebas de la tienda con un archivo real de proveedor antes de comprometerte con él. La tabla compara las cuatro vías, seguida de las preguntas que conviene hacer a cualquier plugin.

  • Formatos de origen: solo CSV, o también XML, hojas de cálculo y feeds remotos obtenidos por URL.
  • Programación: si puede repetir una importación según un calendario para recoger nuevos precios y existencias.
  • Mapeo y transformaciones: renombrar columnas, dividir valores, convertir unidades y aplicar reglas de precios durante la importación.
  • Productos variables: si crea de forma fiable productos principales, variaciones y atributos globales.
  • Imágenes: cómo las descarga, si detecta duplicados y si establece el texto alternativo.
  • Archivos grandes: procesamiento en segundo plano o por fragmentos para que las importaciones largas no agoten el tiempo de espera.
  • Reglas de actualización: con qué clave busca coincidencias (ID, SKU o GTIN) y qué campos puede sobrescribir.
Cuatro formas de subir productos masivamente a WooCommerce
VíaIdeal paraTen en cuenta
Importador CSV estándarImportaciones puntuales y actualizaciones masivas realizadas por el personal de la tiendaLímites de subida y de tiempo del servidor; sin texto alternativo de imágenes
Plugin o extensión de importaciónFeeds recurrentes de proveedores, fuentes XML o de hojas de cálculo, actualizaciones programadasUn plugin más que mantener actualizado y compatible
Solicitudes por lotes de la API RESTFlujos automatizados y sincronización desde otro sistemaTiempo de desarrollo; 100 objetos por solicitud por lotes de forma predeterminada
Aplicación que crea los productos por tiDatos de producto que no parten de una hoja de cálculo, como los documentos de proveedoresComprueba qué tipos de producto y qué campos establece realmente la aplicación

Lista de comprobación previa a la importación y soluciones a los errores

La mayoría de las importaciones fallidas se deben a un paso de preparación omitido. Repasa la lista de comprobación antes de cada importación grande y usa la tabla para diagnosticar los problemas que aún surjan.

  1. Haz una copia de seguridad de la base de datos o ejecuta la importación en una copia de pruebas de la tienda.
  2. Exporta un producto existente y copia su fila de encabezados en tu archivo.
  3. Crea las categorías, los atributos globales y los términos de atributo a los que hace referencia el archivo.
  4. Comprueba que cada SKU es único y que el valor Parent de cada variación coincide con el SKU de un producto principal existente.
  5. Usa números simples en las columnas de precio, existencias, peso y dimensiones.
  6. Abre una muestra de URL de imágenes en una ventana privada del navegador para confirmar que cargan sin iniciar sesión.
  7. Establece Published en -1 para que los productos lleguen como borradores.
  8. Guarda el archivo como CSV en UTF-8.
  9. Importa un archivo de prueba de diez filas, revisa los resultados y después importa el resto por lotes.
Problemas de importación en WooCommerce: causa y solución
ProblemaCausa probableSolución
Productos duplicados en lugar de actualizadosNo está marcada la opción «Actualizar los productos existentes», o los ID y los SKU no coinciden con los de la tiendaMarca la opción; copia los ID o los SKU de una exportación reciente
Filas omitidas en una importación de actualizaciónNo hay coincidencia por ID ni por SKU (el GTIN solo se prueba cuando ambos están vacíos, desde la 11.2)Añade el SKU o el ID del producto existente a cada fila
Variaciones importadas como productos independientesType no está establecido como variation, o la columna Parent está vacía o mal escritaUsa Type «variation» y el SKU exacto del producto principal
Imágenes que faltanLa URL requiere iniciar sesión, redirige o el servidor de alojamiento bloquea la descargaAloja las imágenes en URL públicas y directas y vuelve a ejecutar la importación
Archivo rechazado al subirloArchivo mayor que el tamaño máximo de subida del servidorDivide el archivo o pide a tu hosting que aumente el límite
La importación se detiene a mediasSe ha alcanzado el límite de tiempo o de memoria del servidorImporta archivos más pequeños

Probar con productos ficticios antes de la importación real

Un pequeño archivo ficticio detecta errores de mapeo antes de que afecten a cientos de productos. Créalo a partir de tu plantilla real para que los encabezados sean idénticos, y da a cada producto de prueba una marca evidente (un prefijo «TEST-» en el SKU y una etiqueta «test») para poder encontrarlos y eliminarlos después.

Cubre todos los casos que contenga tu archivo real, no solo el más sencillo. Suelen bastar unas diez filas:

  • Un producto simple con todas las columnas que piensas usar rellenadas.
  • Un producto variable con dos atributos y al menos tres variaciones.
  • Un producto con una galería de varias imágenes y otro sin imágenes.
  • Un producto en una categoría anidada que todavía no existe.
  • Un producto con caracteres acentuados, comillas y una coma dentro de la descripción.
  • Una fila que actualice un producto existente mediante el SKU.
  • Comprueba los resultados en el administrador y en la tienda (precios, desplegables de variaciones, orden de las imágenes y páginas de categoría) y elimina los productos de prueba antes de la importación real.

Preguntas frecuentes

¿Tiene WooCommerce una subida masiva de productos integrada?
Sí. WooCommerce incluye un importador CSV de productos en Productos → Todos los productos → Importar y un exportador equivalente. No hace falta ningún plugin para las importaciones CSV estándar.
¿Cuántos productos puedo importar a WooCommerce a la vez?
El importador no establece un límite fijo de productos, pero los tiempos de espera del servidor y los límites de memoria de tu hosting determinan lo que resulta viable. Dividir los catálogos grandes en lotes de unos cientos de filas es la solución habitual.
¿Puedo actualizar productos existentes con una importación CSV?
Sí. Activa “Actualizar los productos existentes” en el importador; las filas se asocian a los productos existentes por ID o SKU y solo se actualizan las columnas que incluyas.
¿Puedo importar productos a WooCommerce directamente desde PDF?
No con el importador estándar, que espera un CSV. Primero tienes que extraer los datos de producto de los PDF, manualmente o con una herramienta de extracción, y luego importarlos mediante CSV o crear los productos a través de la API REST.
¿Qué columnas necesita un CSV de productos de WooCommerce?
El importador estándar solo exige Name. Para un catálogo utilizable, incluye al menos Type, SKU, Published, Regular price, Categories, Images y Description. Exporta un producto de tu tienda para obtener los nombres de encabezado exactos que espera tu versión.
¿Cómo se importan productos variables con un CSV?
Añade una fila principal con Type «variable» que enumere todos los valores de atributo y, después, una fila por variación con Type «variation», el SKU del producto principal en la columna Parent, un único valor de atributo y su propio SKU y precio.
¿Puedo importar imágenes de producto y texto alternativo con el importador CSV?
Las imágenes, sí: enumera URL de imágenes públicas en la columna Images, separadas por comas, con la imagen destacada en primer lugar. El texto alternativo, no: el importador estándar no puede establecerlo, así que añádelo después o usa la API REST o una extensión.
¿Cuántos productos puedo crear por solicitud de la API REST de WooCommerce?
El endpoint por lotes acepta hasta 100 objetos por solicitud de forma predeterminada, contando juntas las creaciones, las actualizaciones y las eliminaciones. Los catálogos más grandes se envían como una serie de solicitudes por lotes.

Más guías

Convierte los PDF de tus proveedores en datos de producto revisados

Doc2Shelf extrae los datos de producto de los documentos de tus proveedores y redacta borradores de listados y documentos de cumplimiento para que los revises.

Crea tu cuenta gratuita