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 article for blog posts, website for everything else. Missing type defaults to website — fine in most cases.

Section 2: OG image (7 checks)

  • Image dimensions: 1200×630px is the universal standard. Check with DevTools or curl -I on 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.png and 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_image for 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-Control on 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 →