If someone is looking for what type to implement next, there's a list of popular use of Schema.org types on this twitter thread.

The list is :

  • /AggregateRating
  • /Article
  • /Blog
  • /BlogPosting
  • /ImageObject
  • /LocalBusiness
  • /Offer
  • /Organization
  • /Person
  • /PostalAddress
  • /Product
  • /SearchAction
  • /WebPage
  • /WebSite

Regarding what is already implemented by the module, it seems only few are missing :

  • AggregateRating
  • Blog & BlogPosting
  • Local Business
  • Offer
  • Postal Adress

Comments

Simon Georges created an issue. See original summary.

karens’s picture

Almost all of these are available, but not all of these are top level modules.

BlogPosting is an option in Article, schema_article module.
LocalBusiness are options in Organization, schema_organization module.

AggregateRating is a property available on almost all modules (Recipe, Article, Organization, etc.).
PostalAddress is a property available in many places, like Organization. It's also a part of Place, which is available for Event, JobPosting and others.
Offer is a property available in many places, like on Product and Service.

The only thing in your list that doesn't exist anywhere is Blog. Which could be created as a generic CreativeWork for the odds and end of CreativeWorks that aren't already represented.

karens’s picture

Also if you want to get some idea of what is available, check out the new demo site (link on the project page). That has a lot of content types populated with JSON-LD data. You can view the source of each page to see some of the options that can be implemented (there are so many options that not all are implemented even in the demo). The demo also has links so you can check the markup on Google's structured data test tool to see what Google thinks of it.

Another place to see some of what's available is on the new developer documentation page, https://www.drupal.org/docs/8/modules/schemaorg-metatag/developer-instru....

christophweber’s picture

As far as I'm concerned the support for the non-obvious schemas is exactly where it needs to be. As outlined by Karen, AggregateRating, BlogPosting, Local Business, Offer and Postal Address are within other schemas where many practitioners would expect them. For example, I have never seen AggregateRating used in isolation, but on countless sites using Recipe, Product, LocalBusiness(Organization) and other schemas. The linked Twitter thread also makes this clear if you read further down.

What we could do better is mention these often used schemas in the docs and possibly in help text to guide newcomers. I'm going to think this through a bit more and see what can be done.

That leaves Blog, which should have its own issue opened to track progress.

simon georges’s picture

Wow, the module is a lot bigger than what I've seen during my last tests ! Indeed, it seems this issue was not at all necessary ;-)

hudat’s picture

The local business option is available within organization, but it does not capture all the properties. Particularly, I'm looking for the parentOrganization property

Has anyone been able to include this property with the organization object? Doesn't seem like there are any other objects that would include it

didebru’s picture

I still miss the articleBody key.

https://search.google.com/structured-data/testing-tool/u/0/#url=http%3A%...

And a token that provides the full rendered article, would be nice.

damienmckenna’s picture

And a token that provides the full rendered article, would be nice.

You should take that up with the Token maintainers, that'd be the best place for a generic "render the whole thing" token.

didebru’s picture

damienmckenna’s picture

Thanks.

didebru’s picture

StatusFileSize
new1.88 KB

Added the articleBody Plugin, maybe the description should be written else.

didebru’s picture

Status: Active » Needs review

Status: Needs review » Needs work

The last submitted patch, 11: 2955885-articleBody-10.patch, failed testing. View results

karens’s picture

This should not extend SchemaMainEntityOfPageBase, it should extend SchemaNameBase.

didebru’s picture

StatusFileSize
new1.86 KB
didebru’s picture

StatusFileSize
new755 bytes

and the interdiff

didebru’s picture

Status: Needs work » Needs review

and the interdiff

Status: Needs review » Needs work

The last submitted patch, 15: 2955885-articleBody-15.patch, failed testing. View results

karens’s picture

Status: Needs work » Fixed

Your label description says that this field is RECOMMENDED BY GOOGLE, which it is not, see https://developers.google.com/search/docs/data-types/article which does not list it. There are many many fields that are in the schema model and they can't all be added without making this module huge, so my focus is on the fields that Google recommends or requires in their structured data docs. The body field would not be one of those.

You can easily create a small custom module to add this or any other field, using the example module provided. That way the code does not become loaded with tons of fields that are not of general use. The patch illustrates the right way to go about this, by extending SchemaNameBase (a base for simple text fields).

So I'm not going to add this to the module. And looking at this issue I think it has run its course. Rather than adding more fields this way, each should be its own issue.

So I'm marking this issue, which is a plan, not a bug or feature, as fixed. Just to clean up the issue queue so it consists of actionable issues.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.