Open Graph tags: the complete reference

Open Graph tags are the <meta property="og:…"> lines that tell Facebook, LinkedIn, Slack, Discord, WhatsApp and (with a few twitter: additions) X how to draw your link. Here is every tag that matters, and how crawlers actually use them.

The minimum set for every page

Six tags give you a good card on every major platform. The Open Graph protocol (ogp.me) marks the first four as required; the last two fill real gaps.

Put them in the server-rendered HTML. Tags added by client-side JavaScript are never seen by crawlers.

Or skip the typing and use the generator.

<meta property="og:title" content="How we cut deploy time in half" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://example.com/og.png" />
<meta property="og:url" content="https://example.com/blog/deploys" />
<meta property="og:description" content="Five CI changes…" />
<meta name="twitter:card" content="summary_large_image" />

Basic tags

TagWhat it doesExample value
og:titleThe title of the page as it should appear in the card. Required.How we cut deploy time in half
og:typeThe kind of object: website, article, product, profile, video.movie, music.song, book… Required; defaults to website.article
og:imageAbsolute URL of the image to show. Required.https://example.com/og.png
og:urlThe canonical URL of the page; share counts group under it. Required.https://example.com/blog/deploys
og:descriptionOne or two sentences summarising the page.Five CI changes that took builds from 14 to 6 minutes.
og:site_nameThe name of the overall site.Example Engineering
og:localeLanguage and territory, language_TERRITORY format. Default en_US.en_GB
og:locale:alternateOther locales the page is available in (repeatable).fr_FR
og:determinerWord before the title in a sentence: a, an, the, auto or blank.the

Image and media properties

TagWhat it doesExample value
og:image:urlSame as og:image.https://example.com/og.png
og:image:secure_urlAn https URL for the image, for sites that also serve http.https://example.com/og.png
og:image:typeMIME type of the image.image/png
og:image:widthWidth in pixels.1200
og:image:heightHeight in pixels.630
og:image:altDescription of what’s in the image (not a caption). Should be set whenever og:image is.Chart of build time falling
og:video / og:audioURL of a video or audio file to accompany the page; take :secure_url, :type, :width, :height like images.https://example.com/clip.mp4

Article tags (og:type = article)

TagWhat it doesExample value
article:published_timeISO 8601 date-time the article was first published.2026-09-01T09:00:00Z
article:modified_timeISO 8601 date-time it was last changed.2026-09-20T15:30:00Z
article:authorURL of a profile page (or name, as most platforms accept).https://example.com/team/sam
article:sectionA high-level section name.Engineering
article:tagTag words (repeatable).CI

Twitter / X card tags

TagWhat it doesExample value
twitter:cardsummary, summary_large_image, app or player. The only X tag with no og: fallback.summary_large_image
twitter:site@username of the website.@example
twitter:creator@username of the content author.@samdev
twitter:titleTitle for X; falls back to og:title.How we cut deploy time in half
twitter:descriptionDescription for X; falls back to og:description.Five CI changes…
twitter:imageImage for X; falls back to og:image.https://example.com/og.png
twitter:image:altAlt text for the image, up to 420 characters.Chart of build time falling

How crawlers read Open Graph tags

Every platform follows roughly the same six steps. Step through them and watch which lines of the <head> matter at each stage.

Step through what a crawler does with your link

1. Request

You paste a link. Within a second the platform’s server (not your browser) requests the URL with its own user agent: facebookexternalhit, Twitterbot, LinkedInBot, Slackbot-LinkExpanding, Discordbot, WhatsApp.

<head>
  <title>Deploy guide | Acme</title>
  <meta name="description" content="Cut deploy time…">
  <meta property="og:title" content="How we cut deploy time">
  <meta property="og:description" content="Our 5-step…">
  <meta property="og:image" content="https://acme.dev/og.png">
  <meta property="og:url" content="https://acme.dev/deploy">
  <meta name="twitter:card" content="summary_large_image">
</head>

Try it: which tag wins?

Switch tags on and off. X reads twitter: tags first and falls back to Open Graph; Facebook never reads twitter: tags.

Tags on the page

X title ← twitter:title
Ship it Friday: the X-only headline

X image ← og:image

X layout: summary_large_image (full-width image)

Facebook title ← og:title
How we cut deploy time by half

Facebook image ← og:image

Frequently asked questions

What are Open Graph tags?

Open Graph tags are <meta> tags in a page’s <head>, with property names starting og:, that tell social platforms what title, description, image and URL to use when the page is shared. The Open Graph protocol was introduced by Facebook in 2010 and is documented at ogp.me.

Which Open Graph tags are required?

The protocol lists four: og:title, og:type, og:image and og:url. In practice add og:description too, plus twitter:card for X.

Do Open Graph tags help SEO?

Not directly: Google doesn’t use them as a ranking signal. They improve how links look when shared, which affects click-through from social and messaging apps.

Should I use property= or name= for og tags?

The spec uses property= (RDFa). Most crawlers accept name= too, but property= is the safe choice for og: tags. Twitter tags officially use name=.

Can I have more than one og:image?

Yes. Repeat the tag; the first one is preferred and some platforms let the sharer pick another. Structured properties such as og:image:width apply to the og:image directly before them.