Guide

WhatsApp and Telegram link preview: Open Graph checklist

When someone pastes a URL in WhatsApp or Telegram, the app may show a title, snippet, and image instead of a bare link. Those previews are driven by Open Graph–style tags on a publicly reachable page. Relative images, login walls, and stale caches are the usual reasons the card looks empty or wrong.

CardScope fetches the URL from the edge and rebuilds a diagnostic shell from the tags it finds. It is not a pixel-perfect screenshot of WhatsApp or Telegram on a phone — layout, crop, and timing differ by client and version.

How WhatsApp and Telegram unfurl links

Both clients send a crawler to your permalink, read meta tags (chiefly Open Graph), and cache a snapshot for that URL. In practice they care about:

They do not re-read your HTML on every paste. Live view-source can look correct while a chat still shows yesterday’s card — or no card — until cache expires or you share again after a wait. See clear Open Graph cache for the fix → verify → rescrape workflow across clients.

Checklist before you share

  1. og:title — specific to the page, not only the brand name.
  2. og:description — one clear sentence that matches the content.
  3. og:image — absolute https:// URL (not /og.png relative to the host). Landscape ~1200×630 is a safe default shared with other networks.
  4. Publicly fetchable image — no login, no signed cookie, no hotlink block that rejects the crawler. Open the image URL in a private window; if you cannot see the file, WhatsApp and Telegram often cannot either.
  5. Stable permalink — prefer one canonical URL in shares and in og:url.

Relative og:image and auth-walled images

Two failure modes show up constantly:

If CardScope’s tag table shows a relative image or a fetch error for the image URL, fix that on the live page before blaming WhatsApp or Telegram cache.

Tags that matter

Tag / signal Role Practical check
og:title Card headline Specific, not brand-only
og:description Supporting text Present and matches the page
og:image Preview image Absolute https, anonymous GET returns an image
og:image:width / height Hints for crop Set when you can (~1200×630)
og:url / canonical Identity / cache key Stable permalink
twitter:card Not the WhatsApp/Telegram driver Still useful for X / Discord; keep OG primary here

A minimal set

If you only set six things for chat previews, set these:

<meta property="og:title" content="A specific title, not the brand name">
<meta property="og:description" content="One sentence that matches the page.">
<meta property="og:image" content="https://example.com/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:url" content="https://example.com/permalink">

Same foundation as iMessage, Slack vs Discord, and LinkedIn vs X — one solid OG set, then client-specific extras where needed.

How to verify with CardScope

  1. Paste the public permalink into CardScope. It fetches from the edge, reads Open Graph (and Twitter) tags in memory, and discards the HTML.
  2. Confirm title, description, and that og:image is absolute https and reachable.
  3. Fix the live page if the tag table is wrong — do not wait on chat cache for a broken deploy.
  4. Recheck the same permalink after you ship. If CardScope is current but WhatsApp or Telegram still shows an old or empty card, treat that as client-side cache lag; wait or re-share after a delay. CardScope does not clear those caches.

FAQ

Do WhatsApp and Telegram use Open Graph?

Both lean on Open Graph–style tags (og:title, og:description, og:image) when they unfurl a public URL. Layout and crop differ by client and are not pixel-identical to CardScope shells or to each other.

Why does my preview miss the image?

Relative og:image paths often break. Auth-walled, hotlink-blocked, or non-HTTPS images fail when the crawler cannot fetch them. Use an absolute https:// image URL that returns a real image to an anonymous request.

Can CardScope clear WhatsApp or Telegram cache?

No. CardScope shows the tags it fetched right now. It does not purge WhatsApp, Telegram, Slack, X, LinkedIn, Discord, or Apple caches. Fix tags, verify, then recheck after cache lag — details in the clear OG cache guide.

Should I rely on Twitter Card tags for WhatsApp?

Ship Open Graph for WhatsApp and Telegram. Twitter tags matter more for X and Discord large embeds. Keep both sets aligned if you share across clients.

Is CardScope free?

Three free checks per day per IP, no account. Pro is $19 once for unlimited checks. We parse HTML in memory and discard it — rate limits store a hash of your IP for 48 hours, not the page.

Check a URL on CardScope

Paste the permalink. You get reconstructed shells for the clients CardScope supports, the tag table, and a fix checklist — so you know the live tags are right before you share in WhatsApp or Telegram. Three free checks per day per IP, no account. Pro is $19 once if you want unlimited checks. We parse HTML in memory and discard it — rate limits store a hash of your IP for 48 hours, not the page.

Try a URL