Missing twitter:card tag
A missing twitter:card meta tag is the most frequent cause. You can have perfect OG tags and Twitter will still show nothing without its card type declaration:
<meta name="twitter:card" content="summary_large_image">
Diagnosis checklist
twitter:cardpresent? View page source, search fortwitter:card. If missing, add it.- Tags in raw HTML?
curlyour URL and check the meta tags are in the response, not injected by JS. See our crawling page for details. robots.txtallowing Twitterbot? See robots.txt blocking.- Returning
200 OK? Errors (4xx, 5xx) prevent card generation. Redirects are followed. - Image URL valid? A broken or inaccessible
og:imagecan prevent the card from rendering. - Stale cache? If you just added tags, Twitter may still be serving a cached version without them. Use the Card Validator to force a refresh.
SPA / client-rendered sites
Twitterbot doesn’t run JavaScript. If your meta tags are rendered client-side, they’re invisible to the crawler. Options:
- SSR: render full HTML on the server
- Pre-rendering: serve static HTML to crawlers (e.g., Prerender.io)
- Static meta tags in the HTML shell before JS runs
Testing your fix
curl -A "Twitterbot/1.0" https://yoursite.com/page | grep -i "twitter:card"If the tag shows up, share the URL in a tweet or use the Card Validator to confirm the preview appears.