Choosing a Schema.org Identity
Quick Answer: Set up your site identity with defineOrganization() or definePerson(). This establishes who owns/creates your content and enables Google Knowledge Panel eligibility.
Why does Schema.org identity matter for SEO?
Providing an identity allows Google to display a prominent Knowledge Panel with details of the identity. It also connects all your content to a single entity, improving E-E-A-T signals.
Which identity type should I choose?
Choose based on what your site represents. If unsure, select Organization.
When should I use Organization?
Use Organization for companies, brands, or any non-personal entity. It's the most common choice.
- Doesn't need to relate to an official business
- Use for eCommerce without a physical location
Example: nuxtjs.org, vuejs.org
import { defineOrganization, defineWebPage, defineWebSite, useSchemaOrg } from '@unhead/schema-org/angular'
useSchemaOrg([
defineOrganization({
name: 'My company',
logo: '/logo.png',
sameAs: [
'https://twitter.com/company'
]
}),
defineWebSite({/* ... */}),
defineWebPage(),
])
When should I use Person?
Use Person when your website represents an individual, personal brand, or personal blog.
Example: harlanzw.com, antfu.me
import { definePerson, defineWebPage, defineWebSite, useSchemaOrg } from '@unhead/schema-org/angular'
useSchemaOrg([
definePerson({
name: 'Harlan Wilton',
image: '/me.png',
sameAs: [
'https://github.com/harlan-zw',
]
}),
defineWebSite({/* ... */}),
defineWebPage(),
])
When should I use Local Business?
Use LocalBusiness when your website represents a physical business with an address.
- Extends Organization
- Use for eCommerce with a physical location
Example: onacoffee.com.au, intracbr.com.au
import { defineLocalBusiness, defineWebPage, defineWebSite, useSchemaOrg } from '@unhead/schema-org/angular'
useSchemaOrg([
defineLocalBusiness({
name: 'Harlan\'s Hamburgers',
address: {
streetAddress: '123 Main St',
addressLocality: 'Harlan',
addressRegion: 'MA',
postalCode: '01234',
addressCountry: 'US',
},
image: 'https://emojiguide.org/images/emoji/n/3ep4zx1jztp0n.png',
}),
defineWebSite({/* ... */}),
defineWebPage(),
])
How does identity connect to other Schema.org nodes?
Once set, your identity automatically populates these relationships:
Related Recipes
- Blog Posts - Article structured data
- eCommerce - Product structured data
- Site Search - Search action markup