I´m almost finishing a plugin that will create new educational metadata for my PB Installation. All that require an educational digital book and more.
I have one questions to the community. Thinking about how google works (google recognise schema.org/Article but not schema.org/Chapter). And how educational content works.
I do think, Article could be a more apropiate type , instead of Chapter and we could use Chapter with the Parts.
Since a texbook is a book with a combination of articles. I think is the most apropiate.
Also we will receive the benefits of google with the rich snippets.
I think it depends on what Google does with things it reconizes as schema:Article. If marking up chpaters gets them recognized but as news/blog articles then it’s maybe not going to get them seen in the right places.
I would be inclined to use Chapters for the chapters but maybe to have Articles within the chapter. Or you could type the whole chapter as both a Chapter and and Article.
Ideally Google would recognize chapters, so maybe worth reaching out to them to inquire about that.
it may be a good idea since we could have featured the page on google as an article. Not as chapter.
I do not know how it works by using both. Article and Chapter together. I know is possible, but you have to have one type as mainEntityOfPage. Wich it could be Article, as from an atomic point of view, is the litle one.
About your option
looks nice. But, my question is how to have an article inside of a chapter (is the same solution i wrote before? or you mean a chapter will have one or several articles by using isPartOf or hasPart properties?)
To use both simply put "@type": ["Article", "Chapter"] instead of just one of them (or the equivalent in RDFa). mainEntityOfPage/mainEntity is for something entirely different, it’s more about the subject of the page, similar to but stronger than subjectOf/about. You would only use mainEntityOfPage on the thing that the Chapter was about.
Yes, hasPart {"@type": "Article"} is the way to embed articles in chapters
the idea is to be able to understand which type is about the page.
imagine. if you have in one page a author profile, a company profile and product and something else… how googl can know is a product of an store and the author is secondary? without that, google will choose one randomly . not the one that define the page
Not quite. mainEntity is indepent of saying anything about type { "@id": "http://people.pjjk.net/phil#id", "mainEntityOfPage": "http://blogs.pjjk.net/phil/about" }
says that I am the main entity for the page at http://blogs.pjjk.net/phil/about It says nothing about what type of entities I and the page are.
Within that page I say {"@id": "http://blogs.pjjk.net/phil/about", "mainEntity": {"@id": "http://people.pjjk.net/phil#id", ...} }
which give me space to describe myself in that page. Again, I’ve said nothing about what type of entity I am (though I could). All this tells google that the page is one to use when people search for me.