Person schema generator
Mark up an author bio or creator page as a ProfilePage about a Person, the format Google documents for profile pages.
Required
2/2
Recommended
6/9
All Google-required properties present. That makes the page eligible, not guaranteed. Google's docs
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"url": "https://example.com/team/maya",
"dateCreated": "2024-02-01",
"dateModified": "2026-09-10",
"mainEntity": {
"@type": "Person",
"name": "Maya Okafor",
"alternateName": "mayaokafor",
"jobTitle": "Head of SEO",
"worksFor": {
"@type": "Organization",
"name": "Example Outfitters"
},
"description": "Maya has run technical SEO for outdoor retailers since 2016 and writes about structured data and site speed.",
"image": "https://example.com/team/maya.jpg",
"sameAs": [
"https://www.linkedin.com/in/mayaokafor-example",
"https://github.com/mayaokafor-example"
]
}
}
</script>When to use ProfilePage markup
- Author pages on news sites and blogs.
- Creator and member profiles on forums and communities.
- Link to this page from author.url in your Article markup.
Getting it right
- ProfilePage requires mainEntity, and the Person needs a name.
- sameAs links to the same person elsewhere (LinkedIn, GitHub, Wikipedia) help Google tie identities together.
- Add dateCreated and dateModified for the profile itself.
- Use Organization as mainEntity if the profile is for a company account.
Source: Google Search Central, Profile page structured data documentation, and schema.org/ProfilePage.
Google's property list
| Property | Google says |
|---|---|
mainEntity | required |
mainEntity.name | required |
dateCreated | recommended |
dateModified | recommended |
mainEntity.alternateName | recommended |
mainEntity.description | recommended |
mainEntity.identifier | recommended |
mainEntity.image | recommended |
mainEntity.sameAs | recommended |
mainEntity.interactionStatistic | recommended |
mainEntity.agentInteractionStatistic | recommended |
Example output
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"url": "https://example.com/team/maya",
"dateCreated": "2024-02-01",
"dateModified": "2026-09-10",
"mainEntity": {
"@type": "Person",
"name": "Maya Okafor",
"alternateName": "mayaokafor",
"jobTitle": "Head of SEO",
"worksFor": {
"@type": "Organization",
"name": "Example Outfitters"
},
"description": "Maya has run technical SEO for outdoor retailers since 2016 and writes about structured data and site speed.",
"image": "https://example.com/team/maya.jpg",
"sameAs": [
"https://www.linkedin.com/in/mayaokafor-example",
"https://github.com/mayaokafor-example"
]
}
}Person schema questions
Why ProfilePage instead of plain Person?
Google's profile page documentation uses ProfilePage with a Person or Organization mainEntity. Plain Person markup is valid schema.org but isn't tied to that feature.
Does this help E-E-A-T?
Google says structured data helps it understand pages; it does not describe author markup as a ranking factor. It does help link articles to a real author.
Can I include social follower counts?
Yes: interactionStatistic with a FollowAction count is a recommended property on the profile's main entity.