og: vs twitter: meta tags: why you need both and how they interact
Open Graph (og:) tags are the standard, originated by Facebook and now supported by LinkedIn, Discord, Slack, WhatsApp, and most other platforms. Twitter has its own twitter: tags but will fall back to og: equivalents if the twitter: versions are missing. The fallback chain is: twitter:title → og:title → <title>. twitter:description → og:description → <meta name='description'>. twitter:image → og:image.
How this is calculated
If you only have og: tags, Twitter will usually render a reasonable card. But the fallback isn't 100% reliable: Twitter sometimes fails to fetch og:image if the dimensions aren't 1.91:1 or 1:1, and it won't automatically choose summary_large_image just because your og:image is large. Adding explicit twitter: tags gives you control over how your content appears specifically on Twitter. The minimum set: og:title, og:description, og:image, og:url, og:type (for Facebook and general purpose), plus twitter:card, twitter:title, twitter:description, and twitter:image (for Twitter-specific control).
Verdict
Always include both og: and twitter: tags. It's an extra 4 lines of HTML and guarantees your previews look correct on every platform. Set twitter:card to summary_large_image for content pages and let the twitter: tags mirror the og: tags for consistency.
