X removed much of its Twitter Card documentation, but the metadata system still works. The tags are still named twitter:*, and TSF still uses them so X, Discord, and other platforms can build rich previews for your WordPress pages.
This article covers the parts TSF uses: card types, titles, descriptions, image URLs, attribution, Open Graph fallback, crawler behavior, and common troubleshooting steps.
What are Twitter Cards?
Twitter Cards are metadata tags in a page’s <head>. When someone shares a URL on X, its crawler reads those tags and builds a link embed with a title, description, and image.
A card is the resulting embed. The tags provide the values and URLs used to compose it.
A basic card looks like this:
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Example article title">
<meta name="twitter:description" content="A short summary of the page.">
<meta name="twitter:image" content="https://example.com/social-image.jpg">
The platform is now called X, but the protocol names remain twitter:card, twitter:title, twitter:description, and twitter:image. Calling these “X Cards” inside a WordPress SEO interface would make the setting less recognizable and less accurate.
Which Twitter Card tags does TSF output?
When Twitter Card output is enabled, TSF generates these tags when data is available:
| Tag | Purpose |
|---|---|
twitter:card |
Declares the embed layout, such as summary or summary_large_image. |
twitter:site |
Provides the website’s X handle for optional card attribution. |
twitter:creator |
Provides the author’s X handle for optional creator attribution. |
twitter:title |
Provides the embed title. |
twitter:description |
Provides the embed summary. |
twitter:image |
Provides the image URL crawlers fetch for the embed. |
twitter:image:alt |
Provides alt text for the embed image. |
TSF outputs only one twitter:image because X historically used one image per card. Additional candidates can make selection less predictable. Open Graph output can still include multiple images for platforms that support choosing between them.
Which card type should I use?
TSF supports the two card types that fit normal WordPress content:
| Card type | Best for | Image behavior |
|---|---|---|
summary |
Pages where the image should appear as a smaller thumbnail. | X crops the image to a square. |
summary_large_image |
Posts, products, and landing pages where the image should be prominent. | X displays a large landscape image. |
We recommend summary_large_image for most sites. It gives shared links more visual weight and works well with a standard social image.
TSF does not support App Cards or Player Cards. Those formats require app-store or media-player data; they are not regular SEO metadata for WordPress content.
What image should I use?
Use a page-specific image. Avoid reusing the same logo or generic fallback image everywhere unless no better image exists.
X documented these Twitter Card image limits:
- Summary Card: Use a square image. The minimum size was
144x144pixels. X crops this image to a square. - Summary Card with Large Image: Use a landscape image near a
2:1ratio. The minimum size was300x157pixels. - Maximum dimensions: Images could be up to
4096x4096pixels. - Maximum file size: Images had to be under
5MB. - Supported formats: JPG, PNG, WEBP, and GIF were supported. Animated GIFs used only the first frame.
- Unsupported formats: SVG was not supported.
- Alt text:
twitter:image:altaccepted up to420characters.
For real-world sharing, a 1200x630 image is a good default. It works well for Open Graph previews and still fits the large Twitter Card format.
TSF rejects image formats that major sharing platforms ignore, such as APNG, BMP, ICO, CUR, SVG, TIFF, and TIF. When TSF knows the WordPress attachment ID and the selected image is too large, it uses the largest acceptable generated image size instead.
How do Twitter Cards work with Open Graph?
Twitter Card tags and Open Graph tags describe much of the same data. X historically checked the Twitter-specific tag first, then fell back to the matching Open Graph tag when a supported Twitter tag was missing.
For example:
twitter:titlecould fall back toog:title.twitter:descriptioncould fall back toog:description.twitter:imagecould fall back toog:image.
TSF uses this relationship deliberately. When you leave a Twitter-specific title or description empty, TSF falls back to your Open Graph value, then to the generated SEO value. This prevents duplicate work while still allowing a separate X-specific title or description when you need one.
Where do I configure Twitter Cards in TSF?
Configure Twitter Cards in these WordPress settings:
- SEO Settings → Social Meta Settings → General: Enable or disable Twitter Card meta tag output.
- SEO Settings → Social Meta Settings → Twitter: Choose the default Twitter Card type and set fallback X account attribution.
- SEO Settings → Social Meta Settings → General → Social Image Settings: Choose a fallback image URL for embeds when a page has no better image.
- Post, page, term, homepage, and post type archive SEO settings: Override the social title, description, image URL, or card type for specific content.
- User profile settings: Set an author-specific X profile for creator attribution.
Global settings define defaults. Per-page settings override those defaults when a page needs a different social preview.
Do website and creator handles still matter?
The twitter:site and twitter:creator tags identify the website account and content creator account. X documented these fields as card attribution: attributed profiles could be followed or viewed directly from the card.
X does not expose this attribution reliably in current cards. TSF still outputs these tags when configured because they are harmless, standardized, and still part of the card metadata set. Do not expect them to change the visible preview every time.
Why does X show an old or broken preview?
X needs access to the page and image before it can build a card. If either URL is blocked, protected, redirected badly, or cached incorrectly, the card can fail.
Common causes:
- The page is blocked in
robots.txt: X historically respected robots rules. If the page is blocked, X cannot fetch the metadata. - The image is blocked: Hotlink protection, CDN rules, login walls, and robots rules can prevent the image from appearing.
- A cache serves old metadata: Page caches, CDN caches, and X’s own cache can keep an older title, description, or image around.
- Another SEO plugin outputs duplicate tags: Conflicting tags make crawler behavior unpredictable.
- The post on X contains uploaded media or multiple URLs: X decides which preview to show. Uploaded media can take priority over URL cards.
X documented a seven-day cache window for card content after a URL was shared. The current cache window is not clearly documented, but stale previews can persist for days. After changing metadata, purge your site and CDN caches. X refreshes the card on its own schedule.
How do I troubleshoot a missing Twitter Card?
Follow this order:
- View the page source. Confirm that
twitter:card,twitter:title,twitter:description, andtwitter:imageappear in the<head>. - Check the card type. Use
summary_large_imagewhen you expect a large image. - Open the image URL in a private browser window. The image must be public, fast, and accessible without cookies.
- Check the image format and size. Use JPG, PNG, WEBP, or GIF. Keep the file below
5MB. - Check
robots.txt. Make sure the page and image are not blocked from social crawlers. - Disable duplicate social metadata output. Only one plugin should output Twitter Card and Open Graph tags.
- Purge all caches. Clear your page cache, object cache, CDN cache, and any image optimization cache.
- Wait for recrawling. X controls when it refreshes card data.
If the tags in the page source are correct, TSF has done its job. The remaining issue is crawler access, image access, cache state, or X’s own preview system. Those parts sit outside WordPress and TSF.