What does every Open Graph tag do?
The Open Graph protocol defines four required tags — og:title, og:type, og:image and og:url — plus optional ones for description, site name, locale and media details. Certain og:type values unlock extra tags, such as article:published_time for articles.
Basic tags
| Tag | Required | What it does |
|---|---|---|
| og:title | Yes | The headline shown on the card. Keep it under about 60 characters. |
| og:type | Yes | The kind of object: website, article, product, video.movie and so on. |
| og:image | Yes | Absolute URL of the preview picture. 1200x630 is the safe size. |
| og:url | Yes | The canonical address of this page. Self-referencing. |
| og:description | No, but always set it | One or two sentences under the headline. |
| og:site_name | No | The name of the overall site, e.g. Opengraph. |
| og:locale | No | Language and region, e.g. en_US. Defaults to en_US. |
| og:locale:alternate | No | Other locales the page is available in. Repeatable. |
| og:determiner | No | The word before the title: a, an, the, auto or blank. |
| og:audio | No | URL of an audio file that belongs to the object. |
| og:video | No | URL of a video that belongs to the object. |
Image sub-tags
og:image can be repeated for multiple options, and each one can be followed by its own structured details. Order matters: the sub-tags apply to the og:image above them.
| Tag | What it does |
|---|---|
| og:image:secure_url | An https version of the same image. |
| og:image:type | MIME type, e.g. image/png. |
| og:image:width | Width in pixels. Lets a platform reserve space before downloading. |
| og:image:height | Height in pixels. |
| og:image:alt | A text description for people using screen readers. |
<meta property="og:image" content="https://example.com/og.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Two people reviewing a stock list." />Type-specific tags
Set og:type first, then add the extensions that belong to it. Anything outside the declared type is ignored.
| og:type | Extra tags |
|---|---|
| article | article:published_time, article:modified_time, article:expiration_time, article:author, article:section, article:tag |
| book | book:author, book:isbn, book:release_date, book:tag |
| profile | profile:first_name, profile:last_name, profile:username, profile:gender |
| video.movie / video.episode / video.tv_show / video.other | video:actor, video:director, video:writer, video:duration, video:release_date, video:tag |
| music.song / music.album / music.playlist / music.radio_station | music:duration, music:album, music:musician, music:song, music:creator |
| product (not in the core protocol) | product:price:amount, product:price:currency, product:availability — read by some commerce platforms |
product is a widely used extension rather than part of the core protocol. Support varies by platform.
Repeating a tag
Several properties accept more than one value. Repeat the tag; the first one is treated as the preferred value.
<meta property="article:tag" content="inventory" />
<meta property="article:tag" content="small business" />
<meta property="og:locale:alternate" content="da_DK" />
<meta property="og:locale:alternate" content="de_DE" />Sources
Keep going
Now check it on your own site.