Forțează o reîmprospătare a cache-ului Open Graph pe Facebook

Poți forța o reîmprospătare a cache-ului Open Graph pe Facebook, deoarece Facebook — singura dintre platformele majore — expune o modalitate programatică de a solicita acest lucru. Fie folosești butonul Scrape Again din Sharing Debugger pentru un singur link, fie apelezi endpoint-ul de scrape al Graph API cu un token de acces al aplicației. Nu există nicio modalitate de a forța WhatsApp, LinkedIn sau X: acestea nu publică un astfel de API, pentru nimeni.

Lucrul care îi blochează pe toți

Meta stochează în cache o previzualizare a linkului chemat după URL-ul paginii și păstrează propria copie a imaginii. Nu recitește pagina ca să observe că og:image acum indică în altă parte.

Deci acest flux eșuează, și este exact cel pe care îl încearcă majoritatea:

Schimbi coperta → URL-ul og:image este nou → presupui că Facebook o va prelua → nu o face.

Un URL nou pentru imagine sparge CDN-ul de imagini. Nu face nimic pentru cache-ul Meta cheiat pe pagină. Pentru a mișca Facebook, trebuie să îi spui Meta că pagina s-a schimbat.

Cache Cheiat după Golit de
Cache-ul paginii tale / CDN URL-ul paginii purjarea acestuia
Cache-ul de previzualizare a linkurilor Meta URL-ul paginii endpoint-ul de scrape sau Sharing Debugger
Copia Meta a imaginii URL-ul imaginii un URL nou pentru imagine
CDN-ul tău de imagini URL-ul imaginii un URL nou pentru imagine

Opțiunea 1 — Sharing Debugger (o singură pagină, manual)

Deschide developers.facebook.com/tools/debug, lipește URL-ul paginii și apasă Scrape Again. Meta reîncarcă pagina și reconstruiește previzualizarea din cache.

Este, de asemenea, cel mai bun validator gratuit pe care îl ai, pentru că raportează ce a găsit Meta de fapt, nu ce sperai tu să fie acolo: tag-uri og:image lipsă sau duplicate, imagini inaccesibile, formate nesuportate. Două lucruri pe care nu le poate face: nu poate accesa WhatsApp (cache separat, în aplicația destinatarului) și nu este un instrument de catalog — procesează un singur URL la un moment dat, cu limită de rată, având un om în față.

Opțiunea 2 — Graph API (aceasta este cea apelată de un plugin)

Echivalentul programatic folosit de FastOG este un POST către Graph API cu scrape=true:

bash
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}"

Patru detalii care contează:

  • id este URL-ul paginii, nu URL-ul imaginii. Meta își cheie cache-ul pe pagină, așa că un ping către adresa imaginii nu reîmprospătează nimic.
  • Este necesar un token — Meta cere unul pe acest endpoint din octombrie 2017. Un token de acces al aplicației, sub forma {app_id}|{app_secret}, este suficient și nu necesită autentificarea utilizatorului, ceea ce face exact posibil apelul dintr-un job de fundal.
  • Versiunile Graph API se schimbă. FastOG fixează o versiune Graph API testată; verifică documentația curentă și changelog-ul Meta înainte de a fixa o versiune în propriul cod.
  • Tratează-l ca best-effort. Meta limitează rata apelurilor de scrape, iar un refuz înseamnă doar că Facebook reîmprospătează pe propriul program, nu imediat — tag-urile de pe pagina ta sunt deja corecte.

Deoarece este limitat ca rată, nu-l declanșa inline la fiecare salvare a unui catalog mare. Pune-l în coadă și deduplică după URL, astfel încât salvările repetate ale aceluiași produs neschimbat să nu consume din limita de rată.

Opțiunea 3 — un plugin care face totul pentru tine

Pluginurile promovate ca „Open Graph cache refresh" se împart în două categorii, și doar una dintre ele poate rezolva problema cu Facebook:

Mecanism Ce curăță Rezolvă o previzualizare Facebook învechită?
Adaugă un query string variabil la URL-ul imaginii (?v=timestamp) CDN-ul imaginii tale Nu — cache-ul Meta este legat de pagină
Apelează endpoint-ul de scrape pentru URL-ul paginii Cache-ul de previzualizare Meta Da

Înainte să instalezi unul, află în ce categorie se încadrează. Un parametru cu timestamp este o rezolvare reală pentru o imagine învechită și o non-rezolvare pentru un card Facebook învechit.

FastOG pentru WooCommerce face a doua variantă, iar tu nu configurezi nimic. Pluginul înregistrează webhook-urile native de produs din WooCommerce, astfel încât salvarea unui produs declanșează un re-scrape Meta pentru permalink-ul acelui produs — pus în coadă, deduplicat într-o fereastră scurtă de timp și, prin design, best-effort, astfel încât un refuz nu duce niciodată la eșecul salvării. Se aplică paginilor de produs (product.created / product.updated); editările de categorii și blog nu sunt acoperite.

Partea cu imaginea este gestionată separat și diferit față de orice competitor: pentru că un URL de copertă FastOG conține valorile care l-au generat, editarea prețului sau a fotografiei generează un nou URL de copertă. Meta nu poate re-servi o imagine al cărei URL nu mai există.

Unde Facebook nu este suficient

Platformă Poți forța o reîmprospătare? Ce se întâmplă de fapt
Facebook Da — debugger sau scrape=true Solicită o re-încărcare; timpul de propagare variază
WhatsApp Nu Previzualizarea este stocată în cache în aplicația destinatarului; nu există API
LinkedIn Fără API programatic documentat Re-citește după propriul program; nu se oferă nicio garanție publică privind sincronizarea
X / Twitter Fără API programatic documentat Re-citește după propriul program; nu se oferă nicio garanție publică privind sincronizarea
Slack, Discord Nu Cache-uri de scurtă durată care se curăță singure în câteva minute până la ore

Dacă o previzualizare este învechită pe WhatsApp, răspunsul nu este un instrument Facebook — ci rezolvarea corectă a părții de magazin, astfel încât următoarea citire să fie corectă.

Când tot se afișează imaginea veche după un scrape reușit

Parcurge această listă, în ordine:

  1. Pagina încă servește tagul vechi? curl -s https://your-store.com/product/example | grep -i 'og:image' — o pagină HTML din cache cu un og:image învechit anulează complet scrape-ul. Golește cache-ul paginii.
  2. Pagina afișează mai mult de un og:image? Dacă două pluginuri emit fiecare câte unul, crawler-ul ia primul pe care îl citește. Numără-le.
  3. Imaginea este accesibilă și nu este blocată? curl -I <image-url> ar trebui să returneze 200 cu un Content-Type de imagine. Crawler-ele de social media respectă robots.txt, așa că o imagine pe o cale Disallow: eșuează într-un mod care pare un fișier corupt — iar curl nu va reproduce niciodată asta, pentru că curl ignoră robots.txt.
  4. URL-ul imaginii chiar s-a schimbat? Dacă nu s-a schimbat, nici conținutul nu s-a schimbat — verifică dacă modificarea de preț/foto a ajuns la sursa din care este generat cardul.
  5. Verifică din nou debugger-ul. Dacă acum raportează imaginea nouă, iar Facebook tot afișează cardul vechi, te uiți la propagarea internă a Facebook, nu la tagurile tale.

Întrebări frecvente

Există o API oficială pentru a goli cache-ul Open Graph de pe Facebook?

FastOG folosește endpoint-ul de scrape (POST https://graph.facebook.com/{version}/?id={page-url}&scrape=true&access_token={token}). Meta documentează Sharing Debugger și fluxul de crawl programatic; forma exactă a endpoint-ului și versiunea Graph API se pot schimba, așa că verifică-le în documentația curentă a Meta înainte să o implementezi singur.

Are Sharing Debugger nevoie de o aplicație sau de un token?

Nu. Este un instrument public și funcționează pentru orice URL public. Ceea ce nu poate face este să ruleze pe un program prestabilit sau să acopere un catalog.

Re-scraping-ul îmi va costa un render FastOG?

De obicei nu. Un URL de copertă este derivat din conținut, deci dacă conținutul nu s-a schimbat, nici URL-ul nu s-a schimbat, iar fetch-ul este un hit de cache care nu costă niciun render. Dacă prețul s-a schimbat, URL-ul s-a schimbat — acesta este un render nou, și este render-ul pe care l-ai dorit.

Re-scraping-ul pe Facebook îmi repară previzualizarea de pe WhatsApp?

Nu. Sunt cache-uri separate. Debugger-ul Facebook merită totuși folosit ca validator — preia pagina exact cum o va face WhatsApp și raportează ce a găsit — dar nu poate reîmprospăta WhatsApp.

Cât timp păstrează Facebook o previzualizare dacă nu o ping-uiesc niciodată?

Meta documentează o perioadă standard de re-scrape de aproximativ 24 de ore, dar timpul exact de propagare poate varia. De aceea există debugger-ul și calea de crawl programatic.

Trebuie să ping-uiesc fiecare produs după un import de catalog?

Exact pentru asta este coada. Trimiterea unei cereri per produs inline va atinge limita de rată a Meta și va încetini cererea comerciantului; pus în coadă și de-duplicat, un sweep de catalog se drenează inofensiv.

Ce se întâmplă dacă Meta refuză cererea?

Nu se strică nimic. Un ping refuzat sau limitat de rată înseamnă că Facebook reîmprospătează pe propriul program, nu imediat — tag-urile de pe pagină sunt deja corecte, de aceea apelul este best-effort, nu o dependență strictă.

Încearcă gratuit — nu este necesară înregistrarea

Previzualizează și testează imagini OG dinamice în câteva secunde.

Deschide Testerul gratuit de imagini OG

From Us

A BeCaSimulations site