twitter:card type is explicitly set
Why it matters
Without an explicit twitter:card tag, Twitter/X selects the card type automatically based on available OG tags. This fallback produces inconsistent results: pages with large hero images may get a summary card (small thumbnail) instead of summary_large_image, and the card format can differ between share events as Twitter's heuristics change. The twitter:card type determines whether your link preview shows a prominent full-width image or a small inline thumbnail. Per the Twitter Cards spec, explicit configuration is the only way to guarantee card format. A page that should render with a large image card but falls back to a summary card shows a thumbnail that competes poorly in image-forward social feeds.
Severity rationale
High because the absence of an explicit twitter:card declaration puts card type selection under Twitter's control, producing inconsistent preview formats that may significantly underperform the intended design.
Remediation
Set twitter:card in the root layout as a default, then override per content type where needed:
// app/layout.tsx
export const metadata: Metadata = {
twitter: {
card: 'summary_large_image',
},
}
The summary_large_image type is appropriate for most content pages. Override with summary on utility pages like /login, /settings, and /404 where a large image card is not appropriate. This single root layout addition is the minimum required to pass this check.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Social Sharing Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · twitter-cards — Twitter Cards — Cards Markup Tag Reference
Taxons
History
- 2026-04-18·v1.0.0·Initial import from marketing-social-sharing·automated