Social

Link Preview Not Showing? Fix Your Open Graph Tags

Blank cream share card with a gold border on black velvet
A link without Open Graph is a URL. A link with it is a card people actually tap.

You paste your link into WhatsApp, Slack or LinkedIn and get… a naked blue URL. No image, no headline. Meanwhile every competitor's link renders as a rich card with a picture.

That difference is four meta tags, and it directly affects how many people click.

The tags you actually need

Inside <head>:

<meta property="og:title" content="Your headline">
<meta property="og:description" content="One compelling sentence.">
<meta property="og:image" content="https://yourdomain.com/preview.png">
<meta property="og:url" content="https://yourdomain.com/page">
<meta property="og:type" content="website">

And for X/Twitter's larger card:

<meta name="twitter:card" content="summary_large_image">

Note that Open Graph uses property= while Twitter tags use name=. Getting this backwards is a classic silent failure — the tag looks right and is ignored.

The five reasons previews break

1. A relative image URL

The most common cause by a distance. content="/images/preview.png" will not work. Scrapers require an absolute URL including the protocol: https://yourdomain.com/images/preview.png.

2. The platform cached an old version

Facebook, LinkedIn and X each cache aggressively — sometimes for weeks. If you added the tags after first sharing the link, the old empty result is stuck. Force a refresh with the platform debuggers (Facebook Sharing Debugger, LinkedIn Post Inspector, X Card Validator).

3. The image is blocked or too large

If your image sits behind authentication, is disallowed in robots.txt, or is enormous, scrapers give up. Keep it publicly accessible and reasonably sized.

4. Wrong dimensions

Use 1200×630. Very small images get rejected outright; odd aspect ratios get cropped unpredictably. Declaring dimensions helps platforms render without re-fetching:

<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">

5. Tags injected by JavaScript

Most social scrapers do not execute JavaScript. If your framework adds Open Graph tags client-side, scrapers see an empty head. The tags must be in the server-rendered HTML.

Why this is worth an hour of your time

Open Graph tags are not a ranking factor — no direct SEO benefit at all. The return is entirely in click-through: a link with an image, headline and description occupies dramatically more visual space in a feed or chat than a bare URL, and gets acted on far more often.

For anything you promote in newsletters, communities or social posts, this is one of the highest-leverage hours available.

Test before you share

Our Open Graph checker reports which tags are present, which are missing, and whether your image URL is absolute — before you post the link somewhere it'll be cached badly.

Frequently asked

Why is my link preview not showing?

Usually because og:title, og:description and og:image are missing, the image URL is relative rather than absolute, or the platform has cached an old version of the page. Each platform caches previews independently.

What size should an og:image be?

1200x630 pixels is the safe standard across platforms. Keep it under about 5MB and use an absolute HTTPS URL — relative paths are the single most common reason images fail to appear.

How do I refresh a cached link preview?

Use each platform's debugger: Facebook's Sharing Debugger, LinkedIn's Post Inspector, and X's Card Validator. Each has a 'scrape again' function that forces a fresh fetch.

Keep reading