- Why wouldn't my OG image show?
- Common reasons: relative URL instead of absolute, wrong dimensions (<200×200 fails on some), image not publicly accessible, or Facebook/Twitter cached the old version.
- Does it force a cache refresh?
- Can't from browser — use Facebook's Sharing Debugger (developers.facebook.com) or Twitter's Card Validator (cards-dev.twitter.com) to force-refresh their caches.
- What's the minimum image size?
- 1200×630 for Facebook/LinkedIn (1.91:1). 1200×675 for Twitter (16:9). Smaller images get upscaled and look bad.
- What if my image is dynamically generated?
- OG images from Next.js's `opengraph-image.tsx` or similar work fine. Just ensure the URL is absolute and the endpoint is publicly cacheable.