Core Open Graph tags
What it checks
One social-meta diagnostic for the head of ctx.pages[0], with a scored half and an informational half.
Scored — Open Graph. The four core properties og:title, og:description, og:image, og:url must be present and non-empty; og:site_name (absorbed from 4.8) is recommended and can only produce a warn.
| State | Result |
|---|---|
all four core tags present, og:site_name usable |
pass |
all four core tags present, og:site_name missing or a placeholder |
warn, priority low |
| one to three core tags missing | warn, priority high |
| all four core tags missing | fail, priority high |
A placeholder og:site_name is treated as missing. A placeholder is an unrendered template token — {{ … }}, {% … %}, ${…}, <% … %> — or one of the audit’s own sample strings: “Your Site Name”, “Site Name”, “SiteName”, “Your Website”. This is the false positive 4.8’s review names first.
Informational — Twitter Cards. twitter:card, twitter:title, twitter:description and twitter:image are reported in the found block, each labelled with the og:* property it falls back to. These rows never change the status, the score or the priority: no consumer is documented to read a twitter:* tag that has an og:* equivalent.
Why it matters
Named link-preview crawlers — facebookexternalhit and Slack’s unfurler — fetch a shared URL and read og:title, og:description, og:image and og:url to build the preview card. When those tags are absent, the crawler falls back to heuristic guesses at the title, text and image.
Evidence
- Meta’s webmaster guide instructs sites to add
og:url(“The canonical URL for your page”),og:title,og:description,og:imageand names the crawler user-agentfacebookexternalhit/1.1; without markup the crawler “uses internal heuristics to make a best guess” — developers.facebook.com/…/webmasters (verified 2026-08-21) - Slack documents the same consumption for message unfurls: “Slack crawls the URL, looks for common OpenGraph and X (formerly known as Twitter) Card metadata, and renders some micro-approximation of the content.” — docs.slack.dev/…/unfurling-links-in-messages (verified 2026-08-21)
- The Open Graph protocol itself defines
og:title,og:type,og:image,og:urlas the required basic metadata and names Facebook as the originating consumer — ogp.me (verified 2026-08-21)
Limits
The proven consumer path is social/messaging link previews, not AI answer generation — the audit’s framing (“agents cannot display proper titles… in AI-generated responses”) has no source. OpenAI’s crawler documentation covers only robots.txt and user agents, and mentions no Open Graph tags — developers.openai.com/…/bots (verified 2026-08-21). Google’s AI-features page likewise never mentions Open Graph — developers.google.com/…/ai-features (verified 2026-08-21). And Google’s supported-meta-tags list includes no og:* property at all, with the note that “Google will ignore meta tags that it doesn’t support” — developers.google.com/…/special-tags (verified 2026-08-21). Note also that the grade attaches to resolvable values: the vendor doc’s og:image contract is a URL the crawler can fetch, which the current non-emptiness check does not enforce.
How it scores
Two vendors document, by crawler name, that they read exactly these properties, and the fallback behavior when they are missing is stated in the vendor doc itself.
Sources
- Meta — sharing webmaster guide — Meta, vendor-doc (verified 2026-08-21)
- Slack — unfurling links in messages — Slack, vendor-doc (verified 2026-08-21)
- The Open Graph protocol — Open Graph protocol (originated at Facebook), Open Web Foundation Agreement v0.9, spec (verified 2026-08-21)
- OpenAI crawlers and user agents — OpenAI, vendor-doc (verified 2026-08-21)
- AI features and your website — Google Search Central, vendor-doc (verified 2026-08-21)
- Meta tags and HTML attributes that Google supports — Google Search Central, vendor-doc (verified 2026-08-21)