Your link looks like spam when shared on WhatsApp. The cause is almost always five missing meta tags. Here's how to diagnose and fix it without a redesign.
Read summarized version with
You're sending a client a link to your website. You paste it, hit send. It shows up as a plain blue URL: no image, no description. Or worse, it shows up with the wrong image: an old logo, a sponsor banner, a random photo from your homepage.
You're not alone. And most of the time the problem isn't that the site looks bad. It's that five small pieces of code in the page header are missing or unreachable.
Does your site even have Open Graph tags?
WhatsApp doesn't invent the preview. It reads instructions from your website called Open Graph tags. Without them, it guesses.
Quick check: paste your URL into the Facebook Sharing Debugger. It uses the same kind of crawler WhatsApp depends on. If the preview comes back broken there, it will come back broken on WhatsApp.
These are the five tags that need to live in your page's <head>:
<meta property="og:title" content="Your page title" />
<meta property="og:description" content="Brief description" />
<meta property="og:image" content="https://yourdomain.com/image.jpg" />
<meta property="og:url" content="https://yourdomain.com/page" />
<meta property="og:type" content="website" />
| Tag | What it does |
|---|---|
og:title | The bold headline in the preview |
og:description | The text under the headline |
og:image | The thumbnail next to the text |
og:url | The canonical link |
og:type | Tells the crawler what kind of page this is |
If any are missing, that's almost always the whole problem.
The image rules WhatsApp silently enforces
Even with correct tags, WhatsApp has its own rules that other platforms don't apply.
The biggest one is image file size. WhatsApp drops any image over roughly 300KB without warning. No error in your logs, no notification. The preview just appears without an image. Facebook accepts up to 8MB, LinkedIn up to 5MB. So a hero image that works fine everywhere else can silently fail on WhatsApp.
| Rule | Specification | Why it matters |
|---|---|---|
| File size | Under ~300KB | Larger images are silently skipped |
| Dimensions | 1200×630 recommended, 300×200 minimum | Smaller images may not display at all |
| Format | JPG or PNG | SVG won't render; WebP is inconsistent |
| URL | Absolute (https://...) | Relative paths like /image.jpg will fail |
| Protocol | HTTPS only | HTTP images on HTTPS pages get blocked |
Compress to 250KB or less to leave a safe margin. TinyPNG handles this in one drag.
Why it works on Facebook but breaks on WhatsApp
This is the most common version of the complaint we hear: the link looks great on Facebook, then turns ugly on WhatsApp. Same site, same tags.
WhatsApp inherited Facebook's Open Graph infrastructure but added stricter rules. The 300KB image cap is the biggest. There are smaller ones too: less tolerance for slow servers, no support for some image formats, no public debugger to verify against.
The "wrong image" case has a different cause. If your og:image tag is missing entirely, WhatsApp scans the page and picks an image on its own. Usually the largest one, or the first one in the markup. That's how client logos, sponsor banners, or unrelated homepage photos end up as your preview.
Why AI-built and template sites fail this test
This is where it gets specific. Sites built with Lovable, Bolt, v0, Cursor, or similar tools often output Open Graph tags via JavaScript after the page loads. The tags exist when you Inspect the page in your browser. But they don't exist when WhatsApp's crawler reads the raw HTML.
Social crawlers don't execute JavaScript. They read the initial server response and stop. If your tags are injected with JS, they might as well not exist.
How to check: press Ctrl+U (Cmd+Option+U on Mac) to view the actual page source, not Inspect. Search for og:image. If it's not in the raw source, that's why WhatsApp can't see it.
WordPress sites have a different version of the same issue. Two SEO plugins both writing OG tags will produce duplicate tags that cancel each other out. The crawler gives up either way.
This is the same kind of structural problem that keeps sites invisible on Google.
Sometimes the link is fine, the recipient turned previews off
Not every broken preview is on the site side. WhatsApp has a setting under Privacy > Advanced called "Disable link previews." If the person you're sending to has it enabled, every link they receive appears as plain text. The site is fine. There's nothing for you to fix.
To rule this out, paste your link in a chat with someone who you know has previews working. If it shows up correctly there, the problem is at the other end.
If you want a site where the link preview works the first time, every time, no template surprises or plugin conflicts, we can help. Custom-coded sites have those five tags right in the HTML, where every crawler can see them. The consultation is free, no commitment. Reach us at office@uvio.ro or on Telegram at @uviodigital.
Common technical mistakes
These are the issues we see again and again:
| Mistake | Effect | How to fix it |
|---|---|---|
| Relative image path | Crawler can't resolve the URL | Always use a full https://... URL |
| Duplicate OG tags from competing SEO plugins | Tags cancel each other out | Disable one of the plugins |
Cloudflare blocking facebookexternalhit crawler | Preview times out silently | Add a bot protection exception |
| Old preview cached after a fix | New tags work, but the old preview persists | Add ?v=2 to the URL to force a re-fetch |
| HTTP image on an HTTPS page | Mixed content gets blocked | Serve every image over HTTPS |
| Slow server response | Crawler times out before reading tags | Move to faster hosting or use a CDN |
Any one of these, on its own, is enough to break the preview.
Frequently asked questions
How long does it take for WhatsApp to update my link preview after I fix it?
There's no global cache to flush. WhatsApp caches per device, per chat, sometimes for days. The fastest workaround is adding a query parameter to the URL when sharing (for example ?v=2). It forces WhatsApp to treat the link as new and re-fetch the metadata.
Do I have to pay someone to fix this, or can I do it myself? If you have access to your site's HTML, you can do it yourself. Add the five OG tags to the page header, make sure the image is under 300KB on an absolute HTTPS URL, and you're done. If your site is on WordPress with a builder, or generated by an AI tool, fixing it usually means getting someone in who can read the actual source code.
Is there a WhatsApp debugger like Facebook's? No. WhatsApp doesn't offer a public debugger. The Facebook Sharing Debugger is the closest proxy, and re-scraping there typically refreshes WhatsApp's view too.
Why does my link show the wrong image instead of nothing?
When the og:image tag is missing, WhatsApp scans the page and picks an image on its own. Usually the largest, or the first one in the markup. That's why client logos, sponsor banners, or random photos end up in the preview. Adding the right tag tells WhatsApp exactly which image to use.
Why does it work on my iPhone but not on someone else's Android? WhatsApp caches link previews per device. If you've shared the link successfully once on iOS, the preview can persist on your phone even when others see a broken version on Android. The fix is on the site side, not the phone side.
If your website looks ugly on WhatsApp, there's a clear reason. Find the missing tags, fix them, share again.