ScreenshotNeo

BlogHow-to

How to Fix WhatsApp Link Previews Not Showing Images on an Indian News Site

Diagnose missing WhatsApp story images by checking sender settings, the exact article’s Open Graph tags, image access, delivery, and stale caches.

By the ScreenshotNeo team4 October 20268 min read

A missing WhatsApp preview image usually comes down to one of four things: the sender has disabled previews, the exact story URL serves incomplete Open Graph metadata, WhatsApp cannot fetch the image, or an old preview is still being shown. Check those in order. A normal browser view is not enough: the relevant question is what a crawler receives from the public article URL and its image.

The research available for this guide describes general WhatsApp behavior, not a special India-specific rule. Without the affected site URL, hosting setup, and story URL, the cause for a particular Indian news site cannot be identified in advance.

1. Rule out the sender’s WhatsApp setting

First test from the account that is composing the message. WhatsApp’s Help Center says that enabling Disable link previews stops previews for links that account sends; the setting is off by default. In WhatsApp, look under Settings (or your profile picture) > Privacy > Advanced for the setting. If it is enabled, turn it off and try composing the link again.

If other websites show previews for the same sender but this story does not, continue with the site checks. If no links preview, the account setting is a more likely first check than the news site’s metadata.

2. Test the exact public story URL

Copy the precise link readers share, including its path and any necessary query parameters. Test that URL rather than the homepage: every article can have its own title, description, canonical URL, image, redirects, and access rules.

  1. Open the URL in a private browser window and note whether it redirects. Confirm that the final destination is the intended public story.
  2. Check that a reader who is not signed in can reach it. A page that works only in an authenticated browser may not be available to a preview crawler.
  3. Use the final public URL consistently in the article metadata. Check for redirects between HTTP and HTTPS, hostnames with and without www, and trailing-slash variants.

Do not assume that a page rendering correctly in a desktop browser means its initial HTML contains the metadata a crawler needs. Some sites add tags only after JavaScript runs, or serve different HTML to bots.

3. Inspect the delivered Open Graph tags

Inspect the page source or the raw HTML response for the exact article URL. Confirm that the initial HTML contains these tags in the document head:

<head>
  <meta property="og:title" content="Story headline" />
  <meta property="og:description" content="A concise summary of this article." />
  <meta property="og:url" content="https://news.example.in/story-path" />
  <meta property="og:image" content="https://news.example.in/images/story-preview.jpg" />
  <meta property="og:type" content="article" />
</head>

This is an illustrative pattern, not a diagnosis of any particular site. Replace the example values with the story’s actual headline, summary, canonical URL, and image. Use an absolute image URL including the scheme and hostname. The reproduced Meta-attributed WhatsApp developer guidance says the head data should appear within the first 300 KB of HTML.

Check the raw response, not just the browser’s rendered DOM. If a server-rendered page has no tags until a client-side script runs, adjust the CMS or rendering pipeline so the tags are present in the initial HTML delivered to the crawler. Ensure each article route has its own metadata rather than inheriting the homepage’s values.

4. Verify the preview image itself

Copy the exact og:image value and open it directly in a private browser window. It should load without a login, session cookie, hotlink permission, or special referrer. Confirm that the response is an image and not a redirect to an error page, an HTML access-denied page, or a placeholder.

The reproduced Meta-attributed guidance specifies an image under 600 KB, at least 300 pixels wide, and with a width-to-height ratio no greater than 4:1. These are the figures used here; other third-party guides may give different thresholds. Resize or recompress an image that exceeds the stated size, ensure its width and aspect ratio meet the guidance, and deploy the resulting file at a stable public URL.

  • Check the URL’s capitalization and filename. Many hosting systems treat paths as case-sensitive.
  • Check that the CDN returns the latest image and a valid image content type.
  • Make sure firewall, hotlink, bot-protection, and rate-limit rules allow the public image request.
  • Use an image specifically suitable for the story card rather than relying on a page hero image that requires scripts or cookies.

5. Check redirects, security rules, and deployment

If the page or image is inaccessible to a crawler, inspect every hop from the shared URL to the final page and from og:image to the final image. Review HTTPS configuration, authentication, robots and security rules, CDN behavior, firewall challenges, and any bot checks. A human browser may pass a challenge or carry cookies that a crawler does not.

After changing metadata or an image, verify that the deployment is live at the public URL. Clear site-controlled caches where appropriate, including CMS, application, and CDN caches. If the issue appears intermittent or only from a particular network or region, compare the returned page HTML and image under the site’s relevant delivery and security rules before attributing it to geography. The available guidance does not establish a special India-only preview requirement.

6. Test in WhatsApp and handle stale previews carefully

Paste the exact public URL into a WhatsApp message compose box and wait for the preview before sending. The reproduced developer guidance suggests checking whether it appears within 10 seconds. Test on the client and account where the failure occurs; a preview checker can inspect page tags, but WhatsApp determines the final display.

If the current tags and image are correct but an old card still appears, separate the caches you control from WhatsApp’s preview data:

  1. Confirm the live page response and image URL show the new version.
  2. Clear the site, application, or CDN caches you control.
  3. Compose the normal article URL in a new WhatsApp message and allow time for the preview attempt.
  4. If necessary, test a changed URL as a diagnostic, but do not assume a query-string change clears WhatsApp’s cache or will be the URL you want readers to share.

Do not treat Meta’s Facebook Sharing Debugger as a guaranteed WhatsApp cache purge. The reproduced documentation says WhatsApp makes a best effort and that previews are not guaranteed.

Quick diagnostic checklist

Check What to confirm Likely next action
Sender setting Disable link previews is off Turn it off and retry composing the message
Exact URL The shared story URL reaches the intended public article Fix redirects, access, or the URL being shared
Initial HTML Story-specific og:title, og:description, og:url, and og:image are delivered in the head Fix CMS metadata or server rendering
Image Absolute URL, public access, valid image response, under 600 KB, at least 300 px wide, ratio no greater than 4:1 Fix access, file, dimensions, or delivery rules
Deployment New page and image are live, with site-controlled caches cleared Deploy or purge the relevant cache
WhatsApp test Exact URL is tested in compose and allowed up to 10 seconds Recheck the failing account and client; previews remain best effort

Common errors and fixes

Symptom or cause Why it happens Fix
Homepage tags look correct, article card does not The story route may have missing or inherited metadata Inspect and set tags on the exact article URL
Image path is relative The crawler may not resolve it as intended Set og:image to an absolute HTTPS URL
Image opens for an editor but not publicly The browser may have a login cookie or the server may block external requests Make the image publicly fetchable and review hotlink, firewall, and CDN rules
Tags appear in DevTools but not page source A client-side script may insert them after the initial response Render the Open Graph tags in the initial HTML
Preview has old headline or thumbnail The current deployment may be cached, or WhatsApp may retain old preview data Verify live output, clear site-controlled caches, and retest; no external debugger guarantees a WhatsApp refresh
No links preview for one sender That sender may have disabled link previews Check Settings/Profile > Privacy > Advanced
Preview never appears despite valid tags Preview generation is a best-effort feature and delivery or crawler behavior may differ Recheck exact URL and image reachability, then test again in WhatsApp; do not promise a preview is guaranteed

Performance, reliability, and cost

Open Graph metadata is small; for this problem, the practical bottlenecks are whether the initial page response and image are publicly reachable, whether a security layer interrupts fetching, and whether caches still serve old data. Keep the tags in the initial HTML and use a reasonably sized image that meets the documented limits. That improves the odds of a straightforward fetch, but cannot guarantee WhatsApp will display a card.

These fixes are changes to the publisher’s own page metadata and delivery setup; no paid product is required by the documented troubleshooting steps. The research does not provide a verified statistic for Indian news-site failures or measured success rates, so none should be inferred from these thresholds.

Or skip the browser setup

To inspect the live story’s rendered page, use ScreenshotNeo, a website screenshot API and MCP server from Yorker Media. Its capture can help you see what the page looks like after loading; it does not replace checking the raw HTML response or prove that WhatsApp’s crawler receives the same result.

ScreenshotNeo API documentation. One GET request returns a screenshot; replace the sample URL with the exact story URL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://news.example.in/story-path -o story.webp
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://news.example.in/story-path"},
    timeout=90,
)
open("story.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://news.example.in/story-path' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('story.webp', res);

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed; and its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month with no card.

FAQ

Does setting og:type to article make WhatsApp show the image?

The example includes it as descriptive metadata, but the available guidance does not establish that this tag is required to show an image. Prioritize the title, description, canonical URL, and publicly fetchable image tags.

Will changing the URL query string force a fresh WhatsApp preview?

It may be useful as a diagnostic, but the available official-attributed guidance does not promise it will clear WhatsApp’s cache. Keep the canonical story URL correct and verify the live deployment first.

Is there a separate preview requirement for Indian news websites?

The research identifies general WhatsApp preview and Open Graph guidance, not a distinct India-specific requirement. Investigate the particular URL’s HTML, image, and delivery path.

Can a correct Open Graph setup guarantee a preview?

No. The reproduced WhatsApp developer guidance describes previews as best effort and says they are not guaranteed.

Sources