Social preview · Open Graph
Open Graph Checker
A broken share card is the fastest way to look unfinished on launch day. Paste the URL you will share — we check og:title, og:image, og:description and Twitter cards, then stamp CLEARED / HOLD / DENIED.
OG failures we catch
These make your Product Hunt, Twitter, or LinkedIn post look broken — even when the page itself works fine.
Missing og:title or og:image
Social platforms fall back to a plain link or blank card. Your carefully written headline and hero image never appear.
og:image returns 404 or wrong host
The path points to a staging bucket or *.vercel.app. You see it in your browser, but social crawlers get nothing.
og:image too small or wrong aspect ratio
Under 200×200 px some platforms drop the card entirely. 1.91:1 (1200×630) is the safe default.
No Twitter card meta (twitter:card / twitter:image)
Twitter/X falls back to a summary-without-image card. Your launch tweet looks like a bare link.
og:url or canonical points at preview domain
Shares attach to *.vercel.app instead of your real domain. Future shares and search signals fragment.
Next.js metadata fixes
Prefer the App Router metadata API over hand-written <meta> tags.
app/layout.tsx — OG + Twitter card
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 for social cards',
url: 'https://yourdomain.com',
siteName: 'Your Product Name',
images: [{ url: '/og.png', width: 1200, height: 630 }],
type: 'website',
},
twitter: {
card: 'summary_large_image',
title: 'Your Product Name',
description: 'One-line value prop for social cards',
images: ['/og.png'],
},
}Per-page OG override — app/about/page.tsx
import type { Metadata } from 'next'
export const metadata: Metadata = {
title: 'About Us — Your Product',
openGraph: {
title: 'About Us — Your Product',
description: 'What we build and why.',
images: [{ url: '/og-about.png' }],
},
}Still check by hand
- □Use Twitter Card Validator and Facebook Sharing Debugger after deploy
- □Make sure og:image is an absolute URL (not /og.png without the host)
- □Clear social caches if you update OG tags after the first share