Schema org generate

Everyone knows that Ghost CMS automatically generates a SchemaOrg structure, but does it do it right? Why does every post fill in like this?

“mainEntityOfPage”: {
@type”: “WebPage”,
@id”: “https://struchkov[dotcom]dev/”

That is, the link points to the domain, not to the article page. I don’t think it’s right and @id should have a link to the article, not to the site

mainEntityOfPage object describes the article page’s relationship to it’s “main entity” (“parent”) page which is the main website domain, so it looks correct.

The current page is described in the top-level object properties, you should see the url there point to the article url.


Thank you for the explanation, because I didn’t understand much about the documentation on the schemaorg website.

I’m writing it all because I’m faced with a problem in a metric collection system that analyzes content

It uses schema org markup. And at the moment, only one article is shown there. Apparently, the option that is generated does not suit them. And I’m trying to figure out who exactly is wrong in interpreting schemaorg, I bet on them, but not enough.

Can you help with this? I see that according to the documentation they are necessarily asking for fields

Text and ID, which are currently missing. Is it possible to add them?

Most likely they want to see this

If the @id key is not found, the system tries to find it in the nested entities within the mainEntity or mainEntityOfPage keys.

Is it possible to add “@id” and “text”?

@Kevin Is there any way to consider adding the @id parameter? Perhaps I should ask GitHub for it?

In your original post, the @id parameter is already there. It’s functioning according to spec. :+1:

@Kevin @TheRoyalFig I described my question to the developers.
Please read the answer, it seems that the current generation does not meet the specification.

The mainEntityOfPage property of an Article/BlogPosting should contain the url of the page (preferred page if it appears on more than one) it is displayed upon.

Hey, thanks for researching this! This has been updated in the latest release: