Forzare l'aggiornamento della cache Open Graph di Facebook
Puoi forzare l'aggiornamento della cache Open Graph di Facebook, perché Facebook — unico tra le principali piattaforme — espone un modo programmatico per richiederlo. Puoi usare il pulsante Scrape Again del Sharing Debugger per un singolo link, oppure chiamare l'endpoint di scrape dell'API Graph con un token di accesso dell'app. Non esiste un modo per forzare WhatsApp, LinkedIn o X: non pubblicano alcuna API di questo tipo, per nessuno.
La cosa che manda tutti in crisi
Meta memorizza nella cache un'anteprima del link basata sull'URL della pagina e conserva una propria copia dell'immagine. Non rilegge la tua pagina per accorgersi che og:image ora punta da un'altra parte.
Quindi questo flusso di lavoro fallisce, ed è quello che la maggior parte delle persone prova:
Cambia l'immagine di copertina → l'URL di
og:imageè nuovo → presumi che Facebook la raccolga → non lo fa.
Un nuovo URL dell'immagine aggira la CDN delle immagini. Non fa nulla alla cache di Meta basata sulla pagina. Per smuovere Facebook devi comunicare a Meta che la pagina è cambiata.
| Cache | Basata su | Svuotata da |
|---|---|---|
| La cache della tua pagina / CDN | l'URL della pagina | un purge |
| La cache delle anteprime dei link di Meta | l'URL della pagina | l'endpoint di scrape o lo Sharing Debugger |
| La copia dell'immagine di Meta | l'URL dell'immagine | un nuovo URL dell'immagine |
| La tua CDN delle immagini | l'URL dell'immagine | un nuovo URL dell'immagine |
Opzione 1 — Sharing Debugger (una pagina, manuale)
Apri developers.facebook.com/tools/debug, incolla l'URL della pagina e premi Scrape Again. Meta recupera nuovamente la pagina e ricostruisce la sua anteprima in cache.
È anche il miglior validatore gratuito che hai, perché riporta ciò che Meta ha effettivamente trovato, non ciò che speravi fosse presente: og:image mancanti o duplicati, immagini irraggiungibili, formati non supportati. Due cose che non farà: non può toccare WhatsApp (cache separata, nell'app del destinatario) e non è uno strumento di catalogo — gestisce un URL alla volta, con limiti di frequenza, e richiede una persona davanti.
Opzione 2 — l'API Graph (è ciò che chiama un plugin)
L'equivalente programmatico usato da FastOG è una POST all'API Graph con scrape=true:
curl -X POST \
"https://graph.facebook.com/v21.0/?id=$(python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=""))' 'https://your-store.com/product/example')&scrape=true&access_token=${APP_ID}|${APP_SECRET}"
Quattro dettagli che contano:
idè l'URL della pagina, non l'URL dell'immagine. Meta associa la cache alla pagina, quindi fare ping all'indirizzo dell'immagine non aggiorna nulla.- È richiesto un token — Meta ne richiede uno su questo endpoint da ottobre 2017. Un token di accesso dell'app nella forma
{app_id}|{app_secret}è sufficiente e non richiede login utente, ed è proprio questo che rende possibile la chiamata da un job in background. - Le versioni dell'API Graph cambiano. FastOG fissa una versione testata dell'API Graph; controlla la documentazione corrente e il changelog di Meta prima di fissare una versione nel tuo codice.
- Trattala come best-effort. Meta applica rate limiting alle chiamate di scrape, e un rifiuto significa solo che Facebook aggiorna secondo i propri tempi invece che immediatamente — i tag sulla tua pagina sono già corretti.
Poiché è soggetta a rate limiting, non lanciarla inline a ogni salvataggio di un catalogo di grandi dimensioni. Mettila in coda e deduplica per URL, così i salvataggi ripetuti dello stesso prodotto invariato non consumano il rate limit.
Opzione 3 — un plugin che lo fa per te
I plugin commercializzati come "Open Graph cache refresh" si dividono in due gruppi, e solo uno di essi può risolvere il problema di Facebook:
| Meccanismo | Cosa svuota | Risolve un'anteprima Facebook obsoleta? |
|---|---|---|
Aggiunge una query string variabile all'URL dell'immagine (?v=timestamp) |
la tua CDN delle immagini | No — la cache di Meta è basata sulla pagina |
| Chiama l'endpoint di scrape per l'URL della pagina | la cache delle anteprime di Meta | Sì |
Prima di installarne uno, verifica di quale tipo si tratta. Un parametro timestamp è una soluzione reale per un'immagine obsoleta e una non-soluzione per una card Facebook obsoleta.
FastOG per WooCommerce fa la seconda cosa, e non devi configurare nulla. Il plugin registra i webhook nativi dei prodotti di WooCommerce, quindi il salvataggio di un prodotto attiva un re-scrape Meta per il permalink di quel prodotto — in coda, deduplicato in una breve finestra temporale e best-effort per design, così un rifiuto non fa mai fallire il salvataggio. Si applica alle pagine prodotto (product.created / product.updated); le modifiche a categorie e blog non sono coperte.
Il lato immagine è gestito separatamente e in modo diverso da tutti i concorrenti: poiché un URL di copertina FastOG contiene i valori che l'hanno generata, modificare il prezzo o la foto genera un nuovo URL di copertina. Meta non può riproporre un'immagine il cui indirizzo non esiste più.
Dove Facebook non basta
| Piattaforma | Puoi forzare un aggiornamento? | Cosa succede realmente |
|---|---|---|
Sì — debugger o scrape=true |
Richiede una nuova scansione; i tempi di propagazione variano | |
| No | L'anteprima è memorizzata nella cache dell'app del destinatario; non esiste alcuna API | |
| Nessuna API programmatica documentata | Rilegge secondo la propria pianificazione; qui non viene fornita alcuna garanzia pubblica sui tempi | |
| X / Twitter | Nessuna API programmatica documentata | Rilegge secondo la propria pianificazione; qui non viene fornita alcuna garanzia pubblica sui tempi |
| Slack, Discord | No | Cache di breve durata che si svuotano da sole in pochi minuti o ore |
Se un'anteprima è obsoleta su WhatsApp, la soluzione non è uno strumento di Facebook — è sistemare correttamente il lato store così che la lettura successiva sia corretta.
Quando dopo uno scraping riuscito viene ancora mostrata la vecchia immagine
Segui questo elenco, in ordine:
- La pagina sta ancora servendo il vecchio tag?
curl -s https://your-store.com/product/example | grep -i 'og:image'— una pagina HTML in cache con unog:imageobsoleto vanifica del tutto lo scraping. Svuota la cache della pagina. - La pagina stampa più di un
og:image? Se due plugin ne emettono uno ciascuno, il crawler prende il primo che legge. Contali. - L'immagine è raggiungibile e non bloccata?
curl -I <image-url>dovrebbe restituire200con unContent-Typedi tipo immagine. I crawler social rispettanorobots.txt, quindi un'immagine su un percorsoDisallow:fallisce in un modo che sembra un file corrotto — ecurlnon lo riprodurrà mai, perchécurlignorarobots.txt. - L'URL dell'immagine è cambiato davvero? Se non è cambiato, non è cambiato nemmeno il contenuto — verifica che la modifica a prezzo/foto sia arrivata alla fonte da cui la card viene generata.
- Controlla di nuovo il debugger. Se ora riporta la nuova immagine e Facebook mostra ancora la vecchia card, stai guardando la propagazione di Facebook stessa, non i tuoi tag.
FAQ
Esiste un'API ufficiale per pulire la cache di Open Graph di Facebook?
FastOG utilizza l'endpoint di scraping (POST https://graph.facebook.com/{version}/?id={page-url}&scrape=true&access_token={token}). Meta documenta il flusso dello Sharing Debugger e della scansione programmatica; la forma esatta dell'endpoint e la versione della Graph API possono cambiare, quindi verificale rispetto alla documentazione corrente di Meta prima di implementarla da solo.
Lo Sharing Debugger richiede un'app o un token?
No. È uno strumento pubblico e funziona per qualsiasi URL pubblico. Quello che non può fare è essere eseguito su pianificazione o coprire un intero catalogo.
Una nuova scansione mi costerà un render FastOG?
Di solito no. Un URL di copertina deriva dal contenuto, quindi se il contenuto non è cambiato, non è cambiato nemmeno l'URL, e il fetch è un cache hit che non costa alcun render. Se il prezzo è cambiato, l'URL è cambiato — quello è un nuovo render, ed è il render che volevi.
La nuova scansione su Facebook risolve la mia anteprima su WhatsApp?
No. Sono cache separate. Il debugger di Facebook vale comunque la pena di usarlo come validatore — recupera la pagina nello stesso modo in cui farà WhatsApp e riporta ciò che ha trovato — ma non può aggiornare la cache di WhatsApp.
Per quanto tempo Facebook conserva un'anteprima se non la interrogo mai?
Meta documenta un periodo standard di nuova scansione di circa 24 ore, ma il tempo di propagazione esatto può variare. È per questo che esistono il debugger e il percorso di scansione programmatica.
Devo interrogare ogni prodotto dopo un'importazione del catalogo?
È a questo che serve la coda. Inviare una richiesta per prodotto in linea farà scattare il rate limit di Meta e rallenterà la richiesta del merchant; accodate e deduplicate, le scansioni del catalogo si esauriscono senza danni.
E se Meta rifiuta la richiesta?
Non si rompe nulla. Una richiesta rifiutata o limitata dal rate limit significa che Facebook aggiorna secondo la propria pianificazione anziché immediatamente — i tag sulla pagina sono già corretti, ed è per questo che la chiamata è best-effort e non una dipendenza rigida.
Correlati
- Aggiornamento immediato dell'immagine WhatsApp per WooCommerce
- Guida alla cache delle anteprime social: Facebook, WhatsApp, LinkedIn, X, Slack e Discord
- og:image non visibile? Come risolverlo
- Anteprima link WhatsApp non visibile? Correggi l'og:image
- Come mettere in cache le immagini OG
- Sincronizzazione del prezzo WooCommerce nell'anteprima WhatsApp
- Integrazione WooCommerce: FastOG per WooCommerce
Provalo gratis — nessuna registrazione richiesta
Anteprima e test delle immagini OG dinamiche in pochi secondi.
Apri il tester gratuito di immagini OG