Nested Person / Author Schema
Last reviewed:
Two <script type="application/ld+json"> blocks: the Person block on the author profile page, the Article block on every content page. The @id cross-linking pattern is the mechanism — a stable URL identifies the author as an entity, and every article they wrote references that same identifier. The @id must stay stable; changing it breaks the entity connection for every article that referenced the old one.
Person block
Place on the author profile page (/about/jane-smith/ or equivalent).
{
"@context": "https://schema.org",
"@type": "Person",
"@id": "REQUIRED -- canonical URL for this author (e.g. https://example.com/about/jane-smith#author)",
"name": "REQUIRED -- full display name",
"url": "REQUIRED -- author profile or about page URL",
"image": {
"@type": "ImageObject",
"url": "RECOMMENDED -- absolute URL to author headshot",
"width": 400,
"height": 400
},
"jobTitle": "RECOMMENDED -- primary professional title",
"description": "RECOMMENDED -- one sentence authoritative bio, no marketing language",
"sameAs": [
"RECOMMENDED -- LinkedIn profile URL",
"OPTIONAL -- Twitter/X profile URL",
"OPTIONAL -- Wikipedia article URL if exists",
"OPTIONAL -- Wikidata item URL (https://www.wikidata.org/wiki/Q...)"
],
"knowsAbout": [
"OPTIONAL -- topic area string, e.g. Search Engine Optimisation"
],
"worksFor": {
"@type": "Organization",
"@id": "OPTIONAL -- link to your Organization @id to cross-reference entities",
"name": "REQUIRED if worksFor present -- employer name"
},
"alumniOf": {
"@type": "EducationalOrganization",
"name": "OPTIONAL -- degree-granting institution for credentialing context"
},
"hasCredential": {
"@type": "EducationalOccupationalCredential",
"name": "OPTIONAL -- certification or credential name",
"url": "OPTIONAL -- issuing body URL"
}
}
Article reference
Place on each article page. author.@id must exactly match the @id in the Person block — this is the cross-link that connects content to the author entity.
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "REQUIRED -- canonical URL of this article",
"headline": "REQUIRED -- article title",
"url": "REQUIRED -- canonical URL",
"datePublished": "REQUIRED -- ISO 8601 date, e.g. 2025-03-15",
"dateModified": "REQUIRED -- ISO 8601 date",
"author": {
"@type": "Person",
"@id": "REQUIRED -- must match the @id in the standalone Person block above",
"name": "REQUIRED -- same full name as in the Person block"
},
"publisher": {
"@type": "Organization",
"@id": "REQUIRED -- must match your Organization @id",
"name": "REQUIRED -- same name as in the Organization block"
}
}
Field notes
@idis the entity anchor — every article’sauthor.@idmust resolve to the same string as the Person@id; a mismatch breaks the entity graph connection.sameAsis where disambiguation happens — include LinkedIn, Twitter/X, and Wikipedia or Wikidata if they exist.knowsAboutsignals topical authority — use the same vocabulary as the page topics you want the author associated with.- Cross-link to Organization via
worksFor.@id— both must use consistent@idvalues. - Test in the Rich Results Test — errors on the author profile page suppress author signals across every article referencing the same
@id.