Angular
You're viewing Unhead v3 beta documentation. Install with unhead@beta
Recipes

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:

NodeProperty
Articlepublisher, author
Productbrand
WebSitepublisher
WebPageabout (home page only)
Did this page help you?