Generación Manual del Feed
Activa una reconstrucción completa del feed bajo demanda, sin esperar a un cron job programado — útil cuando quieres verificar tu configuración, corregir errores o enviar datos de productos actualizados a Facebook de inmediato.
Disponible desde v1.0.0
Descripción general
La pestaña Manual Feed Generation ofrece un único botón que inicia el proceso de generación del feed en ese momento. Es la forma más rápida de confirmar que el feed se genera correctamente después de modificar cualquier ajuste del módulo, y es el primer paso recomendado al configurar el módulo por primera vez.
Dado que los catálogos grandes pueden tardar varios minutos en procesarse, el módulo lanza la generación como una tarea en segundo plano. No es necesario mantener la página del Back Office abierta mientras se ejecuta.

Cómo generar el feed manualmente
- Ve a Módulos > Gestor de módulos, busca Facebook & Instagram Product Catalogue Feed Pro y haz clic en Configurar.
- Haz clic en la pestaña Manual Feed Generation en la barra de navegación.
- Haz clic en el botón Generate the Feed Now! en la parte inferior del panel.
- La página se recarga y muestra un mensaje confirmando que la generación ha comenzado. Aparece un indicador de progreso mientras se construye el feed.
- Una vez finalizada la generación, el bloqueo se libera automáticamente y la pestaña Dashboard (Fast View) refleja los nuevos datos del feed.
Si aparece un aviso sobre el modo de mantenimiento, tu tienda está en mantenimiento y la dirección IP del servidor no se ha añadido a la lista de IPs permitidas. El módulo mostrará la IP de tu servidor para que puedas copiarla directamente en Preferencias > Mantenimiento antes de intentarlo de nuevo.
Qué ocurre durante la generación
Al hacer clic en Generate the Feed Now!, el módulo:
- Borra los errores registrados en la ejecución anterior.
- Establece el bloqueo de generación (
FPF_GENERATING = 1) y escribe un archivoprogress.jsoninicial en la carpetafeeds/. - Llama a la URL de generación del feed mediante cURL, pasando tu clave secreta para la autenticación. Si cURL no está disponible en el servidor, el módulo recurre a una petición HTTP directa.
- El controlador de front-office (
GenerateFeed) procesa tus productos en ciclos — el número de productos por ciclo está controlado por el ajuste Cycle Items en la pestaña Product Options. - A medida que cada ciclo finaliza,
progress.jsonse actualiza con el recuento de feeds completados frente al total de feeds. - Cuando todos los feeds han sido escritos, el bloqueo se libera automáticamente (ver más abajo).
Los archivos del feed generado se guardan en la carpeta feeds/ dentro del directorio del módulo. Facebook e Instagram leen el feed desde la URL pública que se muestra en la pestaña Feed Generation.
El bloqueo de generación y el reinicio automático
El módulo utiliza un indicador global (FPF_GENERATING) para señalar que la generación está en curso. Esto evita que se inicien ejecuciones duplicadas al mismo tiempo — por ejemplo, si un cron job se dispara mientras estás generando manualmente.
Reinicio automático: Cada vez que se carga la página de configuración, el módulo comprueba progress.json. Si el archivo registra que todos los feeds han sido completados (completed_feeds >= total_feeds) y la ejecución ya no está en estado inicial, el bloqueo se libera automáticamente. No es necesario realizar ninguna acción.
Este reinicio automático evita que un bloqueo atascado impida futuras generaciones en casos donde el proceso de generación finalizó pero no pudo borrar el indicador por sí mismo — por ejemplo, tras un tiempo de espera del servidor o una llamada cURL interrumpida.
Forzar que Facebook actualice de inmediato
Después de generar el feed en tu tienda, Facebook lo recogerá en su propio intervalo de actualización programado. Si necesitas que Facebook lea el feed actualizado de inmediato — por ejemplo, mientras corriges errores del catálogo — puedes forzar una descarga manual:
- Abre el Administrador de anuncios de Facebook.
- Navega a Catálogos y selecciona tu catálogo.
- Haz clic en Fuentes de datos de productos y selecciona tu fuente de datos.
- Haz clic en el menú Configuración en la parte superior de la página de la fuente de datos.
- Desplázate hacia abajo y haz clic en Fetch Now (también denominado Actualizar en algunas regiones).
- Tras unos segundos, Facebook comienza a descargar la versión más reciente de tu feed.
Notas importantes
- Configuración inicial: Después de configurar el módulo por primera vez, utiliza siempre la Generación Manual del Feed antes de activar el cron job. Esto confirma que el feed se genera sin errores antes de que comiencen las ejecuciones automatizadas.
- Cambios en los ajustes: Cuando guardas nuevos ajustes, el módulo puede mostrar un aviso indicando que los cambios no tendrán efecto hasta que el feed sea regenerado. Usa la pestaña Manual Feed Generation para aplicarlos de inmediato, o espera a la próxima ejecución del cron job.
- Límite de productos máximos: Si has establecido un valor en Generation Options > Max Products Generation (para pruebas), ese límite también se aplica a la generación manual. Recuerda restablecerlo a
0cuando hayas terminado de probar. - Depuración de la generación: Del mismo modo, si Debug Product Feed Generation está configurado con IDs de productos específicos, la generación manual solo procesará esos productos. El Back Office muestra un banner de advertencia cuando cualquiera de estas opciones de depuración está activa.
- Multi-tienda: El indicador de bloqueo (
FPF_GENERATING) se almacena como un valor global y se aplica a todas las tiendas. Si la generación está en curso para un contexto de tienda, el bloqueo se comparte.
Resolución de problemas
| Problema | Solución |
|---|---|
| Al hacer clic en Generate the Feed Now! aparece un aviso de modo de mantenimiento | Añade la dirección IP de tu servidor (que se muestra en el aviso) en Preferencias > Mantenimiento > IP de mantenimiento. |
| El botón de generación es visible pero no ocurre nada / la página se recarga sin confirmación | cURL puede haber fallado silenciosamente. Comprueba Generation Options > Curl Timeout — prueba a desactivarlo si la generación se detiene sin productos procesados o con muy pocos. |
| El feed fue generado pero el Dashboard sigue mostrando datos antiguos | Recarga la página de configuración — el Dashboard actualiza sus estadísticas al cargar la página. |
| La generación del feed parece estar atascada (el bloqueo nunca se libera) | Recarga la página de configuración. La lógica de reinicio automático lee progress.json en cada carga y libera el bloqueo si la generación ya ha finalizado. |
| La URL del feed devuelve un 404 tras la generación | La carpeta feeds/ puede no tener permisos de escritura. Comprueba los permisos del directorio en modules/facebookproductsfeed/feeds/. |
Preguntas frecuentes
¿Necesito mantener la página del Back Office abierta mientras se genera el feed?
No. Una vez que haces clic en Generate the Feed Now!, el módulo lanza la generación como una tarea en segundo plano. Puedes cerrar la pestaña y el proceso seguirá ejecutándose en el servidor.
¿Cuánto tarda la generación?
Depende de la velocidad del hosting y del tamaño de tu catálogo. Un catálogo pequeño de unos pocos cientos de productos suele tardar unos segundos. Un catálogo grande con miles de productos y combinaciones puede tardar varios minutos. La generación por ciclos está diseñada para manejar catálogos grandes sin alcanzar los límites de tiempo del servidor.
¿Puedo ejecutar la generación manual y un cron job al mismo tiempo?
El bloqueo de generación del módulo impide que dos ejecuciones se realicen simultáneamente. Si la generación manual ya está en curso cuando se dispara un cron job, este detectará el bloqueo y omitirá ese ciclo.
¿La generación manual sobreescribirá el feed que Facebook ya está utilizando?
Sí. La generación manual produce un archivo de feed nuevo en la carpeta feeds/, reemplazando el anterior. Facebook lee la misma URL, por lo que la próxima vez que descargue tu feed verá la nueva versión — o de inmediato si utilizas la opción Fetch Now en el Administrador de anuncios de Facebook.
He cambiado mis ajustes pero el feed sigue siendo el mismo en Facebook. ¿Qué debo hacer?
Primero regenera el feed manualmente para que tu tienda produzca el archivo actualizado. Luego ve al Administrador de anuncios de Facebook y activa un Fetch Now manual en tu fuente de datos. Facebook almacena en caché los datos del catálogo entre actualizaciones programadas, por lo que regenerar en tu tienda por sí solo no es suficiente.