Why it happens
Telegram tends to show nothing at all when it can’t build a complete preview. There is no partial fallback.
Diagnosis
- Check for OG tags: confirm
og:title,og:description, andog:imageare in the page source. Without at least a title and image, Telegram may skip the preview entirely. - Verify server-side rendering: TelegramBot doesn’t run JavaScript. Check what it actually sees:
bash curl -A "TelegramBot (like TwitterBot)" https://yoursite.com/page - Check robots.txt: make sure
TelegramBotisn’t blocked:User-agent: TelegramBot Allow: / - Check for noindex: if your page has or ever had
<meta name="robots" content="noindex">, Telegram may be suppressing the preview. Telegram remembersnoindexeven after removal, so use @WebpageBot to force a re-crawl. - Rule out VPN/proxy issues: try sharing from a device without a VPN.
Client-side rendering
If your OG tags only exist after JavaScript runs, TelegramBot sees nothing. Use server-side rendering, a pre-rendering service, or put static meta tags in your HTML shell before your JS framework takes over.
The noindex memory trap
A Telegram-specific gotcha: if TelegramBot ever crawled your page while noindex was present, Telegram remembers. Removing the directive isn’t enough. You must force a re-crawl through @WebpageBot to clear the cached suppression.
Testing your fix
Send your URL to @WebpageBot to force a fresh crawl, then share it in a chat to verify.