Back to Blog
Social Media Marketing

How to Fix Your Facebook Link Preview (From the Platform That Invented This Problem)

July 2026 · 6 min read

Facebook created the Open Graph protocol in 2010 and every other platform copied it. So why do Facebook link previews still break constantly? Here's how Facebook's crawler actually works, why it caches so stubbornly, and how to take control of what it shows.

You paste a link into a Facebook post. For a moment nothing happens, then the preview loads: a stretched logo, a title cut off mid-word, or an empty gray box where an image should be. It's a strange thing to run into on this particular platform, because Facebook didn't just adopt link previews — it invented the standard that makes them possible everywhere. If any platform should get this right by default, it's this one.

It doesn't, and the reasons are specific enough that once you understand them, fixing your own previews takes minutes.

The Platform That Wrote the Rules

In 2010, Facebook published the Open Graph protocol — a small set of HTML meta tags that let any web page describe itself to a social platform: a title, a description, an image, a type. Facebook built this so its own crawler could generate rich link previews in the News Feed. Every other platform that renders link previews today — Twitter/X, LinkedIn, Discord, Slack, iMessage — reads some version of the same og: tags, either directly or as a fallback. Facebook is, quite literally, the reason the rest of this ecosystem works the way it does.

How Facebook's Crawler Actually Works

When you paste a URL into a Facebook post, a crawler identifying itself as facebookexternalhit fetches the page and reads its Open Graph tags — primarily og:title, og:description, og:image, og:url, and og:site_name. It renders these into a card that appears above your post text, with the image displayed prominently. Facebook does not read Twitter Card tags (twitter:image, twitter:card) at all — if a page only has those and no og: equivalents, Facebook's preview will be empty or fall back to guessing from the page body.

Why the Cache Is the Real Problem

Facebook's crawler doesn't re-fetch a URL every time someone shares it. It scrapes once, stores the result, and reuses that stored version for every subsequent share — sometimes for weeks. The cache key it uses is the og:url tag, not the literal address in the browser bar. That detail causes two common failures: if a page's og:image changes but nobody tells Facebook to re-scrape, every future share shows the stale image. And if og:url is missing or set incorrectly (for example, if it points to a parent page instead of the specific one being shared), Facebook may treat two different pages as the same cached object.

The fix, when you own the page, is the Sharing Debugger. Paste the URL, hit "Scrape Again," and Facebook re-fetches the page and discards the stale cache. The debugger also shows you exactly what tags it found and flags anything missing — useful for catching a mistyped og:image path before it goes out in a post.

Minimum Sizes and Silent Failures

Facebook has specific, mostly undocumented-to-casual-users thresholds for images. Anything below roughly 200 × 200px won't render as a preview image at all — Facebook just omits it, with no warning to the person posting. The recommended size for the full News Feed card is 1200 × 630px; below about 600 × 315px, Facebook falls back to a small square thumbnail instead of the large format. None of this produces an error message. The post just goes out looking worse than intended, and the only way to know why is to check the Sharing Debugger before you share, not after.

The Redirect and Third-Party Link Problem

None of the above helps if you don't own the page you're linking to — which describes most links people actually share: news articles, partner content, affiliate offers, referral links. Redirect endpoints in particular (shortened links, tracking URLs, referral codes) almost never carry their own Open Graph tags, since they're routing infrastructure rather than content pages. Facebook's crawler follows the redirect chain to the real destination and reads whatever tags exist there — which might be generic, outdated, or entirely absent. You can't run the Sharing Debugger's "Scrape Again" fix on a page you have no login for.

Controlling the Preview Without Controlling the Page

The way around this is a preview layer: a hosted page you control that serves the Open Graph tags you choose, then transparently redirects the actual visitor to the original destination. Facebook's crawler reads your title, your description, your image, and caches your og:url — not the destination's. The person who clicks lands exactly where they expected, with no visible detour.

This is what Prelinq is built for. You paste the destination URL, write the title and description that fit your post, and choose an image sized correctly for Facebook's card format from the start. Prelinq generates a link that carries your metadata into Facebook's crawler — no Sharing Debugger, no waiting on someone else's cache, because there's no dependency on a page you don't own.

Before Your Next Post

If you own the destination, run it through the Sharing Debugger before sharing — it takes thirty seconds and tells you exactly what Facebook sees. If you don't own it, or the default preview just isn't the one your post needs, that's the case Prelinq exists for: a card designed for the post you're actually writing, not the one the destination page happened to ship with.

Try it free

Ready to take control of your link previews?

Create your first custom preview in under two minutes — no sign-up required to get started.

Try Prelinq free →