OG Debug Checklist: 25-Point Pre-Launch Social Preview Audit
A complete checklist for debugging open graph tags before launch — covering og:image, og:title, twitter:card, CDN cache, HTTPS, and per-platform validation.
How to use this checklist
Run through this checklist before every major launch, content publish, or deploy that changes OG tags. Catching issues before you share saves the embarrassment of announcing something and having followers see a broken or blank preview.
Use OGFixer to automate the verification across all platforms in a single scan.
Section 1: Tag presence (5 checks)
- og:title present — Check
view-source:or DevTools for<meta property="og:title">. Should be 60–90 chars max. - og:description present — Should be 150–200 chars, compelling, specific.
- og:image present with absolute URL — Must start with
https://, not a relative path like/og.png. - og:url present and matches canonical — Should match the page's canonical URL. Helps platforms deduplicate shares.
- og:type set correctly — Use
articlefor blog posts,websitefor everything else. Missing type defaults towebsite— fine in most cases.
Section 2: OG image (7 checks)
- Image dimensions: 1200×630px is the universal standard. Check with DevTools or
curl -Ion the image URL for content-length. - og:image:width and og:image:height declared — Without these, Facebook and LinkedIn may not display the image correctly.
- Image is publicly accessible: Run
curl -o /dev/null -w "%{http_code}" https://yoursite.com/og.png. Must return 200 with no auth redirect. - Image is served over HTTPS: WhatsApp, iMessage, and some platform scrapers refuse HTTP image URLs.
- File size under 8MB: Most platforms cap og:image at 8MB. Twitter recommends under 5MB. Compress to WebP if needed.
- CORS headers on image: Run
curl -I https://yoursite.com/og.pngand check forAccess-Control-Allow-Origin: *. Required for some preview services. - No auth/cookie wall on image URL: Social scrapers don't send auth headers. If your image is behind a login or IP allowlist, it won't render.
Section 3: Twitter/X cards (4 checks)
- twitter:card present — Without this, Twitter shows a tiny square thumbnail. Use
summary_large_imagefor most pages. - twitter:title and twitter:description present — Twitter can fall back to og:title/og:description, but explicit Twitter tags are more reliable.
- twitter:image present and distinct if needed — Twitter recommends a 2:1 ratio image (1200×600). If your og:image is 1200×630, it's close enough.
- Domain not blocked by Twitter: Twitter occasionally blocks domains from showing cards. Test at
cards-dev.twitter.com/validator.
Section 4: Cache and freshness (5 checks)
- Cache headers on the HTML page: Check
Cache-Controlon your page response. If it's too long (e.g.,max-age=86400), platforms may cache stale OG data. - Cache headers on the OG image: Platforms cache OG images. If you update the image, use a new filename or add a cache-busting query param.
- Force re-scrape if updating existing URL: Use Facebook Sharing Debugger, LinkedIn Post Inspector, or Twitter Card Validator to force a fresh scrape.
- CDN purge if applicable: If using Cloudflare, Fastly, or another CDN, purge the page and image URLs after updating OG tags.
- Deployment cache: On Vercel, force a re-deploy if ISR pages are returning stale OG metadata.
Section 5: Platform-specific validation (4 checks)
- Facebook: Test at
developers.facebook.com/tools/debug/. Click "Scrape Again" to refresh cache. - Twitter/X: Test at
cards-dev.twitter.com/validator. Cards must be approved for new domains (takes 1-2 minutes). - LinkedIn: Test at
linkedin.com/post-inspector/. Fetches live — no cache, but results may take 60 seconds. - Slack/Discord: Paste the URL in a test channel. If preview doesn't appear after 10 seconds, check if your page returns the OG tags server-side (not client-side).
Quick diagnosis cheatsheet
# Check OG tags on any URL (server-side)
curl -s https://yoursite.com/page | grep -E 'og:|twitter:'
# Check HTTP response code of OG image
curl -o /dev/null -w "%{http_code}" https://yoursite.com/og-image.png
# Check image dimensions
curl -s https://yoursite.com/og-image.png | identify -
# (requires ImageMagick)
# Check cache headers on page and image
curl -I https://yoursite.com/page | grep -i cache
curl -I https://yoursite.com/og-image.png | grep -i cache
# Force Facebook re-scrape via API
curl -X POST "https://graph.facebook.com/?id=YOUR_URL&scrape=true&access_token=TOKEN"Run the automated version of this checklist
OGFixer runs all 25 checks automatically — paste your URL and get a scored report showing exactly what's missing or broken across every platform.
Run OG audit free →