Guide Structured data · 6 of 8

Person Schema for Authors: Connect Profiles and Articles

Set up Person schema for authors with a ProfilePage JSON-LD example. Match bylines, bios, and article links, then test the live profile and posts together.

Updated 5 min read Fact-checked by Dex · 6 claims, 0 open

Key takeaways

  • Keep the person, profile page, and article distinct but connected.
  • Build a useful public bio before adding more schema fields.
  • Match each article's author name and URL to the right profile.
  • Test linked pages together and keep claims grounded in real facts.

Person schema for authors describes who wrote a page and helps connect that writer to a public profile. Start with a real byline and a useful author page. Then make the markup match those facts. A code generator cannot decide who deserves credit for the work.

This guide focuses on the link between a writer, a profile page, and the posts they wrote. For a broader view of types and formats, see our structured data for SEO guide.

Keep the person, profile page, and article distinct

The writer is a person. Their bio page is a web page. A post they wrote is another piece of content. These things can link to one another without being treated as the same thing. If the profile sits within a visible site trail, build and test a breadcrumb trail without confusing that path with the person entity.

Schema.org Person describes the individual. ProfilePage describes a page about a profile. Article or BlogPosting describes the post. Keep those roles clear when you review what the CMS creates.

Imagine a repair blog with a writer named Morgan Lane. Readers can click Morgan’s byline to see a short bio and a list of guides. That profile is separate from each guide. This is a made-up example, not a real expert whose work we have tested.

For your own site, draw the path in plain words: post → byline → profile → relevant work. Click through it as a reader. If the path leads to an empty archive, improve the page before adding more code.

Build a useful author profile before adding fields

A good profile should help readers judge whose advice they are reading. State the writer’s role, the subjects they cover, and relevant experience you can support. Use specific facts, not a string of claims such as “leading expert” or “trusted authority.”

Ask the writer to check the public bio. Confirm the spelling of their name, any approved public links, and the work credited to them. Keep a record of the source for claims about qualifications. Do not invent awards, job titles, or years of experience to fill a template.

If the writer uses a pen name, keep that public identity clear and consistent. You do not need to expose private details just to make the profile longer. The goal is a helpful public page, not a copy of an HR file.

Google’s ProfilePage guidance includes author pages and employee pages as valid examples. The page must focus on one person or organization linked to the site. A general team directory with many people has a different scope.

Use ProfilePage with a Person main entity

In Google’s ProfilePage guidance, mainEntity identifies the subject of the profile. A name is required, with alternateName accepted when name is unavailable. The example below uses a named Person. It is a teaching sample for a fictional writer, not live data to copy unchanged.

{
  "@context": "https://schema.org",
  "@type": "ProfilePage",
  "@id": "https://example.com/authors/morgan-lane/#profile",
  "url": "https://example.com/authors/morgan-lane/",
  "mainEntity": {
    "@type": "Person",
    "@id": "https://example.com/authors/morgan-lane/#person",
    "name": "Morgan Lane",
    "url": "https://example.com/authors/morgan-lane/",
    "description": "Writer of the site's home repair guides"
  }
}

The profile page and person have distinct @id references. Agree on stable references with the developer. Reuse the person’s reference when other data describes the same writer. Do not create a new person ID for every post.

A developer can place this JSON inside a script element with type application/ld+json. In a CMS, first check whether the author template already creates it. Change the source fields where possible. Another hard-coded block may leave old and new versions on the same page.

Connect article authors to the right public profile

Google’s Article author guidance recommends the correct Person or Organization type and an identifying URL or sameAs. Include all visible authors separately. Keep the author’s name free of job titles and words such as “written by.”

For our fictional writer, the author.url on each credited post should lead to Morgan’s profile. A developer can also use the same person @id. Check both the byline link that readers click and the values in the article markup.

Keep this check focused on the author. Our Article schema markup guide covers headlines, dates, and images. You do not need to rebuild that whole setup when only a profile link is wrong.

Check a post with more than one writer if your site has one. Each byline should lead to the right page. Do not combine two names into a made-up single person or assign the entire post to the account that uploaded it.

Use sameAs for links that identify the same person, such as a genuine public profile. A page that mentions the writer is not always a profile of that writer. Check who the link describes before adding it. For a product review, choose and test Product and Offer data separately from the identity of the writer.

Use the Person property reference to check fields that fit your case. A template may offer many fields, but that does not mean your team has evidence for all of them. Keep a field empty rather than guessing.

A staff writer, a guest expert, a reviewer, and the company that publishes the blog can have different roles. State them clearly on the page. Our Organization schema guide explains the company side of that model.

Markup makes claims easier for a system to read. It does not make those claims true. A filled-out profile cannot replace careful sourcing, useful work, or an honest account of how the article was made.

Test a profile and its linked posts together

Use the Schema Markup Validator to review the entities. Use Google’s Rich Results Test for the supported page features. Test the public URLs as well as draft code. A valid sample can still differ from the output of the live CMS. If a report names a profile issue, fix and validate Search Console schema issues using the affected profile URL.

Choose one profile and two posts credited to that writer. Record the expected name, profile URL, and person ID beside the actual values. Check the visible links too. That small review can reveal a template using the writer’s name but another account’s URL.

After a profile slug changes, review those same posts again. Fix the source of any stale link. If two tools produce conflicting values, use our WordPress schema conflict guide to trace the output.

Keep author pages part of your page quality review

DEX Health can help you check broader page quality and SEO, including on the free plan. Use that review alongside schema tests. A high page score does not prove a writer’s expertise or guarantee a search feature.

Give one editor ownership of the public profile list. Review bios when roles change and check links after template updates. Preserve truthful credit for older work when someone leaves the team. Do not silently assign it to a new employee.

Explore DEX if you want page checks alongside your content work. Start with one real writer and their posts. Make that path clear for readers, match the markup to the facts, and keep a small record of what you tested.

FAQ

What if two writers have the same name?

Give each writer the right public profile and stable person reference. Review their linked posts separately so a shared name does not lead to mixed biographies or article credits.

Should the person who uploads a post become its author?

Assign authorship based on the actual work and your stated editorial process. A CMS login used to upload a draft does not by itself establish who wrote it.

Should I delete a profile when a writer leaves?

Review the page and older bylines before deciding. Keep accurate credit and useful context for existing work. Update outdated role details without claiming that someone else wrote the articles.

Sources

  1. ProfilePage structured data · Google

Dex SEO is an AI SEO agent for small businesses. Every article here is planned from search data, drafted by Dex, fact-checked against the sources it cites, and reviewed by the team before it is published.

How this article was made: planned and drafted by Dex from search data, fact-checked by Dex (6 claims checked), then approved by the Dex SEO team.

Next in this cluster

Keep going

All topics