Cache duration
Facebook caches link preview data for roughly 30 days, longer than most platforms. During that window, updated meta tags won’t appear in existing shares, and new shares of the same URL may also pull stale data.
Forcing a refresh with the Sharing Debugger
The Sharing Debugger shows what tags Facebook sees, flags warnings, and lets you force a re-crawl with the “Scrape Again” button.
You may need to click “Scrape Again” two or three times. The first scrape often returns stale data from an intermediate cache layer.
Batch invalidation
Use the Batch Invalidator to re-scrape multiple URLs at once. This is especially useful after site redesigns or bulk image template changes.
Programmatic invalidation via the Graph API
For automated workflows (deploy hooks, CI/CD), invalidate through the Graph API:
curl -X POST \ "https://graph.facebook.com/?id=https://example.com/page&scrape=true&access_token=YOUR_TOKEN"Requires a valid Facebook access token. Same operation as the Sharing Debugger, just scriptable.
Post-level refresh
Individual Facebook posts cache their own preview. To update a specific post, click the three-dot menu and select the option to refresh the link attachment. This doesn’t affect the global cache.
Common cache problems
- Updated tags, old preview: Sharing Debugger, “Scrape Again” multiple times
- New image not appearing: Facebook may still serve the old image from its CDN after a re-scrape. Wait a few minutes and scrape again.
- Preview vanished: the server likely returned an error during a re-crawl, and Facebook cached the error state. Fix the server issue, then scrape again.
- Different previews on different shares: some were cached before your update, others after. Only new shares and re-scraped URLs reflect changes.