Open Graph and Meta Tags: Controlling How Your Links Look Everywhere
The minimum viable tag set for rich link previews, correct image dimensions, Twitter card fallback rules, JSON-LD structured data, and the caching gotchas that keep old previews alive.
Three consumers, three vocabularies
Search engines read your <title> and meta description. Social platforms read Open Graph (og:*) tags. X/Twitter reads its own twitter:* tags, falling back to Open Graph for whatever is missing. Messaging apps — WhatsApp, Telegram, Slack, iMessage — mostly piggyback on Open Graph. One page therefore needs all three vocabularies to look right everywhere, and they must agree with each other.
<title>Page Title — Brand</title>
<meta name="description" content="150–160 characters that earn the click." />
<meta property="og:title" content="Page Title" />
<meta property="og:description" content="May differ from search description." />
<meta property="og:image" content="https://example.com/og.png" />
<meta property="og:url" content="https://example.com/page" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />The image is 90% of the preview
- Canonical size: 1200×630 (1.91:1). Platforms crop toward the center — keep text and faces away from edges.
- Use an absolute HTTPS URL; relative
og:imagepaths silently fail on most scrapers. - Keep it under ~1 MB; some scrapers time out on heavy images and show no preview at all.
- Text on the image should survive being rendered at 400px wide — thumbnail legibility beats detail.
Description lengths that survive truncation
Google truncates descriptions around 155–160 characters; social platforms cut earlier, often near 65–90 in compact placements. Write the first 60 characters to stand alone, then elaborate. And remember the meta description is not a ranking factor — it is ad copy for the click.
JSON-LD: talking to machines properly
Structured data (<script type="application/ld+json">) is what earns rich results — article cards, breadcrumbs, FAQs, product snippets. Unlike meta tags it is a real graph: an Article with an author, a datePublished, a publisher. Keep it truthful and consistent with the visible page; mismatches can get rich results revoked.
Why your old preview will not die
Every platform caches scraped previews aggressively — sometimes for weeks. After changing tags, re-scrape explicitly: Facebook’s Sharing Debugger, LinkedIn’s Post Inspector, and Telegram’s @WebpageBot all force a refresh. If a preview still shows stale data, version the image URL (og.png?v=2) — a new URL bypasses every cache at once.