Why is my link preview wrong or out of date?
Nine times out of ten it is either a platform cache holding an old copy, or tags that only exist after JavaScript runs so the scraper never saw them. Check what the raw HTML contains first, then clear the platform's cache — in that order, because clearing a cache on broken tags just re-saves the broken version.
Work in this order
- 1. View source on the live URL and confirm the tags are in the HTML the server sent.
- 2. Open the og:image URL in a private window. It must load with no login and over https.
- 3. Check that the URL you are sharing is the one with the tags — no redirect, no trailing-slash variant, no tracking parameters pointing somewhere else.
- 4. Only now clear the platform's cache and share again.
Common causes
| Symptom | Usual cause |
|---|---|
| Old image keeps showing | Platform cache. Use the Sharing Debugger or Post Inspector, or add ?v=2 to the URL. |
| No card at all, just a bare link | No og:title or og:image, or the scraper got a non-200 response. |
| Tags visible in DevTools but not to the scraper | Client-side rendering. The tags are added after load; move them to server-rendered HTML. |
| Image missing but title fine | Relative image URL, http instead of https, or a file too heavy. |
| Works on Slack, not on Facebook | Facebook's cache, or its crawler being blocked in robots.txt. |
| Preview shows a different page | og:url or canonical points somewhere else. Both should self-reference. |
| Preview shows staging content | An absolute URL left pointing at the staging domain. |
Do not block the crawlers
A broad Disallow in robots.txt, or a firewall rule that challenges unknown user agents, stops previews dead. The crawlers you want to allow include facebookexternalhit, Twitterbot, LinkedInBot, Slackbot, Discordbot, WhatsApp and TelegramBot.
text
User-agent: facebookexternalhit
Allow: /
User-agent: Twitterbot
Allow: /
User-agent: LinkedInBot
Allow: /
User-agent: Slackbot-LinkExpanding
Allow: /The official debuggers
- Facebook Sharing Debugger — shows what was scraped and forces a re-scrape.
- LinkedIn Post Inspector — same idea, and the only way to refresh LinkedIn.
- Google Search Console URL Inspection — for how Google sees the page.
- A scan here — renders all eight platforms side by side without posting anything.
Sources
Keep going
Now check it on your own site.