Opens in a new tabSkip to content
Agent LighthouseAgent Lighthouse

    Searches the text of every published page. The evidence sources themselves are not in this index — search all of them on the trusted sources page.

    GitHub ↗
    Browse checks and page contents
    answer-readiness/core-open-graph

    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:image and names the crawler user-agent facebookexternalhit/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:url as 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