Las tiendas con catálogos de productos grandes (10 000 o más productos) a menudo experimentan lentitud en la generación de feeds, tiempos de espera agotados o agotamiento de memoria al crear feeds de productos. El plugin AdTribes Product Feed está diseñado para manejar un número ilimitado de productos, pero debes configurarlo correctamente para tu entorno de servidor y el tamaño de tu catálogo.
Esta guía explica cómo mejorar el rendimiento de la generación de feeds para catálogos grandes. Aprenderás sobre el procesamiento por lotes, los límites del servidor, la generación programada, el filtrado de productos innecesarios y otras consideraciones de rendimiento.
Por qué los feeds grandes son diferentes
Cuando tienes más de 10 000 productos, generar un feed en una sola solicitud puede exceder:
- Límites de memoria de PHP: cada producto carga datos (imágenes, atributos, categorías) en la memoria
- Tiempo máximo de ejecución: los scripts de PHP a menudo agotan el tiempo de espera después de 30-60 segundos
- Recursos del servidor: el hosting compartido puede limitar los procesos de larga duración
El plugin utiliza el procesamiento por lotes para dividir la generación del feed en fragmentos más pequeños. Cada lote se ejecuta por separado, por lo que evitas tiempos de espera y agotamiento de memoria. Además, puedes reducir el número de productos en tu feed filtrando los artículos que no necesitas para la publicidad.
Cómo funciona el procesamiento por lotes
El plugin procesa los feeds en lotes. Cada lote maneja un número fijo de productos (el tamaño del lote). Cuando un lote termina, el siguiente se programa automáticamente. Este enfoque reduce el uso de memoria y evita los tiempos de espera de PHP.
Product Feed Pro 13.5.7 y versiones posteriores autoajustan el tamaño del lote en lugar de usar una búsqueda de tabla fija. Cada lote se cronometra y se mide su uso de memoria; el tamaño del siguiente lote se deriva de lo que el host acaba de demostrar que puede manejar, y el tamaño aprendido se conserva por feed, por lo que las ejecuciones posteriores comienzan cerca del óptimo. Esta es una característica principal de Product Feed Pro, por lo que se aplica si Product Feed Elite está activo o no. Ver Tamaño de lote adaptable a continuación.
En versiones anteriores, el plugin utilizaba tamaños de lote predeterminados fijos basados en el recuento total de productos:
| Recuento de Productos | Tamaño del Lote |
|---|---|
| Menos de 1000 | 200 productos por lote |
| 1,000-5,000 | 300 productos por lote |
| 5,000-10,000 | 500 productos por lote |
| 10,000-50,000 | 1000 productos por lote |
| 50,000+ | 1500 productos por lote |
Estos valores predeterminados se diseñaron para la fiabilidad. Los lotes más pequeños usan menos memoria y es menos probable que alcancen los límites de ejecución.
Tamaño de lote adaptativo
A partir de Product Feed Pro 13.5.7, la generación de feeds ya no selecciona un tamaño de lote fijo por ejecución de una tabla de niveles de recuento de productos. En su lugar, el controlador cronometra cada lote y mide su uso de memoria, luego dimensiona el siguiente lote según lo que el host acaba de demostrar que puede manejar. El tamaño aprendido se guarda por feed, por lo que las ejecuciones posteriores comienzan cerca del óptimo desde el primer lote.
Resultados de referencia: En un feed XML de Google Shopping de 18 201 productos, con cada lote pagando un arranque real de WordPress (como ocurre en producción), el tamaño de lote adaptable se ejecutó aproximadamente un 19 % más rápido en una primera ejecución y un 24 % más rápido en una ejecución en caliente, con paridad de salida confirmada, recuentos de productos idénticos en cada escenario.
Por qué la ganancia importa más de lo que sugiere la referencia: La aceleración proviene de eliminar los viajes de ida y vuelta por lote, no de un procesamiento más rápido por producto. El tiempo de procesamiento puro por producto no cambia. Cada lote paga un arranque completo de WordPress más complementos y una espera de Action Scheduler, por lo que reducir una ejecución de 19 lotes a 2 elimina 17 arranques y 17 esperas. Esto es más importante en tiendas con poco tráfico: donde WP-Cron solo se activa con las visitas de los visitantes, la espera entre lotes domina el tiempo total del feed, por lo que la reducción del número de lotes vale considerablemente más en la práctica de lo que sugieren los números de referencia por sí solos, una combinación útil para tiendas con catálogos grandes que también tienen poco tráfico.
Degradación elegante en hosts restringidos: Si el host tiene restricciones de memoria (por ejemplo, un límite de 128 MB), el tamaño del lote se reduce hasta que los lotes encajan, y el feed se completa lentamente en lugar de fallar en cada ejecución. Anteriormente, el nivel más bajo disponible era de 200 productos por lote, por lo que los hosts que no podían manejar ni siquiera ese tamaño nunca completaban un feed.
Configurar tamaño de lote personalizado
Si tu feed se queda atascado o agota el tiempo de espera, intenta reducir el tamaño del lote. Por el contrario, si tienes un servidor potente y deseas una generación más rápida, puedes aumentarlo.
Cómo cambiar el tamaño del lote
- Vaya a Product Feed → Ajustes → General
- Habilita Cambiar número de productos por lote
- Introduzca un valor en Insertar tamaño de lote: (por ejemplo, 500 o 250)
- Guarda tus ajustes

Recomendaciones:
- Tiempos de espera: Utilice un tamaño de lote más pequeño (por ejemplo, 250-500) para que cada lote termine antes del tiempo máximo de ejecución de su servidor
- Errores de memoria: Reduzca el tamaño del lote aún más (por ejemplo, 100-200) para disminuir el uso de memoria por lote
- Servidores estables: Puede probar lotes más grandes (por ejemplo, 1.000-1.500) para una generación total más rápida, pero solo si su servidor los maneja sin errores
Más específicamente:
| Tipo de servidor | Tamaño de lote sugerido |
|---|---|
| Alojamiento compartido | 200-300 |
| VPS o en la nube | 500-1000 |
| Servidor dedicado | 1000-1500 |
Pruebe siempre después de cambiar el tamaño del lote. Si el feed sigue atascado, redúzcalo más. Para más detalles, consulte Configuración del tamaño del lote del feed de productos.
Comprobar y ajustar los límites del servidor
El entorno de tu alojamiento impone límites al tiempo de ejecución de PHP y a la memoria. Estos afectan directamente a la generación del feed.
max_execution_time
Cada lote se ejecuta dentro de max_execution_time de PHP. Si este es demasiado bajo (por ejemplo, 30 o 60 segundos), los lotes pueden cortarse antes de terminar.
- Recomendado: Al menos 300 segundos (5 minutos) para catálogos grandes
- Cómo comprobar: Vaya a WP Admin → WooCommerce → Estado y busque el valor Límite de tiempo de PHP en el Entorno del servidor.
- Cómo solucionarlo: Aumenta el l
mite en la configuraci
de tu servidor a
adriendo
set_time_limit(300)al archivowp-config.php, o contacta a tu proveedor de hosting

memory_limit
La generación del feed carga los datos del producto en la memoria. Al procesar miles de productos por lote, un límite de memoria bajo puede provocar errores fatales o feeds incompletos.
- Recomendado: 256MB o m alto para m de 10.000 productos
- Cómo comprobarlo: Ve a WP Admin WooCommerce Estado, y busca el valor L mite de memoria de WordPress en el Entorno de WordPress.
- Cómo solucionarlo: Aumenta el l
mite de memoria en
wp-config.phpa adriendodefine('WP_MEMORY_LIMIT', '256M');o pide a tu proveedor de hosting que aumente el l mite.

El plugin registra una advertencia cuando la memoria disponible est por debajo de 128MB antes de que se ejecute un lote (si el registro est habilitado). Esta entrada aparece bajo la fuente de registro woo-product-feed-pro en WooCommerce Estado Registros. Usa esto para detectar problemas potenciales.
Usa la generaci programada en lugar de la actualizaci manual
Para catálogos grandes, evita depender de la actualización manual desde el navegador. Las solicitudes del navegador pueden agotar el tiempo de espera o desconectarse antes de que todos los lotes se completen. En su lugar, utiliza la generación programada.
Intervalo de actualización
- Edita tu feed y ve a la pesta a General
- Establece Intervalo de actualizaci a Cada hora, Diario o Dos veces al d (Product Feed Elite tambi admite intervalos personalizados)
- Guarda el feed
El plugin utiliza Action Scheduler para generar el feed en segundo plano en el intervalo elegido. Esto es más fiable que la actualización manual para feeds grandes.
Cron del servidor (avanzado)
Para un control preciso o tiendas con mucho tráfico, puedes usar un trabajo cron del servidor en lugar del programador integrado. Esto es especialmente útil cuando:
- Quieres que los feeds se ejecuten en momentos específicos (p. ej., horas de menor actividad)
- Tu sitio tiene poco tráfico y el cron de WP puede no ejecutarse con la suficiente frecuencia
- Necesitas escalonar varios feeds grandes
Para instrucciones paso a paso, consulta C mo actualizar el feed de productos usando trabajos cron.
Desactivar solicitudes de generación de feed HTTP
Cuando haces clic en Actualizar en la p ina Administrar Feeds, el plugin puede activar la generaci del feed a trav de solicitudes HTTP. En tiendas grandes o hosting limitado, esto puede causar tiempos de espera o feeds incompletos.
Desactivar solicitudes de generaci de feed HTTP fuerza a que la generaci del feed se ejecute solo a trav de Action Scheduler (o cron del servidor). No se utilizan solicitudes HTTP para iniciar o continuar lotes.
C mo habilitar
- Vaya a Product Feed → Ajustes → General
- Habilita Desactivar solicitudes de generaci de feed HTTP
- Guarda tus ajustes

Cuándo usar:
- Tu feed se queda atascado o se agota el tiempo de espera al hacer clic en Actualizar
- Utilizas un tamaño de lote personalizado (el procesamiento por lotes deshabilita el procesamiento HTTP por defecto en ese caso)
- Ejecutas feeds mediante actualización programada o cron del servidor
Para m detalles, consulta Qu hace "Desactivar solicitudes de generaci de feed HTTP"?.
Filtra productos innecesarios
Incluir solo los productos que necesitas en tu feed reduce el tiempo de procesamiento y el tamaño del archivo. Usa filtros para excluir productos que no sean relevantes para tu canal.
Estrategias comunes de filtrado
| Objetivo | Tipo de filtro | Condición de ejemplo |
|---|---|---|
| Incluir solo productos disponibles | Incluir | Estado del stock = en stock |
| Incluir productos de una categoría específica | Incluir | Categoría contiene [categoría objetivo] |
| Incluir productos por encima de un precio determinado | Incluir | Precio superior a X |
| Excluir productos sin stock | Excluir | Estado del stock = sin stock |
| Excluir productos sin imágenes | Excluir | La imagen principal está vacía |
| Excluir productos de precio muy bajo | Excluir | Precio inferior a X |
| Excluir categorías específicas | Excluir | La categoría contiene [nombre de la categoría] |
| Excluir marcas o etiquetas específicas | Excluir | La marca/etiqueta contiene [valor] |
Menos productos significan menos lotes y una generaci de feed m r pida. Para gu paso a paso, consulta C mo crear filtros para tu feed de productos.
Productos variables y variaciones
Si utilizas productos variables, considera:
- Y solo incluir la(s) variaci (es) de producto de menor precio: Una variaci por producto en lugar de todas
- Y solo incluir la variaci de producto predeterminada: Reduce a m el n mero de productos
Estas opciones est n en la pesta a General del feed y pueden reducir significativamente el n mero de productos procesados.
Resumen de consideraciones de rendimiento
| Factor | Recomendación para más de 10 000 productos |
|---|---|
| Tamaño del lote | Déjalo sin configurar para que el tamaño adaptativo aprenda (Product Feed Pro 13.5.7+); de lo contrario, 200-500 en alojamiento compartido, 500-1000 en VPS/dedicado |
| max_execution_time | 300 segundos o más |
| memory_limit | 256 MB o más |
| Método de actualización | Programado (cada hora/diario) o cron del servidor, no solo manual |
| Generación HTTP | Desactivar si los feeds se bloquean o agotan el tiempo de espera |
| Filtros | Excluir categorías sin stock, irrelevantes o de bajo valor |
| Productos variables | Utiliza "el más barato" o "variación predeterminada" cuando sea apropiado |
Solución de problemas comunes
| Incidencia | Solución |
|---|---|
| El feed está atascado en procesamiento | Reduce el tamaño del lote; habilita Deshabilitar generación de feed HTTP; consulta ¡Ayuda, mi feed no se actualiza o está atascado en el procesamiento! |
| Errores de tiempo de espera agotado | Aumenta max_execution_time a 300+; reduce el tamaño del lote |
| Error fatal / memoria agotada | Aumenta memory_limit a 256 MB+; en Product Feed Pro 13.5.7+, el tamaño adaptativo se degrada con elegancia en lugar de fallar por completo |
| Menos productos de los esperados | Comprueba los filtros y las reglas; consulta ¡Ayuda! No tengo productos o tengo menos de los esperados en mi feed de productos |
| Fallos de Action Scheduler | Ve a WooCommerce → Estado → Acciones Programadas; comprueba la pestaña Fallidos; aumenta los límites del servidor |
¿Necesita más ayuda?
Si necesitas ayuda para optimizar la generación de feeds para tu catálogo grande:
- Usuarios de Product Feed Elite: Crea un ticket de soporte para contactar con el equipo de soporte de AdTribes.
- Usuarios de Product Feed Pro: Abre un tema en el foro de WordPress.org.

