Should I include Person Schema on a page type of ProfilePage?

720 views
Skip to first unread message

Denver Prophit Jr.

unread,
Aug 10, 2019, 12:19:40 PM8/10/19
to Semantic Search Marketing
Currently I have https://search.google.com/structured-data/testing-tool#url=https%3A%2F%2Flegaldemo.strikehawk.com%2Flawyers%2Fattorney1.html for a dummy attorney right now. The page type is ProfilePage. But, I know, somewhere and somehow, that I need to markup and define entity information for each PERSON schema. So, do I aggregate this into the markup and replace Article schema? https://legaldemo.strikehawk.com/lawyers/attorney1.html it's very beta! I still have more to insert via flat files to generate ruby jekyll static. I use JSON+LD on all pages.

Tony McCreath

unread,
Aug 11, 2019, 4:26:30 PM8/11/19
to Semantic Search Marketing
Both your Article and Person reference a different ProfilePage entity via their mainEntityOfPage property. I see a few issues there:

You should only have one ProfilePage entity.
The ProfilePage entity should probably be a top level entity to indicate it is the entity for the WebPage.
You shouldn't have multiple entities saying that they are the main entity.

I think the most important thing is to indicate that the page is about a Person. You could do that via the mainEntity/mainEntityOfPage and/or via the about property.

Maybe a ProfilePage that has a mainEntity of the Article that is about the Person? 

Denver Prophit Jr.

unread,
Aug 11, 2019, 9:30:37 PM8/11/19
to Semantic Search Marketing
Not sure where or how you see the two top-level TLE's pointing to a different mainEntityOfPage

Tony McCreath

unread,
Aug 11, 2019, 9:58:41 PM8/11/19
to Semantic Search Marketing


On Monday, 12 August 2019 11:00:37 UTC+9:30, Denver Prophit Jr. wrote:
Not sure where or how you see the two top-level TLE's pointing to a different mainEntityOfPage


Both the Article and the Person entities contain mainEntityOfPage properties that reference their own ProfilePage entity.

jarnovandriel

unread,
Aug 12, 2019, 5:30:45 AM8/12/19
to Semantic Search Marketing
Depending on the amount of info I had about a Person I have done 2 things in the past:

1) Limited Person info:

Person
> mainEntityOfPage
 
> ProfilePage


2) Extensive Person info (that can't all be marked up with Person properties)

Article
> about
 
> Person
   
> mainEntityOfPage
     
>ProfilePage



Richard Hearne

unread,
Aug 12, 2019, 5:47:24 AM8/12/19
to Semantic Search Marketing
Out of curiosity, and don't meant to hijack this, has anyone thought of a good way to integrate a list of articles written by the Person that might appear on an author profile page?  In my use case I don't believe it should be a TLE.

Ideally the MEOP would be Person, which is included on a ProfilePage, but I cant figure out a good way to associate the itemList of URLs as being written by that Person.  I don't want to mark-up each article as an Article as it requires a whole bunch of other properties.  

Any ideas?

--
You received this message because you are subscribed to the Google Groups "Semantic Search Marketing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semantic-search-ma...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/semantic-search-marketing/15506f75-593f-4ab0-86d4-8dc3470132ca%40googlegroups.com.

jarnovandriel

unread,
Aug 12, 2019, 6:02:30 AM8/12/19
to Semantic Search Marketing
You can do it as such:

<script type="application/ld+json">
{
 
"@context":"https://schema.org",
 
"@type":"Person",
 
"name":"John Doe",
 
"mainEntityOfPage":
 
{
   
"@id":"https://example.com/profiles/john-doe",
   
"@type":"ProfilePage"
 
},
 
"@reverse":
 
{
   
"author":
   
[
     
{
       
"@type":"Article",
       
"url":"https://example.com/article/some-article-1"
     
},
     
{
       
"@type":"Article",
       
"url":"https://example.com/article/some-article-2"
     
}
   
]
 
}
}
</script>


There's no need to worry about the Structured Data Tool's (nor GSC's) errors in this case as this is a type of markup that won't lead to any rich results.

Denver Prophit Jr.

unread,
Aug 12, 2019, 9:06:11 AM8/12/19
to Semantic Search Marketing
Almost forgot about the 'about' parameter! I had reworked this with two json+ld snippets and inserted mainEntity in the mainEntityofpage! I got one LONG article TLE with person expanded. Chasing down missing commas / brackets and formatting.
Message has been deleted

Denver Prophit Jr.

unread,
Aug 13, 2019, 11:06:20 AM8/13/19
to Semantic Search Marketing
Something is wrong with my about and mainEntity?


I seem to be making progress, nonetheless! lol!


On Monday, August 12, 2019 at 5:30:45 AM UTC-4, jarnovandriel wrote:

jarnovandriel

unread,
Aug 13, 2019, 11:24:42 AM8/13/19
to semantic-sea...@googlegroups.com
Something is wrong with my about and mainEntity?

Nothing wrong there. It happens because you specified the Person @type multiple times with the same fragment identifier. If my quick look was correct than you mention the Person twice, meaning the SDTT registers a multi type entity of 2x the same type.

Doesn't do any harm, of course it would be cleaner if 1 of those Person @type would be removed though in the end it won't make any difference. It quite often happens when data is rendered to objects which than are turned into structured data. Cleaned up or not the end result will be an entity that only has Person properties.

Reply all
Reply to author
Forward
0 new messages