Get Started
Guía Definitiva para Escalar Feeds para Más de 10 000 Productos - AdTribes
  1. Home
  2. Knowledge Base
  3. General Feed Tips
  4. Ultimate Guide to Scaling Feeds for 10K+ Products

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 alojamiento 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 agotados 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 agotados de PHP. Para catálogos grandes, el plugin utiliza tamaños de lote predeterminados por niveles basados en tu 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 están diseñados para la fiabilidad. Los lotes más pequeños usan menos memoria y es menos probable que alcancen los límites de ejecución. Sin embargo, puedes anularlos si tu servidor tiene más recursos.

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

  1. Ve a Feed de ProductosAjustesGeneral
  2. Habilita Cambiar número de productos por lote
  3. Introduce un valor en Insertar tamaño de lote: (por ejemplo, 500 o 250)
  4. Guarda tus ajustes

Recomendaciones:

  • Tiempos de espera agotados: Usa 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 tu servidor
  • Errores de memoria: Reduce aún más el tamaño del lote (por ejemplo, 100-200) para disminuir el uso de memoria por lote
  • Servidores estables: Puedes probar lotes más grandes (por ejemplo, 1000-1500) para una generación total más rápida, pero solo si tu 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

Prueba siempre después de cambiar el tamaño del lote. Si el feed todavía se atasca, redúcelo aún más. Para más detalles, consulta Configuración del tamaño del lote del feed de productos.

Comprueba y ajusta 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 valor es demasiado bajo (por ejemplo, 30 o 60 segundos), los lotes pueden cortarse antes de finalizar.

  • Recomendado: Al menos 300 segundos (5 minutos) para catálogos grandes
  • Cómo comprobar: Ve a WP Admin → WooCommerce → Estado y busca el valor Límite de tiempo de PHP en el Entorno del servidor.
  • Cómo solucionar: Aumenta el límite en la configuración de tu servidor añadiendo set_time_limit(300) al archivo wp-config.php, o ponte en contacto con tu proveedor de alojamiento

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: 256 MB o más para más de 10 000 productos
  • Cómo comprobar: Ve a WP Admin → WooCommerce → Estado y busca el valor Límite de memoria de WordPress en el Entorno de WordPress .
  • Cómo solucionar: Aumenta el límite de memoria en wp-config.php añadiendo define('WP_MEMORY_LIMIT', '256M'); o pide a tu proveedor de alojamiento que aumente el límite. o pide a tu soporte de alojamiento que lo haga

El plugin registra una advertencia cuando la memoria disponible está por debajo de 128 MB antes de que se ejecute un lote (si el registro está habilitado). Utiliza esto para detectar posibles problemas.

Utiliza la generación programada en lugar de la actualización 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 el Intervalo de actualización en Cada horaDiario, o Dos veces al día (Product Feed Elite también 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 obtener instrucciones paso a paso, consulta Cómo actualizar el feed de productos usando trabajos cron.

Deshabilitar solicitudes de generación de feed HTTP

Cuando haces clic en Actualizar en la página Gestionar Feeds, el plugin puede activar la generación de feeds mediante solicitudes HTTP. En tiendas grandes o con alojamiento limitado, esto puede provocar tiempos de espera agotados o feeds incompletos.

Deshabilitar solicitudes de generación de feed HTTP fuerza a que la generación de feeds se ejecute solo a través de Action Scheduler (o cron del servidor). No se utilizan solicitudes HTTP para iniciar o continuar lotes.

Cómo habilitar

  1. Ve a Feed de Productos → Ajustes → General
  2. Habilita Deshabilitar solicitudes de generación 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ás detalles, consulta ¿Qué hace “Deshabilitar solicitudes de generación de feed HTTP”?.

Filtrar 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ón de feeds más rápida. Para obtener instrucciones paso a paso, consulta Cómo crear filtros para tu feed de productos.

Productos variables y variaciones

Si utilizas productos variables, considera:

Estas opciones se encuentran 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 lote200-500 en hosting 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 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+; reduce el tamaño del lote
Menos productos de los esperadosComprueba los filtros y las reglas; consulta ¡Ayuda! No tengo ningún producto o tengo menos productos 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 EliteCrea un ticket de soporte para contactar con el equipo de soporte de AdTribes.
  • Usuarios de Product Feed ProAbre un tema en el foro de WordPress.org.
Was this article helpful?

Artículos relacionados

Complete Your Purchase
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