og:type Values Explained: website, article, product, and Beyond
og:type looks like the most boring tag in your <head>: a single string, usually website, that nobody seems to check. But it's the switch that decides which other Open Graph properties are even legal on the page. Set it wrong and the article:published_time, product:price:amount, or profile:username tags you carefully added are silently ignored. This post is only about that one tag: the values that matter, what each unlocks, and the handful of cases where the wrong value visibly breaks something.
For the full property table across all types, keep the meta property OG reference open alongside this. For how og:type fits into a working implementation, see the Open Graph meta tags guide.
What og:type actually does
Open Graph is a typed vocabulary. og:type names the object the page represents, and that name gates a namespace of extra properties:
<meta property="og:type" content="article">
<meta property="article:published_time" content="2026-06-17T09:00:00Z"> <!-- valid -->
Flip the type to website and that second line becomes dead weight; the article: namespace isn't active, so platforms drop it. The properties don't error; they just don't exist for that page. That's why a "my published date won't show" bug is so often really a "my og:type is website" bug.
If you omit og:type entirely, platforms default to website. That's fine for a homepage and wrong for a blog post.
The values, and what each unlocks
| og:type | Use it for | Unlocks |
|---|---|---|
| website | Homepage, landing pages, generic pages | Nothing extra; the core og:* tags only |
| article | Blog posts, news, editorial | article:published_time, article:modified_time, article:author, article:section, article:tag |
| profile | Author/person/user pages | profile:first_name, profile:last_name, profile:username, profile:gender |
| book | Book detail pages | book:author, book:isbn, book:release_date, book:tag |
| product | E-commerce product pages | product:price:amount, product:price:currency, product:availability |
| video.movie / video.episode / video.tv_show / video.other | Video-centric pages | video:actor, video:director, video:duration, video:release_date |
| music.song / music.album / music.playlist | Music pages | music:duration, music:album, music:musician |
The two you'll use 95% of the time are website and article. Reach for the others only when the page genuinely is that object.
article: the one most sites get wrong
If you run a blog and every page says og:type website, you're leaving the article namespace on the table:
<meta property="og:type" content="article">
<meta property="article:published_time" content="2026-06-17T09:00:00Z">
<meta property="article:modified_time" content="2026-06-18T11:00:00Z">
<meta property="article:author" content="https://seotest.app/team">
<meta property="article:section" content="Technical SEO">
<meta property="article:tag" content="open graph">
Note article:author takes a profile URL, not a display name; a common mistake is dropping a person's name in there and wondering why nothing links. article:tag is repeatable; add one tag per line.
product: where the wrong type costs money
Product pages are the case where og:type has teeth. With og:type product, you can attach price and availability that some shopping and chat surfaces read directly:
<meta property="og:type" content="product">
<meta property="product:price:amount" content="49.00">
<meta property="product:price:currency" content="USD">
<meta property="product:availability" content="in stock">
Two cautions. First, Open Graph product:* is not the same thing as schema.org Product structured data; Google's rich results for products read JSON-LD, not these OG tags. If you want price/rating in Google search, build the schema instead; our Schema Generator does that. The OG product:* tags are for social/chat unfurls. Second, a stale product:availability of in stock on a sold-out page is worse than none, because it ships into every share.
profile: for people, not pages about people
og:type profile is for a page that is a person (an author bio, a user account), not an article that mentions one:
<meta property="og:type" content="profile">
<meta property="profile:first_name" content="Ada">
<meta property="profile:last_name" content="Lovelace">
<meta property="profile:username" content="ada">
When the wrong type actually matters (and when it doesn't)
Be honest about the stakes so you don't over-invest:
- It doesn't change the basic card. Title, description, and image render from the core
og:*tags regardless of type. A blog post taggedwebsitestill gets a perfectly good preview. - It does waste your structured tags. Any
article:,product:, orprofile:property on a page whose type doesn't match is ignored, so the dates, prices, and authors you added do nothing. - It can mislead a sold-out signal.
product+ a wrongavailabilityactively ships bad info. - None of this is a Google ranking factor.
og:typedoesn't move search rankings. Its value is correctness of the unfurl and enabling the right extra properties, not SEO juice. (The rankings myth is dismantled in Open Graph and SEO impact.)
The practical rule: website for the homepage and utility pages, article for every editorial page (with the dates and author wired up), product only on real product pages with schema as the companion, and the rest only when the page literally is a book, video, song, or person.
To confirm the type and its dependent properties are exposed the way a scraper reads them, drop the URL into our OG Checker.
Frequently Asked Questions
What is the default og:type if I leave it out?
website. Platforms assume a generic web page. That's correct for a homepage but means any article:*, product:*, or profile:* tags on the page are ignored.
Does og:type affect Google rankings?
No. og:type is not a ranking signal. It controls how social and chat platforms unfurl the link and which extra Open Graph properties are valid. For the full rankings myth, see Open Graph and SEO impact.
Can I use og:type product to get prices in Google search results?
No. Google's product rich results read schema.org JSON-LD, not Open Graph product:* tags. Use both if you want the social unfurl and search rich results; build the schema with our Schema Generator.
Should every blog post use og:type article?
Yes, if you want the published/modified dates, author, and section to register. With website, those article:* tags are dropped. Set article and add article:published_time at minimum.
What's the difference between video.other and the og:video properties?
og:type video.* describes what the page is and unlocks metadata like video:duration. The og:video property (and its sub-tags) attaches an actual playable file. You can use the media tags without setting a video.* type, but the metadata namespace only activates with the matching type.