HugoBlox / hugo-blox-builder

🚨 GROW YOUR AUDIENCE WITH HUGOBLOX! 🚀 HugoBlox is an easy, fast no-code website builder for researchers, entrepreneurs, data scientists, and developers. Build stunning sites in minutes. 适合研究人员、企业家、数据科学家和开发者的简单快速无代码网站构建器。用拖放功能、可定制模板和内置SEO工具快速创建精美网站!
https://hugoblox.com/templates/
MIT License
8.2k stars 2.9k forks source link

JSON+LD for multible Authors #1663

Closed HughP closed 4 years ago

HughP commented 4 years ago

Describe the bug

Events/Talks with Multiple Authors (such as presenters), are not Expressed as multiple performers in the JSON+LD metadata description in the schema.org vocabulary.

To Reproduce

  1. Create an Event with an array of authors.
  2. Render the website with hugo server
  3. Look at the source code.

Expected behavior

on events with multible authors/presenters, multible performers should be indicated in the JSON+LD

the JSON+LD can take an array

"performer": 
[
 {"@type": "Person",
  "name": "Some Name"},  
 {"@type": "Person",
  "name": "Some Name"}
]

Technical details:

Both types (YAML, TOML) of list of authors were tried in the header.

authors: 
 - Hugh Paterson III
 - Richard Griscom

tags: ["Archives", "Business Plan", "Data Ecology", "Preservation Studies"]

If applicable, add screenshots to help explain the issue.

gcushen commented 4 years ago

Can you link/quote where Google states that it supports and uses multiple event authors/performers in rich search results - https://developers.google.com/search/docs/data-types/event ?

HughP commented 4 years ago

I think you ask the impossible. Here is why: Rich snippets are only one of the things that Google does with the JSON+LD payload, and they change the exact output (presentation/content) of the snippet from time to time. Google says that structured data only enables their features to work, not that their features will be guaranteed to work. Google does suggest is that the JSON+LD which is provided conform to the vocabulary usage of schema.org and that it validate on the Google Structured Data Tool. This puts website maintainers in the positions that they should try and implement all "relevant" portions of the schema.org vocabulary in the structured metadata they provide Google. This interview also points to an assertion that Google uses all structured data for relevance, but only some of that structured data is pertinent for creating a UX on google's website.

I can verify that the following JOSN validates in the GSDT, with the following exceptions I develop locally and my URLs are not resolvable. — this creates an error. And second, the google implementation of schema.org Article requires an image to validate on the GSDT. I raised the issue of the required image with the designers over at schema.org (a community in which some Google staff also partake) and they say that from their perspective there is no requirement, so this is purely a Google implementation of schema.org metadata.

So, Google does acknowledge that two authors is valid schema.org JSON+LD payload from which they will choose the elements they want to create the interaction on their site as they see fit.

The Google implementation for 'Article' requiring an image could be seen as sensible if we take account of the note over at schema.org at the bottom of 'Article'where it says that the design paradigm for Article was the implementation of rNews and the mental model of Article was a news article.

Designers at schema.org went on then to define ScholarlyArticle which I think is a much better description for the items that Hugo-Academic users are putting in their publications pages (other relevant options include manuscript, Book, Book Chapter, and Thesis. Note that these item types are already available in the academic theme via a taxonomy. In these items two authors also validate.

If you want an example of a periodical article (not the scholarly article type) the third example under Article provides some directionality (a valid example) — but I could also write up a JSON snippet too if you wanted something like that, as I have been working on creating a GSDT valid CV in pure JSON+LD from schema.org.


<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "//localhost:1313/publication/2016-open-source-code/"
  },
  "headline": "Open Source Code Serving Endangered Languages",

  "datePublished": "2016-05-23T00:00:00Z",
  "dateModified": "2016-05-23T00:00:00Z",

  "author": [{
    "@type": "Person",
    "name": "Richard Littauer"
  },{
    "@type": "Person",
    "name": "Hugh Paterson"
  }],

  "publisher": {
    "@type": "Organization",
    "name": "Academic",
    "logo": {
      "@type": "ImageObject",
      "url": "//localhost:1313/images/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_192x192_fill_lanczos_center_2.png"
    }
  }, 
  "description": "We present a database of open source code that can be used by low-resource language communities and developers to build digital resources. Our database is also useful to software developers working with those communities and to researchers looking to describe the state of the field when seeking funding for development projects."
}
</script>
stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had any recent activity. The resources of the Academic team are limited, and so we are asking for your help. If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open. If this is a feature request, and you feel that it is still relevant and valuable, please tell us why. This issue will automatically close soon if no further activity occurs. Thank you for your contributions.