Skip to main content
seofields
docs

Person

The Person schema type represents an individual person. It enables search engines to display rich information about team members, authors, founders, and other individuals in knowledge panels and search results.

About Person

Person schema is critical for establishing author authority and E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signals. Google uses Person markup to connect authors to their content, display knowledge panels, and verify expertise. The sameAs property links a person's identity across platforms, helping search engines build a comprehensive entity profile. This is especially valuable for content creators, thought leaders, and professionals.

Fields

FieldTypeRequiredDescription
namestringThe full name of the person.
jobTitlestringThe person's job title or role (e.g. Software Engineer, CEO).
urlstringThe person's personal website or profile URL.
imageUrlstringURL of the person's profile photo or headshot.
sameAsarray of stringsURLs of social media profiles and other authoritative pages about this person.
worksFor.namestringThe name of the organization the person works for.

Plugin Registration

sanity.config.ts
import { defineConfig } from 'sanity'
import { schemaOrgPersonPlugin } from 'sanity-plugin-seofields/schema'

export default defineConfig({
  // ... your sanity config
  plugins: [
    schemaOrgPersonPlugin(),
  ],
})

Schema Usage

Add theschemaOrgPerson field to any document schema:

schemas/page.ts
import { defineField, defineType } from 'sanity'

export default defineType({
  name: 'page',
  title: 'Page',
  type: 'document',
  fields: [
    // ... your other fields
    defineField({
      name: 'schemaOrgPerson',
      title: 'Person Schema',
      type: 'schemaOrgPerson',
    }),
  ],
})

GROQ Query

GROQ query
*[_type == "yourDocument"][0]{
  schemaOrgPerson {
    name,
    jobTitle,
    url,
    imageUrl,
    sameAs,
    worksFor {
      name
    }
  }
}

Next.js Component

app/layout.tsx
import { PersonSchema } from 'sanity-plugin-seofields/schema/next'

export default function Layout({ data }) {
  return <PersonSchema data={data.schemaOrgPerson} />
}

JSON-LD Output

Generated JSON-LD
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Jane Doe",
  "jobTitle": "Senior Software Engineer",
  "url": "https://janedoe.dev",
  "image": "https://janedoe.dev/headshot.jpg",
  "sameAs": [
    "https://twitter.com/janedoe",
    "https://linkedin.com/in/janedoe",
    "https://github.com/janedoe"
  ],
  "worksFor": {
    "@type": "Organization",
    "name": "Acme Inc."
  }
}

Was this page helpful?