Skip to content
AICite

OpenGraph for AI-search citation cards

Perplexity, ChatGPT, and Google AI Overviews all build citation cards around your links — the little source chip with a thumbnail, title, and one-line description. This is which og:* tags they actually pull, which they ignore, and how to make sure your card gets clicked.

Why AI-search cares about OpenGraph

When Perplexity cites your page in an answer, it shows a citation card: a small preview chip with a thumbnail, title, hostname, and sometimes a one-line description. That card is how a user decides whether to click through to your actual page — or scroll past.

The card renderer needs three pieces of data: a headline, a one-sentence hook, and an image. It has three ways to get each:

  1. OpenGraph tags (og:title, og:description, og:image) — deterministic, machine-parseable, and the format every card renderer looks at first.
  2. HTML fallbacks (<title>, <meta name="description">, first <img>). Used when OpenGraph is missing — but the first <img> is often a logo or avatar, which makes for a terrible card.
  3. Model paraphrase. When both above fail, the model generates its own headline and summary from the page body. Slow, expensive, and unpredictable — often skipped.

The difference between path 1 and path 3 is roughly the difference between "gets clicked" and "gets skipped." Every AI-search-visible page should ship complete OpenGraph.

The copy-paste template

Paste inside <head> on every page. Swap in your own values. Every field is either required or high-signal.

<meta property="og:type" content="article" />
<meta property="og:site_name" content="Acme Corp" />
<meta property="og:title" content="How we cut latency 40% with edge caching" />
<meta property="og:description" content="A postmortem-style walkthrough of the caching-layer redesign and its measured impact on p95 latency." />
<meta property="og:url" content="https://acme.example/blog/edge-caching-latency/" />
<meta property="og:image" content="https://acme.example/og/edge-caching-latency.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Latency graph showing 40% drop after caching-layer rollout" />

<!-- Optional but cheap: Twitter Card fallback -->
<meta name="twitter:card" content="summary_large_image" />

Every field, explained

Tag Required? What AI card renderers use it for
og:image Critical Card thumbnail. Single biggest driver of click-through. Absolute HTTPS URL, 1200×630, under 200KB. Missing this and Perplexity often skips your card entirely.
og:title Required Card headline. Overrides the HTML <title>, useful when your <title> is SEO-stuffed (e.g. "Best Widget 2026 — Free Shipping — Acme Corp"). Write it as a clean human headline.
og:description Required Card subtitle / hover preview. One sentence. Written for a human deciding whether to click. Different from your meta description (which is for search-result snippets).
og:type Recommended article for blog posts and docs, website for hubs and landing pages, product for shop pages. Affects card layout — some renderers show a byline for article cards, none show one for website.
og:site_name Recommended Brand anchor. Especially important on subdomain-heavy sites (blog.acme.com, docs.acme.com) where the hostname alone doesn't identify the brand.
og:url Recommended Canonical URL for de-duplication. Matches the served URL exactly (trailing slash, casing). AI parsers use this to detect duplicate content across query-string variants.
og:image:width / og:image:height Optional Lets renderers reserve card layout space before the image loads. Small perceived-perf win, no correctness impact.
og:image:alt Recommended Accessibility text. AI parsers use it as the image caption when generating audio-first answers (voice assistants pulling from Google AI Overviews).

What each AI answer engine actually pulls

Engine Card thumbnail Card headline Card subtitle
Perplexity og:image → JSON-LD image → first <img> og:title → <title> og:description → model paraphrase
ChatGPT (browsing) og:image → favicon og:title → <title> og:description → meta description → model paraphrase
Google AI Overviews og:image → schema.org image <title> → og:title Model paraphrase (rarely uses og:description)
Claude (with tools) Typically no thumbnail (text-only cards) og:title → <title> og:description → model paraphrase

Bottom line: the same five tags — og:image, og:title, og:description, og:type, og:site_name — cover the essential rendering path for every citation card that matters today.

Verify it's actually parsed

  1. View source, find the tags. Open the page, view source, search for og:. Confirm every required tag is present and has a non-empty content attribute. Missing content attributes silently break parsing.
  2. Run the official OpenGraph debugger. opengraph.dev — paste your URL, see exactly what a card renderer receives. Flags missing tags, oversized images, unreachable image URLs.
  3. Curl as PerplexityBot. curl -A "PerplexityBot" https://yourdomain.com/some-page/ | grep 'og:' — proves the tags are server-rendered, not injected by JS after page load. Client-side hydration breaks AI-crawler previews.
  4. Check the og:image resolves. curl -I <og:image URL> must return 200, content-type: image/png or image/jpeg, and content-length under 200KB. 404s or WebP-in-jpeg-headers silently break every card.
  5. Run the free AICite audit. It flags missing OpenGraph tags, unreachable og:image, and mismatched og:url as part of the 13-signal AI-search grade.

The 5 mistakes that silently break AI citation cards

  • Relative og:image URLs. Every AI parser expects an absolute HTTPS URL. Relative URLs like /og.png either fail outright or resolve against the wrong base URL. Always https://yourdomain.com/og.png.
  • Injecting OpenGraph via JavaScript. React / Vue single-page apps that set document.head tags on route change are invisible to server-side card renderers. Server-side render (Next.js, Astro, Nuxt) or pre-render every page's <head>.
  • Single global og:image. Shipping the same generic company logo as the card thumbnail for every page cuts click-through roughly in half compared to per-page dynamic OG images. Even a simple template with the page title over a brand-coloured background beats one static logo.
  • Oversized og:image. Over 5MB and most card renderers time out and skip the thumbnail. Over 200KB and Perplexity's card sometimes falls back to the favicon. Target under 200KB — quality 80 JPEG or optimised PNG.
  • Mismatched og:url. Setting og:url to the non-trailing-slash version when your server redirects to trailing-slash (or vice versa) makes card renderers fetch the wrong URL. Match your served canonical URL exactly.

Check your site now

FAQ

Do I need per-page OG images or is one homepage image enough?

Per-page. The whole point of the citation card is to identify this specific page at a glance. One template with the page title text-overlaid on a brand background is a 30-minute build (or a 10-minute Cloudflare Workers dynamic OG image) and reliably lifts card click-through. A single logo used for every page is the most common OpenGraph mistake we see in audits.

What image format should I use for og:image?

PNG or JPEG. Not WebP or AVIF — Perplexity's and ChatGPT's card renderers still occasionally fail on modern formats. JPEG for photos, PNG for text-heavy template overlays. 1200×630, under 200KB, absolute HTTPS URL.

Does og:description replace meta description?

No. Different consumers. <meta name="description"> feeds classic Google search result snippets. og:description feeds social and AI citation cards. Ship both. They can be identical if you're constrained on time, but the ideal is two versions: one written for search snippets (keyword-rich) and one for cards (hook-y and human).

Does OpenGraph affect Google search ranking?

Not directly. Google uses OpenGraph for social-share previews and AI Overview source cards, not as a classical ranking signal. But card click-through in AI Overviews increasingly drives the traffic that used to come from position 1 — so skipping OG is effectively skipping the modern "top result."

Do OpenGraph tags work for images shared inside AI-generated PDFs / summaries?

Partially. When Perplexity or ChatGPT includes a citation link in a longer-form answer that a user then exports (to PDF, to email), the citation card is rendered once from OpenGraph at generation time. If your og:image URL later 404s, the exported PDF still shows the cached thumbnail — but the live link in a browser will show a broken card. Keep og:image URLs stable.

OpenGraph is the fourth of the four "files LLMs read" — llms.txt, robots.txt, sitemap.xml, and OG meta tags. Ship all four correctly and you've covered the vast majority of the AI-search readiness surface area. For the full 13-signal fix pack, see the AICite Pro Report ($24, 30 seconds).

Related: What is llms.txt? · robots.txt for AI crawlers · sitemap.xml for AI crawlers · JSON-LD Organization schema · State of AI-search 2026: 25 sites ranked · llms.txt vs robots.txt vs sitemap.xml.