ProfilePage
ProfilePage is a direct WebPage subtype for pages whose subject is a single Person or Organization. Unlike most WebPage subtypes, ProfilePage has a dedicated Google rich result (launched 2022) that surfaces author, byline, and publication metadata on news and blog profile pages.
Populate:
mainEntity: the Person (or Organization) the profile describes.dateCreated,dateModified: when the profile was created and last updated.- On the Person, populate
name,alternateName(display handle),identifier(site-internal user ID),interactionStatistic(follower counts),agentInteractionStatistic(post counts).
Full example of schema.org/ProfilePage json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"@id": "https://xoocode.com/authors/priya-chen#page",
"name": "Priya Chen — Xoo Code Engineering",
"url": "https://xoocode.com/authors/priya-chen",
"dateCreated": "2023-07-15T10:00:00-04:00",
"dateModified": "2026-04-01T09:30:00-04:00",
"mainEntity": {
"@type": "Person",
"@id": "https://xoocode.com/authors/priya-chen#person",
"name": "Priya Chen",
"alternateName": "priyac",
"identifier": "author-00042",
"description": "Staff engineer at Xoo Code. Writes about structured data, TypeScript, and humane web fundamentals.",
"image": "https://xoocode.com/avatars/priya-chen.jpg",
"sameAs": ["https://github.com/priyac", "https://mastodon.social/@priyac"],
"interactionStatistic": [
{ "@type": "InteractionCounter", "interactionType": "https://schema.org/FollowAction", "userInteractionCount": 2840 }
],
"agentInteractionStatistic": [
{ "@type": "InteractionCounter", "interactionType": "https://schema.org/WriteAction", "userInteractionCount": 47 }
]
}
}
</script>Minimal valid version
The smallest markup that still produces a valid ProfilePage entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"name": "Priya Chen",
"mainEntity": { "@type": "Person", "name": "Priya Chen" }
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsProfile Page rich resultprimary
Common ProfilePage mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Missing interactionStatistic / agentInteractionStatistic
WrongProfilePage with only basic Person dataRightFollower counts via interactionStatistic; post counts via agentInteractionStatisticGoogle's Profile Page rich result displays both counters; omitting them leaves the feature under-populated.
- 02
ProfilePage on a business About page
WrongProfilePage for the 'About' page of a companyRightAboutPage for company About; ProfilePage for individual profilesGoogle's Profile rich result targets individual authors and public figures, not corporate About pages.
Schema properties in this example
About the example data
Priya Chen's author profile on the Xoo Code Engineering blog.
Comments
Loading comments...