Importar y actualizar catálogos grandes
Tu proveedor te manda una lista nueva cada lunes. Cuatro mil productos, con precios que cambian, existencias que cambian y referencias que a veces cambian también. Y alguien de tu equipo se pasa el lunes entero pegando celdas a mano en WooCommerce.
O peor: alguien ya intentó importarla y la tienda quedó con tres mil productos duplicados, los precios de las variaciones en blanco y el servidor caído a mitad del proceso por falta de memoria.
Esto no es un problema de paciencia ni de buscar "el plugin mágico". Es un problema de diseño técnico: hay que decidir cuál es la referencia única, qué campos mandan, qué pasa con lo que ya no está en la lista, y en qué momento se ejecuta. Resuelto una vez, el lunes de copiar y pegar deja de existir.
Por qué tus importaciones se rompen
Mira cuál de estos casos describe lo que pasa cuando intentas subir el Excel de tu proveedor:
| Lo que ves en la tienda | Qué pasó técnicamente | Cómo se confirma |
|---|---|---|
| Se duplicaron los productos en lugar de actualizarse | No estaba marcada la opción de "actualizar existentes", o el CSV no trae la columna de referencia exacta (SKU/ID) para emparejar. | El informe final del importador dice "Creados: 4000, Actualizados: 0". |
| Productos simples bien, pero las variaciones vacías | Las variaciones son otro tipo de fila en BD. Necesitan su propia estructura asociando el ID del producto padre y cuadrando atributos. | Al abrir un producto variable en WP, la pestaña "Variaciones" tiene los precios en blanco. |
| El proceso se cortó a medias (Error 500/504) | Límite de memoria PHP, de tiempo máximo de ejecución o tamaño de subida excedido en el servidor. | Registro de errores (error_log) del servidor en el minuto exacto del corte. |
| Las imágenes no cargaron (quedaron rotas) | El servidor de origen (tu proveedor) bloquea descargas masivas (hotlinking), pide autorización o devuelve HTML en vez de un JPG. | Pegar la URL de la imagen del CSV en una ventana de incógnito. |
| La tienda vende productos que el proveedor ya retiró | Nadie definió la regla: ¿qué pasa con lo que desaparece de la lista? Es el fallo más caro: vendes stock fantasma. | Contar productos publicados en WooCommerce vs. filas del último archivo recibido. |
| La web va lentísima y se cae durante la importación | Se está ejecutando en pleno horario de venta, todo de golpe, sin dividir el proceso en lotes (batch processing). | El horario de la tarea programada coincide con la curva pico de pedidos. |
Mándame por WhatsApp el archivo que te manda tu proveedor (o las primeras 20 filas) y tu número de productos. Te digo qué va a pasar si lo importas tal cual, antes de que rompas nada.
Lo que el importador hace (y dónde te deja tirado)
El importador nativo de WooCommerce es mejor de lo que se cree. Pero tiene reglas estrictas de bases de datos que, si no se conocen, producen los desastres de arriba. Esto es lo que dice su documentación oficial técnica:
- El identificador global (Novedad 11.2): La columna GTIN/UPC/EAN se usa para emparejar solo cuando ID y SKU vienen vacíos. No sirve como "recurso de emergencia" si pasaste un SKU equivocado.
- WooCommerce no inventa SKUs: Si la columna viene vacía, se queda vacía. En un catálogo de 4,000 productos sin SKU, no tienes forma de volver a actualizarlos la semana que viene. Crear los SKUs es la fase cero.
- Variaciones (Novedad 11.1): Antes había que hacerlo a mano o con plugins. Ahora, una importación de actualización sí puede crear variaciones nuevas, y desde la 11.2 pueden usar SKU propio. Pero si quieres convertir un producto simple a variable, la fila del padre tiene que ir antes que las de variación obligatoriamente.
- Límites del servidor: Los archivos grandes asfixian la memoria RAM. El importador no tiene la culpa: es la razón por la que un catálogo pesado jamás se importa a mano desde la pestaña del navegador. Se hace por lotes del lado del servidor.
La nueva trampa de WooCommerce 11
Esto afecta directamente a cualquier proceso de actualización de precios automático. En WooCommerce 11.0 se activó la caché de objetos de producto. Ahora, las llamadas a los datos se sirven desde memoria RAM, no consultando la base de datos cada vez.
El problema: Si tienes un script antiguo (o un plugin barato) que actualiza los precios inyectando directamente en la base de datos SQL (_price, _regular_price) saltándose los métodos de WooCommerce sin limpiar la caché... tu tienda va a mostrar precios viejos a los clientes de forma intermitente y aleatoria.
$product = wc_get_product( $id );
$product->set_regular_price( $new_price );
$product->save(); // Esto limpia la caché de objetos automáticamente.
Las cuatro formas de mantener un catálogo
| Método | Cuándo es la opción correcta | El coste real |
|---|---|---|
| CSV a mano (Importador Nativo) | Carga inicial, o catálogos pequeños que cambian 3 veces al año. | Gratis en software, pero un empleado pierde su día, y los lotes grandes requieren dividir archivos a mano. |
| Importación programada (CRON) | El proveedor publica un CSV/XML en una URL y lo actualiza él. Es el punto dulce calidad-precio para el 90% de tiendas. | Montaje una vez. Se paga un plugin robusto. Requiere validación para que el proveedor no rompa tu web si cambia su formato. |
| API REST de WooCommerce | Origen moderno que empuja (PUSH) datos en tiempo real. Actualizas solo lo que cambió, en minutos, no horas. | Más horas de desarrollo inicial. Control absoluto. |
| Sincronización desde tu ERP | El inventario vive en tu ERP (SAP, Odoo, Microsip) y la web solo lo refleja. | Es un proyecto completo de ERP. No es una simple importación. |
La mayoría cree que necesita un ERP completo, pero solo necesita la opción 2 (Importación programada). La regla de oro: ¿Quién manda sobre el dato? Si el precio/stock lo dicta el proveedor, y las fotos/descripciones las pones tú, una importación bien diseñada es todo lo que necesitas.
5 decisiones antes de tocar un solo botón
Esto es lo que diferencia una importación que funciona sola cada lunes, de una que hay que estar reparando cada lunes:
01. ¿Cuál es la referencia única?
Casi siempre el SKU. Si tu catálogo no lo tiene, el primer trabajo es generarlo. Sin referencia estable no hay actualización, solo duplicados infinitos.
02. ¿Qué campos manda él y cuáles tú?
Él manda Coste y Stock. Tú mandas Nombre SEO, Categorías y Fotos. Si la importación machaca tus descripciones cada semana, estás pagando (y perdiendo) dos veces por el mismo contenido.
03. ¿Qué pasa con lo que desaparece?
Si una fila ya no viene en el CSV nuevo: ¿Pones stock a 0? ¿Lo pasas a borrador? ¿Lo dejas igual? Nunca es "ya veremos", porque entonces se vende lo que no existe físicamente.
04. ¿A qué hora corre?
Se ejecuta en horario de valle (madrugada), dividido en pequeños lotes, y con aviso a tu correo si falla. Si corre a las 11:00 AM y alenta la tienda, pierdes ventas.
05. ¿Y si el archivo viene roto?
El proveedor cambia la codificación (UTF-8) o mueve la columna de precios. Hace falta una validación previa que se niegue a importar si el archivo no pasa el test de cordura. Esto es lo que nadie monta y lo que salva negocios.
Las 6 fases de implementación
| Fase | Qué hacemos | Qué recibes tú |
|---|---|---|
| 1. Auditoría de datos | Analizamos el estado actual de tus SKUs, variables y atributos contra el archivo real de tu proveedor. | Informe de problemas previos y mapa exacto de columnas. |
| 2. Saneamiento inicial | Generamos SKUs faltantes, limpiamos duplicados históricos y consolidamos atributos. | Un catálogo con referencia única, listo para anclarse. |
| 3. Entorno de Pruebas | Corremos la importación masiva fuera de producción con volumen real. Esta fase no es opcional. | Métricas de prueba: cuántos crea, actualiza o falla. |
| 4. Implementación | Configuramos la importación programada (CRON), por lotes, aplicando las reglas de mapeo acordadas. | El proceso automatizado y corriendo en tu servidor. |
| 5. Guardarraíles | Validamos el archivo antes de que toque la BD. Configuramos alertas si el proveedor cambia su formato. | Alertas activas y log de ejecuciones. |
| 6. Documentación | Manual de qué hacer si falla o cómo correrlo a mano en caso de emergencia. | Documento maestro (para que no dependas de nosotros). |
18,500 SKUs sincronizados sin tirar el servidor
El reto: Un distribuidor ferretero en Monterrey necesitaba procesar un XML diario de su matriz. La agencia anterior intentaba importar todo en un solo bloque PHP; el servidor cortaba la conexión a los 3,000 productos y la tienda quedaba inutilizable por 4 horas.
La solución: Rediseñamos el proceso a asíncrono. Ahora el servidor descarga el archivo a las 3:00 AM, lo divide en lotes de 200, comprueba integridad (SKUs válidos) y lo inyecta usando la API de WP-CLI.
El futuro de las importaciones en Woo
El importador nativo sigue ganando terreno. Lo que en 2025 requería plugins pesados (crear variaciones dinámicas, convertir simples a variables) ya entró al Core en las versiones 11.1 y 11.2 de 2026. La tendencia es que necesites menos extensiones de terceros, lo que significa menos cosas que se rompen.
La caché de objetos de producto va hacia un despliegue universal. Cuando llegue (sin fecha oficial), todo script de actualización hecho "a la antigua" (SQL directo) va a colapsar mostrando precios erráticos. Conviene auditarlos ya, antes de que WooCommerce tome la decisión por ti en una actualización automática.
Y la parte que nunca cambia: el problema de los catálogos masivos no es el plugin, es el acuerdo de datos con tu proveedor. Mientras el CSV del lunes siga llegando con el formato "que a él le convenga", el verdadero trabajo técnico de valor es validar, filtrar y negarse a importar basura.
Preguntas frecuentes
Sí, y es el paso cero. Se generan SKUs con una lógica estable y se cruzan con el archivo del proveedor para que, de ahí en adelante, emparejen. Es trabajo de una sola vez; sin él no hay automatización posible.
Porque a nivel de base de datos son filas distintas que dependen del ID del "padre". Desde Woo 11.1 ya se pueden crear variaciones nuevas actualizando, pero sigue siendo la parte más frágil del mapeo de un CSV.
Desde tu navegador web (Chrome), casi nunca. Superarás los límites de memoria o de tiempo (Timeout) del servidor. La forma profesional es por lotes, ejecutado del lado del servidor (cron job).
Tiene arreglo técnico: un mapeo tolerante y una regla que aborte la importación avisándote por email si falta la columna de precio. Pero el arreglo real es sentarse a negociar un formato fijo. Nosotros te preparamos el requerimiento técnico para él.
No, son proyectos paralelos. Esta página trata del Catálogo de Ventas. La facturación CFDI emite comprobantes, y el ERP es el dueño contable. Si necesitas empujar datos bidireccionales, ve a integraciones ERP.
¿Cómo avanzamos?
Mándame las primeras 20 filas por WhatsApp y tu número de productos. Te digo exactamente qué va a hacer el importador antes de que lo corras a ciegas.
Escribir por WhatsAppEl diagnóstico técnico audita tus SKUs, mapea las columnas de tu archivo real y te resuelve las 5 decisiones estratégicas por escrito.
Pedir el diagnósticoDime cuántos productos tienes, variables, formato (CSV/XML) y frecuencia. Te armo la propuesta técnica con las 6 fases de implementación.
Solicitar propuestaVolver a Integraciones de WooCommerce