Choose an Identity

Providing an identity may allow Google to display a prominent Google knowledge panel with details of the identity.


Providing an identity may allow Google to display a prominent Google knowledge panel with details of the identity.

While Schema.org provides detailed types, it's recommended to choose a single provider below. If you're not sure which to use, you should select Organization.

Organization

  • Applicable to most websites
  • Does not need to relate to an official business
  • Used for eCommerce as well
  • Example: nuxtjs.org, vuejs.org

Using defineOrganization or SchemaOrgOrganization by default will set your identity to an Organization.

Composition API
useSchemaOrg([  defineOrganization({    name: 'My company',    logo: '/logo.png',    sameAs: [      'https://twitter.com/company'    ]  }),  defineWebSite({/* ... */}),  defineWebPage(),])
Component API
<template>  <SchemaOrgOrganization     name="My company"     logo="/logo.png"     :same-as="['https://twitter.com/company']"  />  <SchemaOrgWebSite name="My Awesome Website" />  <SchemaOrgWebPage /></template>

Person

  • Personal website or blog
  • Personal brands
  • Example: harlanzw.com, antfu.me

Using definePerson or SchemaOrgPerson by default will set your identity to a Person.

Composition API
useSchemaOrg([  definePerson({    name: 'Harlan Wilton',    image: '/me.png',    sameAs: [      'https://github.com/harlan-zw',    ]  }),  defineWebSite({/* ... */}),  defineWebPage(),])
Component API
<template>  <SchemaOrgPerson    name="Harlan Wilton"     image="/logo.png"     :same-as="['https://github.com/harlan-zw']"  />  <SchemaOrgWebSite name="My Awesome Website" />  <SchemaOrgWebPage /></template>

Local Business

  • Physical businesses, requires an address
  • Extends an Organization
  • Example: onacoffee.com.au, intracbr.com.au

Using defineLocalBusiness or SchemaOrgLocalBusiness by default will set your identity to a LocalBusiness.

Composition API
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(),])
Component API
<template>  <SchemaOrgLocalBusiness    name="Harlan\'s Hamburgers"     image="/logo.png"    :address="{      streetAddress: '123 Main St',      addressLocality: 'Harlan',      addressRegion: 'MA',      postalCode: '01234',      addressCountry: 'US',    }"  />  <SchemaOrgWebSite name="My Awesome Website" />  <SchemaOrgWebPage /></template>

Automated Relations

Setting an identity will also cause default inferences to be made about the Schema your register:

Articles

  • publisher is the identity
  • authored by the identity

Product

  • brand is the identity

WebPage

  • home page uses the identity for about

WebSite

  • publisher is the identity