Contact

What is ProfilePage Schema?

Definition

ProfilePage schema is schema.org markup stating that a page is a profile focused on a single person or organisation, which is described in the mainEntity property as a Person or Organization. Google uses it on sites where creators share their own perspectives, such as forums, social platforms and author pages on news sites, to better understand who produced the content.

Also known as: ProfilePage, ProfilePage markup, author page schema, profile page structured data

Diagram of ProfilePage markup linking a profile page to the Person it is about and clarifying the author's identity

What it is meant for

Google defines this markup for sites where creators publish first-hand perspectives. According to its documentation, ProfilePage helps Google Search understand the creators who post in an online community and show better content from that community. Suitable examples include:

  • user profiles on forums and community sites,
  • profile pages on social platforms,
  • author pages on news and publishing sites,
  • "About me" pages on personal blogs.

The deciding rule is that the page's primary focus is a single person or organisation affiliated with the site. A company's general home page, or a review site's pages about organisations it has no relationship with, don't qualify. A "Meet the team" page listing many people doesn't fit either, because it isn't about one entity.

The only required structure is a mainEntity of type Person or Organization with a name. Google suggests putting the real name in name and handles such as usernames in alternateName. Other recommended properties are the profile's creation and update dates (dateCreated, dateModified), identifier, description, image, sameAs links to other profiles, interactionStatistic for interactions with the profile such as followers or likes, and agentInteractionStatistic for the person's own activity, such as the number of posts they've written.

Example: an author page on a news site

{
  "@context": "https://schema.org",
  "@type": "ProfilePage",
  "dateModified": "2026-08-20T10:00:00+01:00",
  "mainEntity": {
    "@type": "Person",
    "@id": "https://news.example.com/authors/sarah-collins/#person",
    "name": "Sarah Collins",
    "description": "Editor covering energy and home technology.",
    "image": "https://news.example.com/img/authors/sarah-collins.jpg",
    "sameAs": [
      "https://www.linkedin.com/in/sarahcollins-example"
    ]
  }
}

The bridge between articles and authors

ProfilePage stands on its own, but it really pays off combined with Article markup. The article's author.url points to the author page, and the Person node there carries the same @id. Every piece bylined "Sarah Collins" then connects to one profile for one person, reducing the chance of confusing her with someone else of the same name. That is a direct help to machines with entity disambiguation.

A profile that plainly shows who the author is and why they write on the topic also lines up with the transparency about experience and expertise that Google summarises as E-E-A-T. What carries weight is the real biography, publication list and verifiable links on the page, not the markup itself; the markup only makes them explicit to machines.

Common mistakes

  • Article markup that gives the author as a bare name with no author page, so the byline links to nothing.
  • Profile pages with no biography, or a biography that exists only in the markup.
  • Follower or like counts that don't match the real figures.
  • Type mix-ups, such as declaring the company as mainEntity on a person's profile.

The GEO Checker reports whether authors link to a profile page and whether that page has ProfilePage markup and a biography.

Related terms

← Back to the glossary