Skip to main content

Open Graph Debugger

What it does

The Open Graph Debugger parses pasted page HTML, extracts every <meta property="og:..."> and <meta name="twitter:..."> tag, renders the preview cards that Facebook, LinkedIn, and X will show, and flags missing required tags by platform. It works on the HTML actually being served — including all the cases where the rendered tag set is different from what your template’s source code suggests.

Common situations

A page is sharing on Facebook with a wrong or missing image. The OG image meta tag in your template looks correct, but something in the rendered HTML is different. Paste the live page’s HTML into the debugger; the report shows exactly which tags are present, what values they hold, and which platform-specific tags are missing.

You are migrating a site and want to verify Open Graph tags are still correct on the new platform before launch. Paste each key page’s HTML, confirm every tag is intact, and the previews render as expected. This catches silent template breakage that Search Console will not flag for weeks.

A LinkedIn share is showing the wrong title or no description, but Facebook is fine. LinkedIn is stricter about tag completeness in some edge cases and ignores fallback chains that Facebook honours. The debugger shows what each platform will actually render.

You are auditing a competitor’s social presence to understand why their shared posts look polished while yours look generic. The debugger shows their full tag set; the gap between theirs and yours is usually missing image dimensions, missing site_name, or no twitter:card declaration.

A WordPress plugin update or theme change has silently broken Open Graph output. The debugger flags missing tags fast, before the next campaign launch when the broken sharing actually matters.

What you need to know

Open Graph (OG) is Facebook’s protocol from 2010, now the de-facto standard read by Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage, Telegram, Mastodon, Microsoft Teams, and most other platforms that render link previews. Twitter Cards is X’s parallel vocabulary — structurally similar, but using name="twitter:..." attributes instead of property="og:...".

The required tags by platform:

Facebook (and LinkedIn) require og:title, og:description, og:image, og:url, and og:type. Without og:image, no preview card; without og:url, the share gets a generic URL display rather than a proper card. The debugger flags missing required tags clearly.

Twitter / X requires twitter:card (the variant — summary, summary_large_image, app, or player). For summary_large_image (the most common variant), twitter:image is required. Twitter falls back to OG tags when Twitter-specific ones are absent, so a page with only OG and no Twitter tags will render — usually as the smaller summary card regardless of intent.

Image dimensions are the most common silent failure. Facebook recommends 1200×630 (1.91:1 ratio); below 600×314 the image is rejected and the card falls back to a no-image variant. Twitter’s summary_large_image wants the same 1200×630 ratio. The debugger reports the dimensions if they are declared in the tags (og:image:width, og:image:height); otherwise the image’s actual dimensions can only be checked by fetching the image, which the debugger does not do automatically.

Caching is the biggest source of “I changed my OG tags but the preview is still wrong” complaints. Facebook caches OG data for 24+ hours; LinkedIn caches for around a week; Twitter caches for the duration of a tweet’s life. Each platform has a debugger UI for forcing a cache refresh — Facebook’s Sharing Debugger, LinkedIn’s Post Inspector. After updating tags, run the page through both before announcing.

The debugger does not fetch URLs — it works on pasted HTML only. This is intentional: it keeps the tool fast, free of CORS or fetch-rate concerns, and able to inspect HTML you have on disk before publishing it. To debug live URLs, view the source in your browser and paste the head section.

Frequently asked questions

Why does my updated OG image not appear in shares?

Caching. Facebook holds OG data for 24+ hours, LinkedIn for around a week, and most other platforms for at least 24 hours. Use Facebook’s Sharing Debugger and LinkedIn’s Post Inspector to force a refresh after changing tags.

What’s the difference between og:image and twitter:image?

Same purpose, different vocabularies. og:image is Open Graph (Facebook, LinkedIn, etc.); twitter:image is X-specific. If twitter:image is missing, X falls back to og:image. Setting both gives you per-platform control if you need different images.

Do I need both OG and Twitter Card tags?

Yes if you want fine control on X. Without Twitter Card tags, X falls back to OG and usually renders the smaller summary card regardless of your intent. With twitter:card set explicitly to summary_large_image, X renders the full-width hero card.

What’s the right image size?

1200×630 (1.91:1). Works for Facebook, LinkedIn, and Twitter summary_large_image. Smaller works but renders smaller; below 600×314, Facebook may not show an image at all.

Why does iMessage / WhatsApp / Slack show no preview?

Either the page is blocking those user-agents in robots.txt (each platform crawls with a distinct UA), the OG tags are missing, the page returns non-200, or the page is behind authentication. iMessage in particular requires the page to be publicly reachable and to respond quickly.

Are property=og: and name=og: equivalent?

Technically OG uses property=; Twitter uses name=. Some templates emit name="og:title" instead of property="og:title" — most platforms parse both, but the spec says property=. Use property= for OG and name= for Twitter.

Why does my Facebook share show a low-resolution image?

Facebook scales OG images down to fit its display, which is fine. If the image looks pixelated, the source is too small — supply at least 1200×630, ideally 1200×630 exactly to avoid scaling artefacts.

Can I have multiple og:image tags?

Yes — Facebook accepts multiple og:image declarations and usually picks the first valid one. Some platforms get confused by multiple images; the safest pattern is one og:image per page.

Common problems

Problem: Debugger shows tags are present but Facebook is still ignoring them.

Facebook’s cache is the issue. Run the URL through the Sharing Debugger and click “Scrape Again” — that flushes Facebook’s cache and reprocesses the page. The debugger here shows what is in the HTML; Facebook’s cache may have older data.

Problem: og:image dimensions are correct but the image renders differently across platforms.

Each platform crops to its own ratio. Facebook crops to 1.91:1 for the link preview; Twitter summary crops to 1:1; Twitter summary_large_image keeps 1.91:1. If a 1200×630 image is being shown letterboxed somewhere, that platform is using a different aspect for that card type.

Problem: Tags are correct in the HTML but not appearing in shares.

The page might be returning different content to Facebook’s bot than to humans. Test by curling the URL with User-Agent: facebookexternalhit/1.1; the response should match what you see in the browser. Cloudflare’s Bot Fight Mode and similar features sometimes serve challenges to crawlers.

Problem: og:url has the wrong canonical.

Common when the og:url meta tag is hard-coded in the template instead of derived from the actual page URL. The fix is to set og:url dynamically from the canonical URL — they should always match.

Problem: twitter:card is set to summary_large_image but Twitter renders the small summary card.

Either twitter:image is missing, the image URL returns a 404, or the image is too small (below 300×157). Twitter falls back to summary card silently when the large card cannot render.

Tips

  • Always include all four required OG tags: title, description, image, url. Plus og:type and twitter:card. Plus an image at least 1200×630.
  • Test on Facebook’s Sharing Debugger and LinkedIn’s Post Inspector before announcing major content. Both will refresh their caches and show the rendering before real users see it.
  • Use a dedicated social image where it matters — the page’s hero image is often optimised for the page layout, not for the social-card aspect ratio.
  • Slack, Discord, iMessage, and WhatsApp all read OG tags. If they are showing no preview, OG tags are usually the issue.
  • Open Graph affects shares but not search rankings. Don’t conflate the two — these tags are about presentation, not ranking.

Related tools in this suite

The natural pairing is the Open Graph & Twitter Card Generator — when the debugger surfaces missing or wrong tags, the generator is where you build the corrected set. The Page SEO Audit covers OG and Twitter tag presence as part of the broader page report.

What this looks like at scale

For a single landing page, hand-editing OG tags is fine. For a content site, OG should be templated — title from the post, description from the excerpt, image from a featured-image field, URL from the canonical. The WP Beacon Plugin audits OG metadata across every page on every visit and flags missing or inconsistent values automatically.

Take it further

If a content set has inconsistent or missing OG metadata across many pages, the fix is templated. Start a conversation about an audit and remediation pass.