nuxt-x-schema
Person
Schema.org Person JSON-LD component for author, team member, and profile structured data.
Person
The XSchemaPerson component injects a <script type="application/ld+json"> tag for person structured data. No visible output — SEO only.
Components
<XSchemaPerson />
Use on author bios, team member profiles, or any page dedicated to an individual. Also accepted as a nested object by XSchemaArticle, XSchemaOrganization, and others.
<XSchemaPerson
name="Jane Doe"
job-title="Senior Engineer"
url="https://janedoe.dev"
:same-as="['https://github.com/janedoe']"
/>
Props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
name | String | Yes | — | Person's full name |
jobTitle | String | No | — | Job title |
description | String | No | — | Short bio |
image | String | No | — | Profile image URL |
url | String | No | — | Personal website URL |
email | String | No | — | Email address |
telephone | String | No | — | Phone number |
sameAs | String[] | No | [] | Social and profile URLs |
worksFor | Organization | No | — | Employer Organization object |
knowsAbout | String[] | No | [] | Topics the person knows about |
alumniOf | String | Organization | No | — | Educational institution |
AI Context
component: XSchemaPerson
package: "@xenterprises/nuxt-x-schema"
output: JSON-LD script tag in <head>
use-when: Adding Person structured data on author bios, team profiles, or personal pages
place: In page-level components (pages/ or layouts/), NOT in shared headers
notes:
- Renderless component — no visible DOM output; purely SEO metadata
- Injects JSON-LD server-side via useHead — SSR-safe, visible to crawlers on first paint
- Also accepted as a nested object in XSchemaArticle, XSchemaOrganization, and others
