Preview Not Generating on WhatsApp

Why your link shows as a plain URL with no preview

Why it happens

WhatsApp previews fail silently with no error message, just a plain URL. The usual suspects:

  1. Missing Open Graph tags: WhatsApp needs at least og:title and og:description (or their HTML fallbacks <title> and <meta name="description">) to generate anything.
  2. Client-side rendered tags: WhatsApp’s crawler doesn’t run JavaScript. If your tags are injected by a SPA framework, the crawler sees an empty page.
  3. Bad SSL: WhatsApp forces HTTPS. Expired, self-signed, or missing certificates mean no preview.

Diagnosis

  1. Fetch the page as WhatsApp sees it and verify your meta tags are in the raw HTML: bash curl -A "WhatsApp/2.23.18.78 i" https://yoursite.com/page
  2. Verify SSL: valid HTTPS certificate, not self-signed.
  3. Check robots.txt: make sure you’re not blocking the crawler: “` User-agent: WhatsApp Allow: /

User-agent: facebookexternalhit Allow: / ”` 4. Check response time: WhatsApp gives up after roughly 10 seconds. 5. Use the Facebook Sharing Debugger to see exactly what Meta’s crawler finds.

User-side causes

  • Link previews disabled: WhatsApp has a setting under Settings > Privacy > Link Previews. The sender needs to enable it.
  • VPN or data saver mode: can block preview generation to save bandwidth.
  • Restricted network: corporate firewalls may block outbound preview fetches.

SPA / client-side rendering

If your meta tags only exist after JavaScript runs, WhatsApp won’t see them. Options: server-side rendering, a pre-rendering service, or static meta tags in your HTML shell.

Testing your fix

Run the Facebook Sharing Debugger first, then send a fresh link in a WhatsApp chat to confirm.