The TelegramBot crawler
Telegram generates previews server-side. When a URL is pasted into a chat, Telegram’s servers dispatch a crawler with the user agent TelegramBot (like TwitterBot) to fetch the page and extract meta tags. No JavaScript is executed, so your OG tags must be in the initial HTML response.
Data center IPs
Requests come from Telegram’s own IP ranges, primarily 149.154.160.0/20 and 91.108.4.0/22. If you use IP-based access controls or geo-blocking, allow these ranges or previews will silently fail.
robots.txt
TelegramBot respects robots.txt using the token TelegramBot. A blanket Disallow: / without an explicit allow for TelegramBot kills previews.
User-agent: TelegramBot
Allow: /
The noindex trap
TelegramBot respects <meta name="robots" content="noindex"> and remembers it even after you remove the directive. If your page ever served noindex while TelegramBot was crawling, you’ll need @WebpageBot to force a re-crawl after removing it. Just deleting the tag isn’t enough.
Checking if TelegramBot can reach your page
curl -A "TelegramBot (like TwitterBot)" https://example.com/your-pageIf your <meta> tags are in the response, TelegramBot will see them. If you see a redirect, login page, or JavaScript shell, that’s what TelegramBot sees too.