A link preview is built from Open Graph tags in the destination page's HTML - og:title, og:description, og:image, and og:url. When you paste a link into WhatsApp, Facebook, Slack, or X, that platform's crawler fetches the page, reads those tags, and renders the card. If the preview is not showing, it is almost always one of two things: the tags are missing or broken, or the platform cached an empty result and is still serving it.
That single fact - the preview comes from the destination, not the link - is what makes this fixable. You are not debugging the platform; you are debugging the page's tags and then clearing the platform's memory of them. This guide covers why previews break, the handful of tags that matter, whether short links are to blame (usually not), and the exact tool to refresh each platform.
If you are also shortening the link, how to shorten a URL covers that side, and the short-link question gets its own section below because it is the one people get wrong.
Why Link Previews Break#
Previews fail for a small, predictable set of reasons, and naming them is half the fix.
- Missing or malformed Open Graph tags. No
og:titleorog:imagemeans the crawler has nothing to build a card from, so you get a bare link. This is the most common cause by far. - An unreachable or oversized image. The
og:imageURL returns a 404, sits behind a login, or is too large for the platform to fetch in time. The card renders without its image, or not at all. - Cached emptiness. The platform crawled the URL once before the tags existed, stored "no preview," and keeps showing that until forced to look again.
- JavaScript-only rendering. Most social crawlers do not run JavaScript; they read the raw HTML. If your tags are injected client-side, the crawler never sees them.
That last one catches modern single-page apps constantly. The crawler asks for the HTML, gets an empty shell, and leaves. The Open Graph protocol spec defines what the tags should look like in the served HTML, and the fix is always to make sure they are in the HTML the crawler receives, not added later by script.
The Open Graph Tags That Power a Preview#
Four tags do almost all the work. Get these right and most platforms render a clean card.
og:title is the headline of the card. og:description is the line of text beneath it. og:image is the picture, and it is the one people most often get wrong - point it at an absolute URL of an image around 1200x630 pixels, publicly reachable, not behind auth. og:url is the canonical address of the page, which keeps the preview stable even when the link carries tracking parameters.
X reads its own twitter:card family of tags and falls back to Open Graph when they are absent, which is why a page can preview perfectly on Facebook and look bare on X. The safe move is to include both: the four Open Graph tags plus twitter:card, twitter:title, twitter:description, and twitter:image. It is a few lines of HTML in the page head, and it is the difference between a card that works everywhere and one that works in one place. Google documents the related crawler and special-tag behavior if you want the search-side view too.
Do Short Links Break Link Previews?#
This is the question that brings people to a URL shortener's blog, and the answer is reassuring: a clean short link does not break previews. When you share a short link, the platform's crawler follows the redirect to the destination and reads the Open Graph tags there, so the card shows the destination's preview exactly as the long URL would.
Previews break around short links only in specific cases. A chain of redirects - a short link pointing at another short link pointing at the page - can confuse or time out a crawler, so keep it to one hop, which is the same discipline that keeps redirects fast and SEO-clean. A shortener that uses iframe masking instead of a real redirect will break the preview, because the crawler sees the wrapper, not the destination - one of several reasons that technique is a bad idea, covered in link cloaking and URL masking. And if the destination itself has no Open Graph tags, no short link can invent them. Use a one-hop redirect on a custom domain pointing at a page with good tags, and the preview is identical to the unshortened link.
If you want short links that redirect cleanly in one hop and never sit between your audience and a good preview, start a free Elido workspace and point your first link at a page with proper tags.
How to Fix It, Platform by Platform#
Once the tags are right, the remaining job is clearing each platform's cache, and every major platform gives you a tool.
- Facebook and Instagram. Run the URL through the Facebook Sharing Debugger. It shows the tags it found and a "Scrape Again" button that refetches the page and clears the cached card. This also covers Instagram, which shares the same crawler.
- LinkedIn. Use the LinkedIn Post Inspector. LinkedIn caches previews for around a week, and the inspector is the only way to force an early refresh.
- X (Twitter). The Card validator refetches the page and shows how the card will render; confirm the
twitter:cardtags are present and re-test. - WhatsApp, iMessage, Slack, Discord. These have no public debugger. They follow Open Graph, but cache hard. The workaround is to share a slightly different URL - add or change a harmless query parameter - which the app treats as new and crawls fresh.
The pattern is the same everywhere: fix the tags on the page, then force the platform to look again. A preview that is merely cached fixes in minutes once you re-scrape; a preview that was missing tags appears as soon as the crawler next sees the page.
The Pre-Share Checklist#
Before a link goes out to an audience, thirty seconds of checking prevents the bare-link embarrassment.
- Confirm the destination has
og:title,og:description,og:image, andog:url, plus the Twitter Card tags. - Open the
og:imageURL directly in a browser - it must load, publicly, at roughly 1200x630. - Run the final URL, short link included, through the Facebook debugger to see the real card.
- If you are sharing a short link, verify it is one hop to the destination, not a chain.
Do those four and the preview shows up the first time, on every platform that matters. The card is not magic and it is not the platform being difficult - it is four tags on your page and one cache to clear.
Related on the Blog#
Try Elido
Paste a URL, get a working short link
No signup. Link lives for 30 days. Sign up to keep it forever.
Free, no signup required · 2 per day