Empezar
Guía definitiva para escalar feeds de más de 10 000 productos - AdTribes
  1. Inicio
  2. Base de conocimientos
  3. Consejos generales sobre feeds
  4. Guía definitiva para escalar feeds para más de 10 000 productos

Guía definitiva para escalar feeds para más de 10 000 productos

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 ProductosTamaño del Lote
Menos de 1000200 productos por lote
1,000-5,000300 productos por lote
5,000-10,000500 productos por lote
10,000-50,0001000 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.

Establecer un tamaño de lote explícito (ver Configurar tamaño de lote personalizado a continuación) deshabilita por completo el dimensionamiento adaptativo para ese feed. Para catálogos de más de 10.000 productos, el mejor valor predeterminado es dejar el tamaño del lote sin establecer y permitir que el controlador aprenda. Reserve un tamaño de lote manual para hosts con restricciones estrictas y ya conocidas.

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.

Un tamaño de lote explícito deshabilita el dimensionamiento adaptativo (Product Feed Pro 13.5.7+). Para catálogos de más de 10.000 productos, deje esta configuración sin establecer a menos que su host tenga una restricción estricta que ya comprenda, y deje que el controlador aprenda el tamaño óptimo en su lugar.

Cómo cambiar el tamaño del lote

  1. Vaya a Product FeedAjustesGeneral
  2. Habilita Cambiar número de productos por lote
  3. Introduzca un valor en Insertar tamaño de lote: (por ejemplo, 500 o 250)
  4. 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 servidorTamaño de lote sugerido
Alojamiento compartido200-300
VPS o en la nube500-1000
Servidor dedicado1000-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 archivo wp-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.php a adriendo define('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.

Las advertencias de recuperaci de fallos y de feed en pausa de la adaptaci de tama o de lotes (Product Feed Pro 13.5.7+) se registran incondicionalmente en la misma fuente de registro woo-product-feed-pro, independientemente de la configuraci Activar registro . Si tu feed sigue en pausa despu de repetidos fallos, revisa WooCommerce Estado Registros incluso si no has activado el registro.

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

  1. Edita tu feed y ve a la pesta a General
  2. Establece Intervalo de actualizaci a Cada hora, Diario o Dos veces al d (Product Feed Elite tambi admite intervalos personalizados)
  3. 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

  1. Vaya a Product FeedAjustesGeneral
  2. Habilita Desactivar solicitudes de generaci de feed HTTP
  3. 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

ObjetivoTipo de filtroCondición de ejemplo
Incluir solo productos disponiblesIncluirEstado del stock = en stock
Incluir productos de una categoría específicaIncluirCategoría contiene [categoría objetivo]
Incluir productos por encima de un precio determinadoIncluirPrecio superior a X
Excluir productos sin stockExcluirEstado del stock = sin stock
Excluir productos sin imágenesExcluirLa imagen principal está vacía
Excluir productos de precio muy bajoExcluirPrecio inferior a X
Excluir categorías específicasExcluirLa categoría contiene [nombre de la categoría]
Excluir marcas o etiquetas específicasExcluirLa 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:

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

FactorRecomendación para más de 10 000 productos
Tamaño del loteDé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_time300 segundos o más
memory_limit256 MB o más
Método de actualizaciónProgramado (cada hora/diario) o cron del servidor, no solo manual
Generación HTTPDesactivar si los feeds se bloquean o agotan el tiempo de espera
FiltrosExcluir categorías sin stock, irrelevantes o de bajo valor
Productos variablesUtiliza "el más barato" o "variación predeterminada" cuando sea apropiado

Solución de problemas comunes

IncidenciaSolución
El feed está atascado en procesamientoReduce 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 agotadoAumenta max_execution_time a 300+; reduce el tamaño del lote
Error fatal / memoria agotadaAumenta 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 esperadosComprueba los filtros y las reglas; consulta ¡Ayuda! No tengo productos o tengo menos de los esperados en mi feed de productos
Fallos de Action SchedulerVe 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 Pro: Abre un tema en el foro de WordPress.org.
¿Te ha resultado útil este artículo?

Artículos relacionados

Completa tu compra
Feed de productos de WooCommerce de AdTribes

El mejor plugin de feeds de productos de WooCommerce

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Producto
Recursos e información
Sitios asociados
Rymera