Open Graph Tags for AI Answer Cards: A Complete Specification
AI answer engines including Perplexity, ChatGPT Search, Bing Chat, and Google AI Overviews reuse the Open Graph protocol to render link previews, citation cards, and source thumbnails. This spec defines the required and recommended OG tags, exact value formats, image requirements (1200x630 px, <=5 MB, absolute HTTPS URL), validation steps, and CDN delivery rules so AI bots can render your card correctly.
TL;DR
Open Graph (OG) was built for Facebook in 2010 but is now the de-facto metadata layer that AI answer engines read when they render link cards inside citations, source rails, and answer panels. Ship six tags on every indexable page — og:title, og:description, og:image, og:url, og:type, and og:site_name — use a 1200x630 absolute-URL image under 5 MB, and unblock the AI crawler user-agents listed below. Those defaults alone keep your brand from appearing as an unstyled, image-less fallback in AI answer cards.
What an "AI answer card" is
An AI answer card is the rectangular link preview that appears inside or alongside a generative answer when an AI engine cites your page. It is rendered from a small bag of metadata — title, description, image, URL, and site name. AI engines do not invent a new metadata format: they read the Open Graph tags already in the HTML head, falling back to the HTML
The cards appear in:
- Perplexity source list, the "Sources" rail, and shared answer pages
- ChatGPT Search inline citations and the right-side citation pane
- Bing Chat / Copilot answer footers and inline link previews
- Google AI Overviews "From sources across the web" cards
- You.com, Yahoo Scout, and other visual answer engines
When OG metadata is absent or broken, the card degrades to a generic favicon plus a truncated meta description — reducing brand recognition, click-through rate, and downstream re-citation.
Why OG is now an AI-readability concern
The Open Graph protocol was designed to "turn web pages into graph objects" for Facebook (ogp.me). Two shifts moved it into the AI-readability stack:
- Crawler reuse. AI training and live-retrieval crawlers (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended) parse the same HTML head as Facebook's scraper. OG tags ship in that head, so they get ingested for free.
- Card-rendering convergence. AI front-ends adopted the social-card pattern (title + description + 1200x630 image) because users already recognize it. Reusing OG tags is cheaper than inventing a new schema.
Prerender.io's own documentation confirms that OG tags directly influence how LLMs interpret content for previews and how AI front-ends render link cards.
Required tags (the four ogp.me-mandated)
Every page MUST include these four tags in the document
. Missing any of them causes Facebook's debugger to error and most AI crawlers to fall back to brittle heuristics.| Tag | Required value | AI-card role |
|---|---|---|
| og:title | Plain text, <=60 chars recommended | Card headline |
| og:type | website, article, product, etc. | Card layout selection |
| og:image | Absolute HTTPS URL to image | Card thumbnail |
| og:url | Canonical absolute URL of the page | Card link target & dedupe key |
<meta property="og:title" content="Open Graph Tags for AI Answer Cards: A Complete Specification" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://geodocs.dev/og/open-graph-ai-answer-cards-spec.jpg" />
<meta property="og:url" content="https://geodocs.dev/technical/open-graph-tags-ai-answer-cards-spec" />Recommended tags (the AI-card minimum-viable set)
Add these in addition to the four required tags. They are not in the ogp.me MUST list, but every major AI card renderer reads them.
| Tag | Recommended value | Notes |
|---|---|---|
| og:description | 120-160 chars | Card body text. Must match the page's actual answer-first content. |
| og:site_name | Brand name | Used as the card's "publisher" badge. |
| og:locale | en_US, vi_VN, etc. | Language hint for multilingual AI engines. |
| og:image:alt | Plain text describing the image | Accessibility plus multimodal AI grounding. |
| og:image:width | 1200 | Lets crawlers pre-allocate layout. |
| og:image:height | 630 | Same. |
| og:image:type | image/jpeg or image/png | Avoid surprise format mismatches. |
| article:published_time | ISO-8601 datetime | Used by AI for freshness ranking. |
| article:modified_time | ISO-8601 datetime | Same. |
| article:author | URL or name | Authorship signal for E-E-A-T. |
Twitter Card alignment
Twitter (now X) uses a parallel twitter: namespace. Several AI engines — notably Perplexity and Bing Chat — fall back to twitter: tags when OG is missing or invalid.
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Open Graph Tags for AI Answer Cards" />
<meta name="twitter:description" content="Specification of the OG tags AI answer engines read for citation cards." />
<meta name="twitter:image" content="https://geodocs.dev/og/open-graph-ai-answer-cards-spec.jpg" />Rule of thumb: keep twitter: values identical to the og: equivalents. Divergence creates inconsistent cards across engines.
Value-format rules
og:title
- Plain text, no HTML.
- Target 50-60 characters; some AI cards truncate at 60.
- Should be the canonical answer-first headline. Avoid clickbait — AI engines penalize mismatch with body content.
- Must match (or be a strict superset of) the H1 and
.
og:description
- 120-160 characters. Below 90 looks empty in cards; above 200 truncates.
- Lead with the answer. AI engines extract this directly into snippet hover-cards.
- Avoid emoji and trailing ellipses.
- Must be unique per URL — duplicate descriptions across pages cause AI engines to merge or drop cards.
og:image (the most-broken tag)
The image is the single most fragile OG field. Every major AI card renderer enforces these constraints (sources: opengraphdebug.com, ogimage.gallery, prerender.io):
- Dimensions: 1200 x 630 px (1.91:1 aspect ratio). Minimum 600 x 315 px.
- File size: Under 5 MB. Facebook's hard cap is 8 MB; smaller is safer.
- Format: JPG (default) or PNG (when transparency is needed). Avoid SVG, GIF, AVIF, and WebP — crawler support is inconsistent.
- URL: Absolute HTTPS URL. Relative URLs silently fail in most card renderers.
- Stability: Stable path. Cache-busting query strings (?v=123) work for invalidation but should be set deliberately.
- Accessibility: The crawler must reach the URL with no auth, no cookies, and no JavaScript rendering required.
- Render speed: Serve from a CDN edge. Slow image fetches silently time out in card renderers.
og:url
- Must equal the page's canonical URL exactly — same protocol, host, path, trailing-slash policy, and case.
- No tracking parameters. No fragment identifiers.
- Must match the value. Mismatches cause AI engines to deduplicate to the wrong URL.
og:type
- Use article for documentation, blog posts, and reference pages.
- Use website for the homepage and section landing pages.
- Use product for product detail pages (enables price/availability sub-tags).
- Avoid book, music.song, etc. unless the type genuinely matches.
Crawler unblocking (mandatory)
OG tags are useless if the AI bot cannot fetch the page or the image. Audit robots.txt and CDN/WAF rules for these user-agents:
| User-agent | Operator | Use |
|---|---|---|
| GPTBot | OpenAI | Training |
| OAI-SearchBot | OpenAI | ChatGPT Search live retrieval |
| ChatGPT-User | OpenAI | ChatGPT browsing tool |
| PerplexityBot | Perplexity | Indexing |
| Perplexity-User | Perplexity | Live retrieval |
| ClaudeBot | Anthropic | Training |
| Claude-Web | Anthropic | Live retrieval |
| Google-Extended | Gemini training | |
| Googlebot | AI Overviews retrieval | |
| Bingbot | Microsoft | Bing Chat / Copilot |
| FacebookExternalHit | Meta | Card scraping |
| Twitterbot | X | Card scraping |
| LinkedInBot | Card scraping |
Block intentionally — but if you want AI answer-card visibility, you must allow at least the live-retrieval bots and the OG-image path. See robots.txt for AI Crawlers for a complete policy template.
Validation workflow
Before claiming OG compliance, validate against four debuggers and one in-house check:
- Facebook Sharing Debugger (developers.facebook.com/tools/debug) — flags missing required tags and image fetch errors.
- LinkedIn Post Inspector — strict on absolute URLs and image dimensions.
- X / Twitter Card Validator — verifies the twitter: fallback path.
- opengraph.xyz or opengraphdebug.com — multi-platform preview.
- Live AI render check — paste the URL into Perplexity, ChatGPT Search, and Bing Chat and confirm the rendered card matches your OG values. Engines cache aggressively; force a re-fetch with a query-string version bump if needed.
A passing audit means: zero errors in all four debuggers, image renders within 2 seconds, and title and description render without truncation in the AI front-end.
CDN and rendering rules for JS-heavy sites
Single-page apps (React, Vue, Angular) often inject OG tags client-side. AI crawlers do not execute JavaScript reliably. Three viable patterns:
- Server-side rendering (SSR). Inject OG tags during the server response. Default for Next.js, Nuxt, SvelteKit, and Remix.
- Static generation (SSG). Build OG tags at deploy time. Default for Astro, Hugo, and Jekyll.
- Prerender service. Detect crawler user-agents at the edge and serve a prerendered HTML snapshot (e.g., Prerender.io, Cloudflare Browser Run). Required only when SSR/SSG is not feasible.
Whichever pattern you choose, the test is: curl -A "GPTBot" https://yourdomain.com/page | grep og: should return your full OG tag set with no JavaScript execution.
Anti-patterns
- Reusing the same og:image site-wide. Every page should have a unique image. AI engines deduplicate cards by image hash.
- Logo-only OG images. AI cards with logo-only images get filtered out of visual answer engines (Yahoo Scout, Google AI Overviews shopping cards).
- Description copied from verbatim. Differentiate — og:description should lead with the answer; can be more SEO-keyword-heavy.
- Localized OG tags injected via JS. AI crawlers will see the default-locale fallback. Use SSR with og:locale:alternate instead.
- Redirect chains on og:url or og:image. Each hop is a chance for the crawler to time out.
Relationship to structured data
OG tags and JSON-LD (structured data) are complementary, not redundant:
- OG defines how the card is rendered.
- JSON-LD defines what the page is (Article, Product, FAQPage, HowTo).
AI engines use both. Ship both. Keep og:title ~ schema:headline, og:description ~ schema:description, og:image ~ schema:image, and og:url ~ schema:url. Drift between the two is a high-confidence quality signal that drops citations.
See also JSON-LD for AI Search: Complete Guide.
Reference: minimal compliant head block
<head>
<title>Open Graph Tags for AI Answer Cards: A Complete Specification</title>
<meta name="description" content="Specification of the Open Graph tags AI answer engines read for citation cards." />
<link rel="canonical" href="https://geodocs.dev/technical/open-graph-tags-ai-answer-cards-spec" />
Implementation checklist
- [ ] All four required OG tags present on every indexable page
- [ ] og:image is 1200x630 px, <=5 MB, absolute HTTPS URL, JPG or PNG
- [ ] og:url matches exactly
- [ ] og:description is 120-160 chars, unique per URL, answer-first
- [ ] twitter:* mirror set in place
- [ ] OG tags rendered server-side or pre-rendered for crawler user-agents
- [ ] AI bot user-agents (GPTBot, PerplexityBot, ClaudeBot, OAI-SearchBot, etc.) unblocked in robots.txt and CDN
- [ ] Facebook, LinkedIn, X, and opengraph.xyz debuggers all clean
- [ ] Live render verified in Perplexity, ChatGPT Search, and Bing Chat
- [ ] OG values aligned with JSON-LD Article properties
FAQ
Q: Do AI engines actually read Open Graph tags?
Yes. Bing Chat, Perplexity, ChatGPT Search, and Google AI Overviews all parse the document
and reuse OG fields to render citation cards. When OG is missing, they fall back to the HTMLQ: What is the single most important OG tag for AI answer cards?
og:image. Title and description fall back gracefully to other tags, but a missing or broken image leaves the card visually empty — the largest single drop in click-through rate. A 1200x630 JPG at an absolute HTTPS URL under 5 MB solves roughly 90% of card-rendering issues.
Q: Should og:title match the page exactly?
Not strictly. og:title is optimized for the social/answer card;
Q: Do I still need twitter: tags if I have OG tags?
Yes. X / Twitter requires twitter:card to opt into large-image cards, and several AI engines fall back to twitter: when OG is malformed. Mirror the values — do not duplicate the markup unnecessarily.
Q: How often should I update og:image?
When the page's core message changes. AI engines cache OG images aggressively (often 7-30 days). To force a re-fetch, change the image URL (append ?v=YYYYMMDD) and run the page through the Facebook debugger.
Q: Can I use a dynamically generated OG image?
Yes — but the URL must be stable per page and reachable without authentication. Common patterns include edge functions (Vercel OG, Cloudflare Browser Run), build-time screenshots, and templated SVG-to-PNG conversion. Cache the output at the CDN.
Sources
- The Open Graph protocol — https://ogp.me/ — canonical specification.
- Open Graph Image Requirements — https://opengraphdebug.com/posts/og-image-requirements — image format and size constraints.
- How Open Graph Tags Impact LLM Training Data — https://prerender.io/blog/how-open-graph-tags-impact-llm-training-data/ — AI crawler reuse of OG.
- Will AI Summarize Your Page Correctly? — https://fairwaydigitalmedia.com/fullmonitor_metatag_resourcecenter — LLM card rendering best practices.
- Open Graph and Social Meta Tags for AI Visibility — https://www.surfaceable.io/blog/open-graph-social-meta-tags-ai-visibility — interaction with AI systems.
- Open Graph Meta Tags — https://ahrefs.com/blog/open-graph-meta-tags/ — implementation reference.
Related Articles
404 Page AI Crawler Handling: Avoiding Citation Loss During Migrations
Migration playbook for keeping AI citations during URL changes — hard 404 vs soft 404, 410 Gone, redirect chains, sitemap cleanup, and refetch monitoring.
Accept-Encoding (Brotli, Gzip) for AI Crawlers
Specification for serving Brotli, gzip, and zstd to AI crawlers via Accept-Encoding negotiation: which bots support which codecs, fallback rules, and Vary handling.
HTML semantic structure for AI readability: headings, lists, and tables
Reference for semantic HTML that AI systems read well: heading order, lists, tables, definition patterns, and the anti-patterns that cause AI to extract the wrong answer.