unhead@betaQuick Answer: Set up your site identity with defineOrganization() or definePerson(). This establishes who owns/creates your content and enables Google Knowledge Panel eligibility.
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.
Choose based on what your site represents. If unsure, select Organization.
Use Organization for companies, brands, or any non-personal entity. It's the most common choice.
Example: nuxtjs.org, vuejs.org
import { defineOrganization, defineWebPage, defineWebSite, useSchemaOrg } from '#imports'
useSchemaOrg([
defineOrganization({
name: 'My company',
logo: '/logo.png',
sameAs: [
'https://twitter.com/company'
]
}),
defineWebSite({/* ... */}),
defineWebPage(),
])
Use Person when your website represents an individual, personal brand, or personal blog.
Example: harlanzw.com, antfu.me
import { definePerson, defineWebPage, defineWebSite, useSchemaOrg } from '#imports'
useSchemaOrg([
definePerson({
name: 'Harlan Wilton',
image: '/me.png',
sameAs: [
'https://github.com/harlan-zw',
]
}),
defineWebSite({/* ... */}),
defineWebPage(),
])
Use LocalBusiness when your website represents a physical business with an address.
Example: onacoffee.com.au, intracbr.com.au
import { defineLocalBusiness, defineWebPage, defineWebSite, useSchemaOrg } from '#imports'
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(),
])
Once set, your identity automatically populates these relationships: