AI SEO

Twitter and X card tags: a second preview vocabulary

6 min readUpdated Aug 2026
The same intention as Open Graph, expressed in a different set of tags. A page can carry a perfectly good Open Graph set and still preview badly on X, because nothing there is obliged to read it. The second vocabulary is not a duplicate of the first, and where it differs is where things go wrong.

What the tags declare

twitter:card chooses the shape: a small square thumbnail beside the text, or a large image above it. twitter:title and twitter:description carry the words. twitter:image carries the picture, and twitter:site names the account the page belongs to.

The shape matters more than it sounds. A summary card and a large-image card occupy very different amounts of a reader's screen, and the choice is yours to declare rather than something inferred from the image.

The two shapes, and what they cost

summary summary_large_image

summary puts a small square image beside the text. summary_large_image puts a wide one above it. Everything else about the card is the same, and the difference in how much attention it draws is not small.

The shape is declared rather than inferred. A wide picture does not produce a wide card on its own; the tag has to say so. This catches people out regularly: the image is right, the card is still a thumbnail, and nothing in the page looks wrong.

The mismatch runs the other way too. A card declared large with a square image behind it gets cropped to fit, and what survives the crop is the middle. Where the interesting part of the picture is not in the middle, the preview shows the part that is.

Why it falls back, and why that is not enough

Most readers will fall back to Open Graph when a Twitter tag is missing, which is why the gap so often goes unnoticed. The fallback is a courtesy, not a rule, and it does not cover everything: the card shape has no Open Graph equivalent to fall back to.

So a page with only Open Graph usually previews, and usually as a small card, whether or not that was the intention.

When the two sets disagree

Nothing keeps them aligned. A page can declare one title in Open Graph and another in the Twitter set, and both are valid; the reader simply picks the one addressed to it.

Disagreement is rarely deliberate. It arrives when somebody updates the Open Graph title and does not think to look ten lines further down, or when two systems write into the same head at different times. The result is a page that describes itself differently depending on where it is shared, and it is nobody's job to notice.

Checking is awkward for the same reason it goes wrong: the two sets are read by different readers, so seeing one correct tells you nothing about the other. Reading the head directly is the only reliable check, which is also why a marker on generated nodes is worth having.

The handle, and what it is for

twitter:site names the account the page belongs to, and twitter:creator names the person who wrote it. Neither affects the picture or the words. What they do is attach an attribution line to the card, and on a platform where accounts matter more than domains, that line is what makes a shared link recognisably yours.

Both come from your brand profile verbatim. A handle is a fact rather than a phrasing, and generating one would be an odd thing to attempt. Where you have set no handle, the line is simply left off rather than filled with a guess.

The line nobody sets

twitter:image:alt describes the picture for somebody who cannot see it. It is the least declared tag in the set and the easiest to argue for: a card without it is a card that reads, to a screen reader, as a title and then silence where the image was.

It is also the one place in the family where a generated line is doing something a person would rarely get around to. Alt text for a preview image is written once, seen by almost nobody, and skipped in every template that ever shipped. Where the image itself is a composed card, the text describing it is written from the same page the card was built from.

What is filled

Where the tags are absent, they are written from the page and the brand profile, including the handle, where you have set one. Platforms will not infer the card shape, but enrichment can: where one is not declared, one is chosen to match the image the page actually has. A tag you wrote is kept.

FAQ

Is twitter: still the right prefix?

Yes. The attribute names did not change when the platform's name did, and readers still look for exactly those strings. Renaming them in your head is easy; renaming them in your markup breaks the card. This is one of the places where the older name survives in the plumbing long after it stopped being the name anyone says out loud.

Do I need both Twitter tags and Open Graph?

For predictable previews, yes. Relying on the fallback works until it does not, and the failure is silent: the link still previews, just not as the card you had in mind. The one thing the fallback cannot supply is the shape, because Open Graph has no equivalent tag to fall back to.

Can the two sets disagree?

They can, and when they do the Twitter tags win on X. That is occasionally useful and more often an accident, because the disagreement usually starts as an edit to one set that nobody mirrored into the other. Reading the head is the only way to see it; the preview itself shows you one answer and hides the other.

What shape is chosen where I declared none?

The one that matches the picture the page actually has. A wide image gets a large card and a square one gets a summary, because declaring a shape the image cannot fill produces a crop rather than an improvement. Where you declare a shape yourself, that declaration stands whatever the image.

Does any of this affect what X shows in search?

No. These tags decide what a shared link unfolds into, and nothing else. They are not ranking inputs on the platform, they carry no weight with search engines, and a page that previews beautifully is not thereby easier to find. The gain is recognition at the moment somebody is deciding whether to open it.

AI SEO, without the overclaiming

These pages pin down what enrichment fills and what it never touches. The platform they describe is Bridge CDN, where an account is created.