The Magic of Person Schema Markup |Full Guide

About the author

Tilen ledic - SEO expert
+ posts

An SEO expert specializing in Schema markup and EEAT, help simplify the complex world of SEO to businesses around the world.

As an SEO enthusiast, I’ve always found that stories or real life examples are the best way to explain complex concepts like person schema markup. They make the information more digestible, relatable, and, most importantly, memorable.

Before we dive into the intricate details of Schema itself, it’s crucial to lay a solid foundation first.

Person Schema Markup visualization

What is Person Schema Markup?

Imagine you’re at a networking event, and you hand someone your business card. It has your name, your profession, your qualifications, and how to contact you. Now, imagine you could do the same thing online, not just for people visiting your website, but for search engines too. That’s what Person Schema Markup does.

In simple terms, Person Schema Markup acts like a digital business card that you give to search engines. It tells them everything they need to know about you – your name, your job, your qualifications, your contact details, your social media profiles a some other things you see importnat to include.

Why is this important? Well, search engines like Google use this information to understand who you are and what you do. This helps them show your website to people who are looking for your services. For example, if you’re a dentist, Person Schema Markup tells Google all about your dental practice so it can show your website to people searching for a dentist in your area.

The best part is, Person Schema Markup isn’t just for tech-savvy people. Anyone can use it, and it can make a big difference in how your website performs in search results. It’s like telling Google directly about your profession and expertise, which can help attract more potential clients to your website.

Where Would You Use This Type of Schema?

Implementing Person Schema Markup can increase visibility and understanding for both users and search engines . I’ve gathered most popular places where you can find it:

  • ProfilePage Schema: Di you ever come across company websites showcasing pages dedicated to team members, founders, or blog post authors? That’s where I’d employ ProfilePage Schema. It acts like a customized online business card, highlighting their roles, skills, past jobs, and more. This makes it easy for search engines to understand and display them in suitable search results.
  • AboutPage Schema: Usually, AboutPage Schema is explaining details about an organization. But, when a website’s primary focus is an individual, the AboutPage can be all about that person. In such cases, I’d nest Person Schema within the AboutPage Schema, describing everything about the person who is at the heart of the website.
  • Author Schema: This type of schema is utilized to credit the authors of blog posts, articles, books, and so on. I’d use Person Schema Markup here to provide comprehensive information about the author, like their achievements, affiliations, and published works.
  • Event Schema: Are you planning or participating in an event? I’d weave Person Schema into the Event Schema to outline key participants such as speakers, performers, and so on. It helps potential attendees get a glimpse of who’ll be there and what to expect from them.

Now, let’s take this concept a step further and create a digital identity for someone, just like we would create a profile for them on a social media platform. We will use, I would say most popular one of the above, ProfilePage schema.

ProfilePage – Foundation for Person Schema Markup

Imagine we’re creating a digital identity for our friend, Alex. The first thing we’d do is set up a ProfilePage schema. Now, you might be wondering, “Why a ProfilePage schema?” Well, it’s because a ProfilePage is typically about a specific person, making it the perfect nesting ground for our Person Schema.

Picture Alex’s website as his digital home. Among the various rooms in this home, there’s an “About Me” page. This page is like Alex’s personal living room, where he invites visitors to get to know him better and where we’ll place our ProfilePage schema. This way, we are setting up a stage for Alex, spotlight focused, ready for him to showcase his skills, experiences, and achievements.

ProfilePage Schema is about Person Schema

In this example, we’re telling search engines that this webpage is a ProfilePage about a person named Alex. The “@id” property for the ProfilePage is a unique URI (Uniform Resource Identifier) that identifies this specific webpage in the digital world.

But here’s where the magic happens – We’ve nested a Person Schema inside the “mainEntity” property of the ProfilePage schema. This tells search engines that the main entity of this page is about a person named Alex with the “url” property , where you can find more information about him.

We’ve also added a “description” property, which gives search engines (and users) a brief overview of who Alex is and what he does. In this case, Alex is a seasoned software engineer specialized in mobile app development.

In essence, we’re creating a unique digital ID card for Alex, which signals search engines exactly who Alex is, what he does, and where on the internet he can be found. This is the magic of Person Schema Markup, and we’re just getting started.

ProfilePage Schema is about Person Schema

Different Properties for Person Schema Markup

As we delve deeper, we’ll encounter various properties that help us paint a more detailed and accurate picture of Alex. Each property serves a unique purpose, adding another layer of depth to Alex’s digital identity.

From his job title and credentials to his home location and the things he knows about, these properties are the building blocks of Alex’s digital persona. I will do my best to explain, how these properties work and contribute to the overall Person Schema Markup.

With help of our imaginary friend Alex off course. story offcourse

The “sameAs” property

Alex’s digital identity, like most of us, extends beyond his website. He’s active on social media, contributes to industry blogs, and has a presence on various other platforms. To connect all these dots and present a unified digital identity, we will use the “sameAs” property.

This property allows us to list all the URLs of his profiles on different platforms, helping search engines understand whichprofiles belong to the same person – Alex.

The "sameAs" property inside person schema markup

In this example, we’ve added Alex’s LinkedIn, Twitter, and GitHub profiles to the “sameAs” property. Now, search engines can connect the dots between these profiles and understand that they all represent the same person – our Alex.

KEEP IN MIND:  The "sameAs" property is not just for social media profiles. You can include any URL that represents Alex on the web. Just make sure these URLs are definitive and trustworthy sources of information about Alex.

The “jobTitle” and “knowsAbout” property

Now that we’ve linked Alex’s online identities, let’s dive deeper into his professional life. We’ll use the “jobTitle” and “knowsAbout” properties to give a more detailed picture of Alex’s expertise and interests.

The “jobTitle” property is pretty self-explanatory. It’s where we specify Alex’s professional title. In our case, Alex is a “Software Engineer”. This helps search engines understand Alex’s profession, which can be useful for people looking for software engineers or professionals in the tech industry.

Next up is the “knowsAbout” property. This is where we can list topics, skills, or areas that Alex is knowledgeable about. It’s like a mini version of Alex’s resume, right there in the schema markup. This can include anything from programming languages he’s proficient in, to the industries he’s worked in, or even his hobbies and interests.

The "jobTitle" and "knowsAbout" property inside person schema

As you can see, we’ve added “Software Engineer” as Alex’s job title. For the “knowsAbout” property, we’ve listed a mix of professional skills like “Mobile App Development” and “Machine Learning”, along with a personal interest, “Hiking”. This gives a more rounded picture of Alex, both as a professional and as an individual.

Remember, the goal here is to provide as much relevant and accurate information about Alex as possible. The more comprehensive and accurate the information, the better search engines can understand and represent Alex on the web.

Adding the “alumniOf” and “hasCredential” property

We’ve already established that he’s a mobile app developer with a knack for UI design and a passion for Python and machine learning. But where did he acquire these skills? Let’s use the “alumniOf” and “hasCredential” properties to fill in the blanks.

The “alumniOf” property is pretty straightforward. It’s used to indicate the educational institutions that the person has attended. In Alex’s case, let’s say he graduated from the Massachusetts Institute of Technology (MIT). Here’s the snippet we would use:

alumniof schema

But we can take it a step further with the “hasCredential” property. This property allows us to specify any formal qualifications or certifications that Alex has earned. Let’s say Alex has a Bachelor’s degree in Computer Science and a Master’s degree in Artificial Intelligence. We can represent these credentials something like this:

hascredential schema

With these additions, we’re not just telling search engines that Alex is a skilled mobile app developer. We’re providing concrete evidence of his qualifications, which can help boost his credibility and visibility in search results.

Let’s take a step back and see what we’ve got so far. We’ve built a pretty comprehensive profile for Alex, our mobile app developer. We’ve covered his name, job title, areas of expertise, educational background, and credentials. And we’ve linked to his social media profiles and his personal website.

Here’s how our Person Schema Markup looks like now:

person schema markup in development

Adding the “hasOccupation” and “homeLocation” properties

We’ve got a solid foundation for Alex’s profile, but we can add even more depth with the “hasOccupation” and “homeLocation” properties.

The “hasOccupation” property is a way to provide more detailed information about a person’s job. It’s not just about the job title, but also about the specific tasks, responsibilities, and skills associated with that job. For Alex, we could use this property to highlight his specific areas of expertise and the types of projects he typically works on.

The “homeLocation” property, on the other hand, is a way to indicate where a person lives. This could be useful for local SEO, or for providing context about a person’s lifestyle and interests. For Alex, we could use this property to indicate that he lives in Boston, Massachusetts.

Let’s see how these properties would look in our schema:

Adding the "hasOccupation" and "homeLocation" properties to person schema

With these additions, we’re not just telling search engines that Alex is a mobile app developer who lives in Boston. You’re providing a richer picture of his professional life and personal circumstances, which could help his website rank for more specific and relevant search queries.

How do we connect Person schema with organization schema?

As we continue to build a comprehensive digital identity for our friend, Alex Doe, we’ve now reached a point where we can connect him with an organization. This is particularly useful if Alex is part of a company or if he owns one.

To do this, we’ll use the “worksFor” property under the Person schema. This property allows us to specify the organization that Alex is affiliated with.

But to connect person schema markup with “XYZ Company”, you should do next:

  1. create a separate Organization schema for the company and nest it within the “worksFor” property. This way, we’re not just telling search engines that Alex works for a company, we’re providing detailed information about the company itself.
  2. Within the ProfilePage schema, we then add a “publisher” property. This is where we nest the Organization schema, creating a link between the profile page and the organization. This connection will help search engines understand the relationship between the Person schema (in our case, Alex) and the organization. It’s a crucial step in providing a comprehensive view of Alex’s professional life.
Connecting Person schema with organization schema

How do we validate our Person Schema markup?

To ensure that the Schema markup is correctly implemented and can be understood by search engines, it’s essential that we validate our structured data. There are two primary ways to do this:

  1. Schema.org’s Validator: Their tool checks your markup against the standards set by Schema.org, ensuring that your JSON-LD syntax is correct. To use this tool, simply paste your code into the text box and click “play” to validate.
  2. Google’s Rich Results Test: Google also provides a Rich Results Test tool. This tool is specifically designed to validate structured data that can be used for ‘rich snippets’ – the extra pieces of information that can appear in Google search results. With this tool, you can either paste your code directly into the tester or test a URL where the code is live.

Remember, even if your code passes these tests, it’s crucial to ensure the content represented in the Schema markup is accurate and provides a true representation of the individual or entity it describes. Google can penalize websites for misrepresentative structured data.

Addressing Errors in Google Rich Results and Schema Validator

When you implement Schema.org markup, it’s important to note that there are differences in how Google and Schema.org interpret structured data. As a result, an error may not be apparent when you validate your code using Schema.org’s, but it may surface when you use Google’s Rich Results Test.

In this specific case, the detected errors related to the “JobTitle” property in the Google Rich Results Test are associated with the “Occupation” type. These include both critical and non-critical issues:

Addressing Errors in Google Rich Results and Schema Validator
  • Critical issues:
    • Missing field “estimatedSalary”
    • Missing field “occupationLocation”
  • Non-critical issues:
    • Missing field “description” (optional)
    • Missing field “mainEntityOfPage” (optional)

To address these issues, we need to expand “hasOccupation” property needs to be expanded to include these missing fields.

"estimatedSalary" property schema markup

With the addition of the “estimatedSalary” property, we’re going even deeper into Alex’s job profile.

The “estimatedSalary” property lets us show the average earnings of someone in Alex’s position. We’ve detailed the different percentiles of an annual salary for a mobile app developer like Alex, in USD. The range begins at the 10th percentile ($102,000) and extends to the 90th percentile ($145,000), with a median salary of $124,900.

Next, we get to know where Alex does his job using the “occupationLocation” property. Here, we’re indicating that Alex works in Boston, MA.

This detailed account of Alex’s occupation will provide search engines with a lot of informations, which help rank him better for his most important keywords.

We made it and it looks Amazing! Doesn’t it?

After a sweaty 30 minutes of playing ping-pong with Google, and having a hearty chat with the schema.org validator, I’ve’ve pieced together a robust Person Schema Markup for our buddy, Alex.

Just like that, our buddy Alex is now a digital celebrity in his own right. His every achievement, expertise, affiliation, all meticulously painted in Schema Markup, ready to dazzle search engines and users alike.

Is all this data needed for our Person Schema Markup?

The short answer is NO, all of the data you see in the Person Schema Markup above isn’t strictly necessary. Think of it like packing for a trip. While there are essentials you definitely need to take (like your name, description, URL, and probably jobTitle ), the rest depends on the kind of trip (or in this case, your specific website and the person you’re describing).

For instance, if you don’t have all the social media links, don’t sweat it, just include the ones you have. Google and other search engines can still understand your structured data without every single detail.

The goal is to provide as much accurate and relevant information as you can, but remember, it’s not a one-size-fits-all situation. The schema should be tailored to your unique case. So, pack what you think is most important for your “trip” 😉 !

Are there any Person Schema Markup generators available?

Absolutely! While manual input gives you the most control over what information is visible to Google and how entities are connect, sometimes you may want to generate person schema markup quickly, and for that, there are some tools available. Some of them are:

These tools might not offer the same level of detail and customization as manual input, but they can definitely provide basic Schema Markup for your website. Among the three mentioned, Schemantra is probably the most technical, but it also offers a lot more of customization options compared to other two.

Disclaimer: It's important to note that as of now, Google doesn't officially support Person Schema Markup in its Search features. But even if it doesn't, it helps Google understand the content of your page better, providing a more comprehensive picture of the person represented. As far as history goes, any effort to improve your website's quality and users /search engines clarity will  lead to better search performance down the road. 

Did you like the post? I wrote very similar and detailed one about product schema markup. I invite you to check it out ☺️

Leave a Comment