No Card Showing on Twitter

Why your link shows as a plain URL with no preview

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

  1. twitter:card present? View page source, search for twitter:card. If missing, add it.
  2. Tags in raw HTML? curl your URL and check the meta tags are in the response, not injected by JS. See our crawling page for details.
  3. robots.txt allowing Twitterbot? See robots.txt blocking.
  4. Returning 200 OK? Errors (4xx, 5xx) prevent card generation. Redirects are followed.
  5. Image URL valid? A broken or inaccessible og:image can prevent the card from rendering.
  6. 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.