Link preview fixes

Half-finished Open Graph tags fail quietly

Ship half the tags and platforms write your headline for you, differently everywhere, on the pages you share most.

their image loads fine

Patreon | Home – Index

www.patreon.com › join › creator-name…

Broken

og:image with no og:title, so the platform wrote the headline from the tab title.

Turn your biggest fans into your business

Turn your biggest fans into your business

patreon.com

The OpenGraph+ Fix

The complete set: the pitch in the headline, on purpose.

The subtlest failure is shipping some of the tags. It comes in flavours: Oreo sets og:title and og:description but no og:image, so its card collapses to a text row. Patreon ships the image but no og:title, so platforms improvise the headline from the tab title. Seventh Generation sets a title and nothing else. Chobani puts everything in twitter:* and nothing in og:*, so its links work on X and nowhere else.

All of these pass a glance test. The card renders something on the platform someone checked, and the missing piece only shows on the platforms nobody at the company uses. That’s why partial tags survive in production for years at brands with entire teams for this.

The rule that prevents the whole category: the tags are a matched set. Title, description, image, both namespaces, same values. Anything less means some platform somewhere is writing your copy for you.

What's at stake

Platforms write your headline

Whatever tag is missing gets improvised from your tab title or URL. Your most-shared pages get their headline from text written for a browser tab.

It works where you test, fails where you don't

The card looks perfect on the platform your team uses, so it ships. Slack, iMessage, and LinkedIn users see the broken version for years.

Your site feels unfinished

A card that renders differently on every platform makes the same page feel half-built, and people trust it less right when they're deciding.

How to fix it

By hand

Ship the complete, matched set

og:title, og:description, og:image, plus the twitter:* pair, with the same values. Partial sets are worse than they look because each platform patches the hole differently.

Test on the platform you don't use

These bugs live where nobody on the team hangs out. Paste your link into Slack, iMessage, and LinkedIn, not just the company X account.

With OpenGraph+

The full set, emitted together

OpenGraph+ generates the complete tag set alongside the rendered image, both namespaces matched, so no platform is left guessing.

The report catches the gap

The free report reads your tags per platform and flags exactly which half is missing, which is otherwise the hardest part to notice.

Fix it once, keep it fixed

Connect your site and OpenGraph+ renders every page into its own card, synced automatically as your site changes.