Schema Person Markup: Structured Data for Author Authority

Schema Person markup is structured data that validates Expertise in EEAT by telling AI systems who wrote your content. By implementing JSON-LD Person schema, you make author information machine-readable—enabling AI to verify credentials, connect author entities across the web, and build trust in your content's expertise signals.
Key Takeaways
- • JSON-LD format is preferred—easier to implement and recommended by Google
- • Required properties: name, @type; Recommended: image, jobTitle, url, sameAs
- • sameAs links connect author identity across platforms (LinkedIn, Twitter, etc.)
- • Nest Person schema within Article schema for content attribution
- • Validate with Google's Rich Results Test before deployment
What is Person Schema? #
Person schema is a Schema.org vocabulary type that describes a human being. When applied to author profiles, it provides search engines with structured information about who created the content.
While humans read your visible byline and bio, machines parse your Schema markup. Both are essential—the visible elements for user trust, the Schema for algorithmic understanding.
Why JSON-LD?
Google recommends JSON-LD (JavaScript Object Notation for Linked Data) over Microdata or RDFa. JSON-LD sits in a script tag in your page head or body—it's cleaner, easier to maintain, and doesn't require modifying your HTML structure.
Basic Person Schema Implementation #
Here's the minimum viable Person schema for an author:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith"
}
</script>This is technically valid but doesn't maximize the expertise signals. Here's a complete implementation:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith",
"image": "https://example.com/images/jane-smith.jpg",
"jobTitle": "Senior SEO Consultant",
"description": "Jane Smith is a Senior SEO Consultant with 12 years of experience in technical SEO and content strategy.",
"worksFor": {
"@type": "Organization",
"name": "Example Company",
"url": "https://example.com"
},
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "Stanford University"
},
"sameAs": [
"https://linkedin.com/in/janesmith",
"https://twitter.com/janesmith",
"https://janesmith.com"
],
"knowsAbout": ["SEO", "Content Strategy", "Technical SEO", "Digital Marketing"]
}
</script>Person Schema Property Reference #
| Property | Type | Purpose |
|---|---|---|
name | Required | Full name of the person |
url | Recommended | Link to author page on your site |
image | Recommended | URL to author photo |
jobTitle | Recommended | Current professional title |
description | Recommended | Brief professional bio |
worksFor | Recommended | Organization affiliation |
alumniOf | Optional | Educational institution |
sameAs | Recommended | Links to other profiles (array) |
knowsAbout | Optional | Topics of expertise (array) |
award | Optional | Awards or honors received |
Integrating with Article Schema #
For blog posts and articles, nest Person schema within Article schema using the author property:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Optimize for AI Search",
"datePublished": "2026-01-21",
"dateModified": "2026-01-21",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://example.com/authors/jane-smith",
"jobTitle": "Senior SEO Consultant",
"image": "https://example.com/images/jane-smith.jpg",
"sameAs": [
"https://linkedin.com/in/janesmith",
"https://twitter.com/janesmith"
]
},
"publisher": {
"@type": "Organization",
"name": "Example Company",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
</script>author property: "author": [{Person 1}, {Person 2}]The Importance of sameAs Links #
The sameAs property is crucial for entity recognition. It tells search engines: “This person on my site is the same person as these profiles elsewhere.”
Best platforms to include:
- LinkedIn: Primary professional identity
- Twitter/X: Thought leadership presence
- Personal website: Author's own domain
- Wikidata: If the person has an entry
- Industry profiles: Moz, GitHub, professional associations
When Google sees consistent identity signals across these platforms, it strengthens the author entity in its knowledge graph.
Validating Your Schema #
- 1Google Rich Results Test: search.google.com/test/rich-results - Checks for errors and eligibility
- 2Schema.org Validator: validator.schema.org - Validates against Schema.org specs
- 3Browser DevTools: Inspect the rendered JSON-LD in page source
Run validation after every change. Common errors include missing commas, incorrect property names, and URL formatting issues.
Common Schema Mistakes #
Using Text Instead of URLs #
// Wrong "image": "jane-smith.jpg" // Correct "image": "https://example.com/images/jane-smith.jpg"
Missing @type in Nested Objects #
// Wrong
"worksFor": {
"name": "Example Company"
}
// Correct
"worksFor": {
"@type": "Organization",
"name": "Example Company"
}sameAs as String Instead of Array #
// Wrong (single link) "sameAs": "https://linkedin.com/in/janesmith" // Correct (always use array) "sameAs": ["https://linkedin.com/in/janesmith"]
Implementation Summary #
- Use JSON-LD format in a script tag
- Include name, url, image, jobTitle, description at minimum
- Add sameAs links to external profiles
- Nest Person schema within Article schema for content
- Validate before deploying
Related guides: Building Author Profiles for AI Search and Byline Best Practices.