Passa al contenuto principale

Generazione Manuale del Feed

Avvia una ricostruzione completa del feed su richiesta, senza attendere un cron job pianificato — utile quando vuoi verificare la configurazione, correggere errori o inviare dati di prodotto aggiornati a Facebook immediatamente.

note

Disponibile dalla v1.0.0

Panoramica

La scheda Manual Feed Generation offre un unico pulsante che avvia immediatamente il processo di generazione del feed. È il modo più rapido per confermare che il feed viene generato correttamente dopo aver modificato qualsiasi impostazione del modulo, ed è il primo passo consigliato durante la configurazione iniziale del modulo.

Poiché i cataloghi di grandi dimensioni possono richiedere diversi minuti di elaborazione, il modulo avvia la generazione come attività in background. Non è necessario mantenere aperta la pagina del Back Office durante l'esecuzione.

Pannello di generazione manuale del feed con il pulsante Generate the Feed Now!

Come generare manualmente il feed

  1. Vai su Modules > Module Manager, trova Facebook & Instagram Product Catalogue Feed Pro e clicca su Configure.
  2. Clicca sulla scheda Manual Feed Generation nella barra di navigazione.
  3. Clicca sul pulsante Generate the Feed Now! in fondo al pannello.
  4. La pagina si ricarica e mostra un messaggio che conferma l'avvio della generazione. Viene visualizzato un indicatore di avanzamento mentre il feed viene creato.
  5. Una volta completata la generazione, il blocco si rimuove automaticamente e la scheda Dashboard (Fast View) riflette i nuovi dati del feed.

Se viene visualizzato un avviso sulla modalità di manutenzione, il negozio è impostato in manutenzione e l'indirizzo IP del server non è stato aggiunto all'elenco degli IP autorizzati. Il modulo mostrerà l'IP del server in modo da poterlo copiare direttamente in Preferences > Maintenance prima di riprovare.

Cosa succede durante la generazione

Quando clicchi su Generate the Feed Now!, il modulo:

  1. Cancella tutti gli errori registrati dall'esecuzione precedente.
  2. Imposta il blocco di generazione (FPF_GENERATING = 1) e scrive un file progress.json iniziale nella cartella feeds/.
  3. Chiama l'URL di generazione del feed tramite cURL, passando la chiave segreta per l'autenticazione. Se cURL non è disponibile sul server, il modulo ricorre a una richiesta HTTP diretta.
  4. Il controller front-office (GenerateFeed) elabora i prodotti in cicli — il numero di prodotti per ciclo è controllato dall'impostazione Cycle Items nella scheda Product Options.
  5. Al termine di ogni ciclo, progress.json viene aggiornato con il conteggio dei feed completati rispetto al totale.
  6. Quando tutti i feed sono stati scritti, il blocco viene rimosso automaticamente (vedi sotto).

I file del feed generati vengono salvati nella cartella feeds/ all'interno della directory del modulo. Facebook e Instagram leggono il feed dall'URL pubblico mostrato nella scheda Feed Generation.

Il blocco di generazione e il ripristino automatico

Il modulo utilizza un flag globale (FPF_GENERATING) per segnalare che la generazione è in corso. Questo impedisce l'avvio di esecuzioni duplicate contemporaneamente — ad esempio, se un cron job si attiva mentre si genera manualmente.

Ripristino automatico: Ogni volta che si carica la pagina di configurazione, il modulo controlla progress.json. Se il file registra che tutti i feed sono stati completati (completed_feeds >= total_feeds) e l'esecuzione non si trova più in uno stato di avvio, il blocco viene rimosso automaticamente. Non è necessaria alcuna azione da parte tua.

Questo ripristino automatico impedisce che un blocco bloccato ostacoli le generazioni future nei casi in cui il processo di generazione sia terminato ma non sia riuscito a rimuovere il flag — ad esempio, dopo un timeout del server o una chiamata cURL interrotta.

Forzare l'aggiornamento immediato su Facebook

Dopo aver generato il feed nel negozio, Facebook lo recupererà al proprio intervallo di aggiornamento pianificato. Se hai bisogno che Facebook legga il feed aggiornato immediatamente — ad esempio, durante la correzione di errori nel catalogo — puoi forzare un recupero manuale:

  1. Apri Facebook Ads Manager.
  2. Vai su Catalogues e seleziona il tuo catalogo.
  3. Clicca su Product Data Sources e seleziona la tua sorgente dati.
  4. Clicca sul menu Configuration in cima alla pagina della sorgente dati.
  5. Scorri verso il basso e clicca su Fetch Now (denominato anche Refresh in alcune aree geografiche).
  6. Dopo pochi secondi, Facebook inizia a recuperare la versione più recente del feed.

Note importanti

  • Prima configurazione: Dopo aver configurato il modulo per la prima volta, usa sempre la Generazione Manuale del Feed prima di attivare il cron job. Questo conferma che il feed viene generato senza errori prima che inizino le esecuzioni automatiche.
  • Modifiche alle impostazioni: Quando salvi nuove impostazioni, il modulo potrebbe mostrare un avviso che le modifiche non avranno effetto fino alla rigenerazione del feed. Usa la scheda Manual Feed Generation per applicarle immediatamente, oppure attendi la prossima esecuzione del cron.
  • Limite Max Products: Se hai impostato un valore in Generation Options > Max Products Generation (per i test), quel limite si applica anche alla generazione manuale. Ricorda di reimpostarlo su 0 al termine dei test.
  • Debug della generazione: Allo stesso modo, se Debug Product Feed Generation è impostato su ID prodotto specifici, la generazione manuale elaborerà solo quei prodotti. Il Back Office mostra un banner di avviso quando una di queste opzioni di debug è attiva.
  • Multi-shop: Il flag di blocco (FPF_GENERATING) è memorizzato come valore globale e si applica a tutti i negozi. Se la generazione è in corso per un contesto di negozio, il blocco è condiviso.

Risoluzione dei problemi

ProblemaSoluzione
Cliccando Generate the Feed Now! viene mostrato un avviso sulla modalità di manutenzioneAggiungi l'indirizzo IP del server (mostrato nell'avviso) in Preferences > Maintenance > Maintenance IP.
Il pulsante di generazione è visibile ma non succede nulla / la pagina si ricarica senza confermacURL potrebbe aver fallito silenziosamente. Controlla Generation Options > Curl Timeout — prova a disabilitarlo se la generazione si interrompe con nessun prodotto o pochi prodotti elaborati.
Il feed è stato generato ma il Dashboard mostra ancora i dati vecchiRicarica la pagina di configurazione — il Dashboard aggiorna le sue statistiche al caricamento della pagina.
La generazione del feed sembra bloccata (il blocco non si rimuove mai)Ricarica la pagina di configurazione. La logica di ripristino automatico legge progress.json ad ogni caricamento e rimuove il blocco se la generazione è già terminata.
L'URL del feed restituisce un 404 dopo la generazioneLa cartella feeds/ potrebbe non essere scrivibile. Controlla i permessi della directory su modules/facebookproductsfeed/feeds/.

Domande Frequenti

Devo tenere aperta la pagina del Back Office mentre il feed viene generato?

No. Una volta cliccato su Generate the Feed Now!, il modulo avvia la generazione come attività in background. Puoi chiudere la scheda e il processo continuerà a girare sul server.

Quanto tempo richiede la generazione?

Dipende dalla velocità dell'hosting e dalle dimensioni del catalogo. Un catalogo piccolo con qualche centinaio di prodotti richiede tipicamente pochi secondi. Un catalogo grande con migliaia di prodotti e combinazioni può richiedere diversi minuti. La generazione basata su cicli è progettata per gestire cataloghi di grandi dimensioni senza raggiungere i limiti di tempo del server.

Posso eseguire la generazione manuale e un cron job contemporaneamente?

Il blocco di generazione del modulo impedisce l'esecuzione simultanea di due processi. Se la generazione manuale è già in corso quando si attiva un cron job, il cron job vedrà il blocco e salterà quel ciclo.

La generazione manuale sovrascriverà il feed che Facebook sta già utilizzando?

Sì. La generazione manuale produce un nuovo file di feed nella cartella feeds/, sostituendo quello precedente. Facebook legge lo stesso URL, quindi la prossima volta che recupera il feed vedrà la nuova versione — oppure immediatamente se si usa l'opzione Fetch Now in Facebook Ads Manager.

Le mie impostazioni sono cambiate ma il feed in Facebook sembra ancora lo stesso. Cosa devo fare?

Prima rigenera il feed manualmente in modo che il negozio produca il file aggiornato. Poi vai su Facebook Ads Manager e avvia un Fetch Now manuale sulla tua sorgente dati. Facebook memorizza nella cache i dati del catalogo tra un aggiornamento pianificato e l'altro, quindi rigenerare solo sul negozio non è sufficiente.

Funzionalità Correlate