The fix, in one snippet
<meta name="twitter:card" content="summary_large_image">
Illustrative values. Change the paths, hostnames and options to match your own site before using it.
The sections below explain what is tested, why it matters and the alternatives.
What we test
We read twitter: meta tags and report pages with no twitter:card value. This is informational: X reads Open Graph when Twitter tags are absent, so a page with good OG tags still previews correctly.
Why it matters
What the tag changes is the format. summary_large_image renders a full-width image above the headline; the default summary renders a small thumbnail beside it. On a timeline the difference in visual weight is substantial.
It also lets you override the title, description and image for one platform, which is occasionally useful where character limits or image crops differ from everywhere else.
Because it is a fallback rather than a requirement, this is worth doing for pages you actively promote and safe to skip elsewhere.
The tags are also read by other clients that adopted the vocabulary, so the effect is not limited to one platform. Where the two vocabularies disagree, the Twitter tag wins on X and is ignored everywhere else, which is what makes it useful as an override.
How to fix it
Add the card type, and only override the other fields where they should differ from Open Graph:
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Running shoes for flat feet">
<meta name="twitter:description" content="Fit notes, arch support ratings and three tested models.">
<meta name="twitter:image" content="https://example.com/img/og/running-shoes.png">
Note the attribute difference: Twitter tags use name, Open Graph uses property. Getting that wrong is the single most common reason a card does not render, and it is invisible in a template review because both lines look correct in isolation.
An image of 1200 by 630 pixels works for both vocabularies, so one file and one URL will do. Validate with X's own card validator after publishing, since the platform caches previews and will keep serving an old one until it re-fetches.
Where this fits
Twitter card missing is check 4 of 4 that the seo & site health audit runs under structured data and social, ordered the way they are worth fixing. That ordering is the point: Fixing this one while the check above it still fails buys less than it looks like.
Fix this one first
Above it in the same category sits Site icon missing (info), where the site icon appears in tabs, bookmarks, history and increasingly in search results themselves. An attacker who has that does not need this, so it is the better use of the same hour.
Found in the same scan
The seo & site health audit reports this alongside checks from other categories that are at least as serious, including Broken internal links, where an internal link that returns an error is a dead end for the reader and a wasted request for the crawler, and Crawl errors (4xx / 5xx), where uRLs reached during the crawl that returned a client or server error. A single run of seo & site health audit answers all of them at once.
The first few lines
You are a senior web engineer. I ran a security and SEO scanner against my site and it reported the finding below. Fix it properly rather than suppressing the symptom.
Finding: Twitter card missing (info severity)
Scanner check id: seo-twitter-card
The rest of this prompt names the pages and line numbers we found the problem on, the configuration to change, and the constraints a good answer has to respect. It is free, it just needs an account so the work is not scraped wholesale.
Sign in with GoogleSigning in is free and takes one click. We store your email address and nothing else.