For Facebook shares
Inspect how your URL will render in a Facebook post or share.
Facebook is the original Open Graph platform — it expects og:title, og:description, og:image, and og:type at minimum.
Previews are cached aggressively. Use Facebook's Sharing Debugger to force a re-scrape after updating tags.
Facebook's scraper (facebookexternalhit) has one behavior that surprises people: the first share of a URL may render without the image, because Facebook fetches and processes og:image asynchronously on first scrape. The fix is to warm the cache — run the URL through the Sharing Debugger once before the campaign goes out, so the image is processed before the first real share. Alternatively, og:image:width and og:image:height tags let Facebook render the image correctly on first share without the async delay.
The cache is keyed by exact URL, which makes UTM-tagged links a subtle trap: example.com/page and example.com/page?utm_source=facebook are cached separately, and each variant needs its own scrape to show fresh tags. If your campaign links carry UTMs, debug the tagged URL, not the bare one — they can genuinely differ in Facebook's cache.
Like every major scraper, facebookexternalhit reads server-rendered HTML and doesn't execute JavaScript. It also respects (and is sometimes accidentally caught by) bot-blocking rules — WAFs and DDoS protection that challenge unknown user agents are a common cause of previews that work on other platforms but fail on Facebook. The Sharing Debugger shows the response Facebook actually received, which makes it the definitive diagnostic when this tool shows good tags but Facebook disagrees.
The og:url tag matters more on Facebook than elsewhere because it consolidates share counts and cached metadata onto the canonical URL. If og:url points at a different address than the shared one, Facebook treats the og:url target as the true object — useful for consolidating www/non-www and http/https variants, dangerous if it accidentally points somewhere stale.
Since previews render in both Facebook and Messenger from the same scrape, one clean set of tags covers both surfaces. Messenger's dark-background rendering is worth a glance for image choice — assets with white backgrounds and hard edges look boxed-in there, while full-bleed imagery survives both surfaces gracefully.
Catch missing or wrong tags before a campaign launch, and warm Facebook's cache so the first real share renders with its image.
Confirm new tags are live before forcing Facebook's cache to refresh — 'Scrape Again' on a page still serving old tags just re-caches the problem.
Compare og:image variants to maximise CTR — remember each URL variant caches separately, so use distinct URLs per test cell.
Verify the exact tagged URL your ads and posts will share, since Facebook caches each query-string variant independently.
When previews fail only on Facebook, check whether your firewall is challenging facebookexternalhit — a frequent silent failure on protected sites.
Pre-configured variants tuned to specific platforms and use cases.
For LinkedIn shares
See how your URL looks when shared on LinkedIn — before you post.
Open variantFor Slack unfurls
Check how your URL unfurls inside Slack messages and channels.
Open variantFor X / Twitter Cards
Preview how your URL renders as a Twitter Card on X.
Open variantFor Discord embeds
See how Discord embeds your URL inside a channel or DM.
Open variant