Why it happens
Threads shares Facebook’s cache, which can hold stale data for 7 days to 2+ weeks. There’s no Threads-specific cache tool, so everything goes through Facebook’s tools. See the Facebook cache clearing page for the full walkthrough.
Quick fix
1. Confirm your server is returning updated tags
curl -A "facebookexternalhit/1.1" https://example.com/page | grep "og:"If the old tags are still there, it’s your server/CDN/deployment, not Meta’s cache.
2. Sharing Debugger
Open the Facebook Sharing Debugger, enter your URL, click “Scrape Again”. Click it two or three times if needed, since Meta has intermediate cache layers.
This clears the cache for Threads, Facebook, and Instagram simultaneously.
3. Purge your CDN
If you use Cloudflare, Fastly, CloudFront, etc., your CDN may still serve old HTML to Meta’s crawler. Purge the URL, then scrape again.
4. Image cache is separate
Even after a successful metadata re-scrape, the old image may persist on Meta’s CDN for hours. If you changed image content at the same URL, use a new filename to force a fresh fetch.
5. Automated invalidation
curl -X POST \ "https://graph.facebook.com/?id=https://example.com/page&scrape=true&access_token=YOUR_TOKEN"Or Batch Invalidator for multiple URLs.
Gotchas
- Existing Threads posts keep their cached preview: no way to update an already-published post. Only new shares reflect changes.
- Debugger updated but Threads still stale: give it a few minutes. The mobile app has its own cache layer.
- Same URL, new image content: won’t be detected. Use a new filename.