Social preview · OG image broken
OG Image Not Showing
You designed the perfect og.png, shared the link, and got a blank card. The causes are always one of a few patterns: wrong host, missing tags, wrong size, or a stale social cache. Paste your URL — we check og:image, twitter:image, accessibility, and dimensions, then stamp CLEARED / HOLD / DENIED.
Why OG images do not show
These are the causes we see most often — ranked by frequency.
og:image URL is relative (not absolute)
/og.png without the full host. Social crawlers cannot resolve it. Next.js needs metadataBase to generate absolute URLs.
og:image points at *.vercel.app or staging host
metadataBase is not set to the production domain. The image URL is technically valid but crawlers may not access it, and the card links to the wrong origin.
og:image returns 404 or non-image content
The file was not deployed, or the path is wrong. Some platforms silently drop the card; others show a blank thumbnail.
og:image is too small (< 200×200 px)
Facebook, Twitter, and LinkedIn have minimum dimensions. Under 200px they fall back to a text-only card.
Social platform cache is stale
You fixed the OG image, but the platform cached the old version. Facebook caches for 30+ days; Twitter caches on first share.
Missing twitter:card meta
Twitter/X requires twitter:card to render any card. Without it, the tweet shows a bare link — even if og:image is correct.
Next.js OG image fixes
Fix the root cause — then clear the social caches.
app/layout.tsx — metadataBase + OG image
import type { Metadata } from 'next'
export const metadata: Metadata = {
metadataBase: new URL('https://yourdomain.com'),
openGraph: {
title: 'Your Product Name',
description: 'One-line value prop',
images: [{
url: '/og.png',
width: 1200,
height: 630,
alt: 'Your Product Name — tagline',
}],
},
twitter: {
card: 'summary_large_image',
title: 'Your Product Name',
description: 'One-line value prop',
images: ['/og.png'],
},
}After fixing: clear social caches
# Facebook Sharing Debugger
# https://developers.facebook.com/tools/debug/
# Twitter Card Validator
# https://cards-dev.twitter.com/validator
# LinkedIn Post Inspector
# https://www.linkedin.com/post-inspector/
# Steps:
# 1. Paste your URL in each tool
# 2. Click "Scrape Again" / "Fetch new information"
# 3. Verify the preview card shows your image
# 4. Re-share the link — the old cache is now replacedStill check by hand
- □Confirm og:image URL is absolute: https://yourdomain.com/og.png (not /og.png)
- □Verify the image file actually exists and returns 200 (curl -I the URL)
- □Use 1200×630 px (1.91:1 ratio) — works on all platforms
- □Clear social caches AFTER deploying the fix, not before
Related
- Open Graph checker — full OG + Twitter card scan
- Noindex checker
- robots.txt checker
- Website launch checklist
- Methodology
- Go-Live Clearance home