social
Add an Open Graph image
MetricSpot checks for an og:image meta tag. Without one, links to your page render as bare URLs on Facebook, LinkedIn, Slack, X, iMessage, and WhatsApp.
What this check does
Looks for <meta property="og:image" content="..."> in the page <head>. The check fails when the tag is missing, when the URL is relative (must be absolute), or when the image returns a non-200 status code.
Why it matters
The OG image is the single biggest visual element of a shared link card. Facebook, LinkedIn, Slack, Discord, iMessage, WhatsApp, Telegram, Mastodon, Bluesky, and most RSS readers all render it the same way: a card with the image on top and title/description below.
A link with a sharp 1200×630 image gets clicked several times more often than the same link with no image. Bare-URL fallbacks look broken — most users assume the page is dead.
The OG image also feeds Google’s “About this result” panel and AI search citation cards, so missing it is an SEO and AI-discoverability problem too, not just a social one.
How to fix it
Put an absolute URL to a 1200×630 PNG or JPG in the page <head:
<meta property="og:image" content="https://example.com/og/home.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="MetricSpot home page screenshot">
The :width, :height, and :alt sub-tags are optional but improve rendering on slow connections and accessibility for screen readers.
Size rules (Facebook’s spec — every other platform follows it):
- Aspect ratio 1.91:1 (1200×630 is the canonical size).
- Minimum 600×315 — anything smaller renders as a small square instead of a large card.
- Maximum 5 MB file size.
- Use PNG for text-heavy designs, JPG for photos.
Dynamic OG images — generate a unique image per post automatically:
- Vercel OG Image —
@vercel/og, JSX → PNG at the edge. - Astro —
astro-og-canvasorsatorifor runtime generation; bake intodist/og/*.pngat build time. - WordPress — Yoast Premium, Rank Math, or a plugin like “WP OG Image Auto” overlay the post title on a template.
- Cloudinary / Imgix — text-overlay transformations on a base template image.
WordPress — set the post’s featured image, and Yoast/Rank Math will use it as og:image automatically.
Test before shipping — paste the URL into Facebook’s Sharing Debugger and LinkedIn’s Post Inspector. Click “Re-scrape” to refresh the cache after changes.
Frequently asked questions
Why does my image not show up even though I added the tag?
Three usual suspects: (1) the URL is relative (/og.png) instead of absolute (https://example.com/og.png) — most platforms require absolute, (2) the image returns 404 or 500, (3) the platform is showing a cached preview from an earlier version. Run the URL through Facebook’s debugger and re-scrape.
Do I need a different image for Twitter/X?
Not unless you want one. X falls back to og:image if no twitter:image is set, but twitter:card should be summary_large_image to get the big card layout. See Twitter Card tags.
What if my page is dynamic and content changes?
Generate a new image at build time (Astro/Next.js — astro-og-canvas, @vercel/og) or at request time (edge functions). For ecommerce, the product page should use a product photo. For blog posts, a templated card with the post title.
Sources
Last updated 2026-05-11