TryUnfurl

Check How Your Links Unfurl for FREE!

See exactly how your webpage will appear when shared on social media, Slack, Discord, and messaging apps.

Try It Now →

Facebook Link Preview Wrong — How to Fix It

If Facebook is showing the wrong title, description, or image when you share a link, the cause is almost always one of two things: incorrect Open Graph tags on your page, or Facebook's URL unfurl cache serving outdated data. Both are fixable — usually in under five minutes — and this guide walks you through exactly how.

You'll learn how Facebook's URL unfurl actually works, a complete Open Graph tags checklist, step-by-step troubleshooting, the advanced URL unfurl edge cases that trip up even seasoned developers (CDN caching, dynamic content, mobile vs desktop), and how to test your Facebook link previews before every share.

→ Test your Facebook link preview on TryUnfurl

Understanding URL Unfurling on Facebook

Facebook invented the Open Graph protocol, and it's still the single most important source of truth for the Facebook URL unfurl process. Every time someone pastes your link into a status update, a Messenger chat, or a business page post, Facebook's scraper (user-agent facebookexternalhit) fetches the page, reads the <head>, and builds the preview card from four primary tags:

Facebook then caches the result — aggressively. After you fix a tag, you have to clear Facebook's cache using the Sharing Debugger before the new URL unfurl shows up on any share.

A few Facebook-specific quirks worth knowing:

Complete Open Graph Tags Checklist for Facebook

Before the troubleshooting loop, run this Facebook URL unfurl checklist:

If every box is ticked and Facebook still looks wrong, the issue is almost certainly stale cache — jump to the Sharing Debugger step below.

Common Causes of Facebook Preview Problems

Wrong og: tags

The most common cause. Check that og:title, og:description, og:image, and og:url are all set correctly and accurately describe the page's actual content.

Stale cache

Facebook caches link previews and can serve old data for days or weeks. If you changed your page content or og: tags, you must explicitly clear the cache.

og:image is too small or missing

Facebook requires og:image to be at least 200×200 px. For a full-width preview card, use 1200×630 px. Images under 200×200 px are silently ignored and no image is shown.

og:image URL is not publicly accessible

The image URL must load with a plain GET request and return HTTP 200. No authentication, no redirects requiring cookies, no IP allow-lists blocking Facebook's crawler.

Page content is JavaScript-rendered

Facebook's scraper does not run JavaScript. If your og: tags are set by a client-side JS framework (React, Vue, etc.), Facebook will never see them. The tags must be in the raw HTML response.

Multiple og:title or og:image tags

If your page has duplicate og: tags, Facebook may pick the wrong one. Validate with the Sharing Debugger and ensure each property appears only once.

Step-by-Step Facebook Preview Troubleshooting

  1. Update your Open Graph tags in the HTML <head>:
<meta property="og:title" content="Your Page Title" />
<meta property="og:description" content="A concise description under 300 characters." />
<meta property="og:image" content="https://example.com/preview.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://example.com/your-page" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Your Site Name" />
  1. Confirm tags are in the raw HTML — run curl -s https://example.com/your-page | grep og: to verify the tags appear without JavaScript execution.

  2. Open Facebook's Sharing Debugger:

    • Go to https://developers.facebook.com/tools/debug/
    • Paste your URL and click Debug
    • Review the "OG Tags" section — confirm all tags are correct
    • Click Scrape Again to force Facebook to re-crawl your page
    • Click Scrape Again a second time to pick up the freshly crawled data
  3. Verify the image — click the image URL shown in the debugger to confirm it loads directly. If it doesn't, fix the image URL.

  4. Check for warnings — the Sharing Debugger shows warnings for common issues like missing tags, small images, or HTTPS problems. Address each warning.

  5. Test a fresh share — post a new Facebook update with the URL. The preview should now reflect your updated tags.

Advanced URL Unfurl Issues on Facebook

Once the basics check out, these are the tricky edge cases that tend to stump teams:

Dynamic content

If your og:title, og:description, or og:image are generated from user or CMS data, make sure the values actually render correctly for unauthenticated visitors. A personalized page that builds OG tags from the logged-in user's profile will serve empty tags to Facebook's crawler, which sees the page logged out.

CDN caching

Facebook may be serving the correct new tags — but your CDN might still be serving an old HTML response. If TryUnfurl shows the right tags and Facebook's Sharing Debugger shows stale ones, clear your CDN cache (Cloudflare, Fastly, CloudFront, Vercel, Netlify) before re-running Scrape Again.

Mobile vs desktop preview differences

Facebook may render different crop or text sizes on mobile feed vs desktop. If your og:image has copy or logos too close to the edges, the mobile crop can cut them off. Test the same URL on Facebook's desktop web and the Facebook iOS/Android apps — the cards may differ.

Blocked crawler

Some WAFs and bot-protection layers block facebookexternalhit outright. Check your server logs for 403s from that user-agent, and add an allowlist rule if needed.

Image hotlink protection

If your images are behind hotlink protection or a Referer allowlist, Facebook's scraper will be blocked from downloading them. Either remove the protection for your OG image URLs or return the image for a Facebook user-agent.

Redirect chains

Long redirect chains (HTTP → HTTPS → www → non-www → final URL) can cause Facebook to give up before resolving your tags. Keep redirects to a single hop where possible.

How to Clear Facebook's Link Preview Cache

  1. Go to Facebook Sharing Debugger
  2. Enter your URL and click Debug
  3. Click Scrape Again (you may need to do this twice)
  4. Check the "Time Scraped" field — it should now show the current time

For links already shared in posts, Facebook does not re-render the preview retroactively. Only new shares will show the updated preview.

Testing Your Facebook Link Previews

Before any high-stakes share — a campaign, a product launch, a company update — run the URL through a multi-platform link preview checker so you see exactly what the Facebook URL unfurl will look like on every network at once.

TryUnfurl fetches your URL live (no cache) and renders the preview card the way Facebook, LinkedIn, Twitter/X, Slack, Discord, and iMessage will render it. It also lists every Open Graph tag your page is actually serving so you can spot issues before Facebook sees them.

For launches with many URLs — a content migration, a campaign landing set, a monthly audit — use the bulk URL unfurl checker to test up to 100 URLs in one pass.

Frequently Asked Questions

Why does my Facebook preview still show the old image after I clicked Scrape Again?

Click Scrape Again twice. The first scrape updates the cache; the second fetch shows the newly cached data. If the image is still wrong after two scrapes, the og:image tag on your page may still point to the old image.

Can I change the Facebook link preview for a post I've already published?

No. Facebook bakes the preview into the post at share time. Once published, the preview cannot be changed. Delete the post and re-share with the corrected URL to show the updated preview.

What is the correct Facebook og:image size?

Minimum 200×200 px, recommended 1200×630 px. See the og:image size guide.

Why does my image show in the Sharing Debugger but not in a post?

This is a timing/cache inconsistency. After scraping, wait 5–10 minutes before creating a new share. The debug cache and the end-user cache are populated by separate systems.

Does Facebook read Twitter Card tags?

No. Facebook only reads Open Graph (og:) tags.

My page requires login — why can't Facebook scrape it?

Facebook's scraper cannot log in to your site. All pages whose Open Graph tags you want Facebook to read must be publicly accessible.

How do I test Facebook URL unfurl without actually posting?

Use TryUnfurl for a live multi-platform preview, then Facebook's Sharing Debugger to force a re-scrape and confirm the rendered card matches.

Why does my Facebook link preview show on mobile but not desktop?

Usually a user-agent-based server response difference or a CDN delivering different HTML. Test both with curl -A "facebookexternalhit/1.1" and confirm both responses contain identical Open Graph tags.

Related Guides