Closed jilladams closed 1 year ago
From https://github.com/department-of-veterans-affairs/va.gov-cms/issues/10240#issuecomment-1228727561: Properties of interest: https://schema.org/jurisdiction https://schema.org/serviceOperator https://schema.org/areaServed https://schema.org/audience https://schema.org/provider https://schema.org/category https://schema.org/offers https://schema.org/hoursAvailable https://schema.org/isRelatedTo https://schema.org/isSimilarTo https://schema.org/logo https://schema.org/serviceType https://schema.org/governmentBenefitsInfo
Doc: https://www.drupal.org/docs/contributed-modules/schemaorg-metatag Basic usage: https://www.drupal.org/docs/contributed-modules/schemaorg-metatag/basic-usage Example PR to see this in action: [TBD]
Sidebar schema.org implementation notes in order to have experienced feedback in the spreadsheet for this ticket's ACs. https://va-gov-cms.ddev.site/admin/config/search/metatag to configure content types to use it.
List of submodules:
va.gov-cms: ddev drush pml |grep schema 11:41
SEO Schema.org Article (schema_article) Disabled 8.x-2.4
SEO Schema.org Metatag Example (schema_article_example) Disabled 8.x-2.4
SEO Schema.org Book (schema_book) Disabled 8.x-2.4
SEO Schema.org Course (schema_course) Disabled 8.x-2.4
SEO Schema.org Event (schema_event) Disabled 8.x-2.4
SEO Schema.org HowTo (schema_how_to) Disabled 8.x-2.4
SEO Schema.org Image Object (schema_image_object) Disabled 8.x-2.4
SEO Schema.org ItemList (schema_item_list) Disabled 8.x-2.4
SEO Schema.org JobPosting (schema_job_posting) Disabled 8.x-2.4
SEO Schema.org Metatag (schema_metatag) Enabled 8.x-2.4
SEO Schema.org Movie, Series, Season, Episode (schema_movie) Disabled 8.x-2.4
SEO Schema.org Organization (schema_organization) Disabled 8.x-2.4
SEO Schema.org Person (schema_person) Disabled 8.x-2.4
SEO Schema.org Place (schema_place) Disabled 8.x-2.4
SEO Schema.org Product (schema_product) Disabled 8.x-2.4
SEO Schema.org QAPage and FAQPage (schema_qa_page) Disabled 8.x-2.4
SEO Schema.org Recipe (schema_recipe) Disabled 8.x-2.4
SEO Schema.org Review (schema_review) Disabled 8.x-2.4
SEO Schema.org Service (schema_service) Disabled 8.x-2.4
(schema_special_announcement)
SEO Schema.org Video Object (schema_video_object) Disabled 8.x-2.4
SEO Schema.org WebPage (schema_web_page) Disabled 8.x-2.4
SEO Schema.org WebSite (schema_web_site) Enabled 8.x-2.4
As an example with existing benefit hub content type:
Seems that the web_site sub module isn't the one we need. Looking at schema_organization
and schema_qa_page
.
Looks like we need to implement:
So far it's looking like all of this happens as backend drupal configuration without the input of editors, using tokens, not on a per-field basis. This is not something I necessarily remembered from last year's exploration.
Here are instructions for adding other schemas (goverment organiztion is needed) to this module, which is what I think we will need to do and am working on specs for that: https://www.drupal.org/docs/contributed-modules/schemaorg-metatag/developer-instructions-for-82-branch
Please keep in mind that schema_metatag alters the headers of Drupal pages and would need to be validated that it is available to graphql so it could be used on the FE. Also FE pages are often composed of more than one Drupal node, so this implementation may not work directly.
This needs further exploration and discussion but after talking to Dave Picket, this isn't something that we can use for this piece of work. When we do the benefit detail page hardening, we can discuss if there's value in adding the schema meta tags or if it makes more sense to write it in to the FE templating.
Browser tab dump for this project.
https://www.drupal.org/project/schema_metatag https://www.drupal.org/docs/contributed-modules/schemaorg-metatag/basic-usage https://va-gov-cms.ddev.site/admin/content-models/content https://github.com/department-of-veterans-affairs/va.gov-cms/issues/10240 https://schema.org/docs/full.html https://schema.org/GovernmentOrganization https://github.com/department-of-veterans-affairs/va.gov-cms/issues/12423 https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/teams/vsa/design/getting-started-with-va.gov-forms.md https://docs.google.com/document/d/1viOAMVIJBaA8SLUmPXX_ue4Zx6C1AS69zeX6M78tcY4/edit#heading=h.6pjtpf65zekx https://github.com/department-of-veterans-affairs/va.gov-cms/issues/12408 https://github.com/department-of-veterans-affairs/va.gov-cms/issues/12423#issuecomment-1442298889 https://www.drupal.org/node/1351226 https://www.drupal.org/docs/contributed-modules/schemaorg-metatag/developer-instructions-for-82-branch https://docs.google.com/spreadsheets/d/1gP6x-QLFRrJlLWdCEE1COAZXU-kRRmFKSc0sIlc_tyM/edit#gid=0 https://github.com/department-of-veterans-affairs/va.gov-cms/pull/12775 https://app.mural.co/t/vagov6717/m/vagov6717/1658937741729/88cc653ce1bed251e60940c147867eb061496070?sender=24bf1cd3-f133-422b-9bcd-4a63bcc29386 https://app.mural.co/t/vagov6717/m/vagov6717/1658937741729/88cc653ce1bed251e60940c147867eb061496070?sender=1da96bd6-48ea-4c90-b661-1e71111b18a8 https://app.mural.co/t/vagov6717/m/vagov6717/1658937741729/88cc653ce1bed251e60940c147867eb061496070?wid=0-1677268614480&outline=open&sender=1826f255-c819-4936-88db-4c3ab3efdbbf
Talked to Christia today.
Contributions: Both schema.org and the Drupal module are set up such that we can contribute. So: if they don't contain what we need today, and we think there's value in using this construct (for either search engine or Chatbot, tbd user story updates), then: we can identify what metadata are important to push out, and build those schemas out for both schema.org and the module. LIke: do we want to add Government Healthcare Agency, or Govt Healthcare Coverage Provider or something. So: to an extent we need to be able to identify ourselves which fields are important to push out in this way metadata-wise, regardless of what's already available. (Or: say that this is only opportunistic and we'll only do it if we can tap into existing schemas.)
GraphQL: She's going to re-review how much of the schema.org data from the Drupal module can be pushed through GraphQL for the front-end, to Steve's point above. Timeboxing this to an hour to verify.
Once we know if the answer is yes, schema.org module metadata can go through GraphQL: then, we need to regroup with @chri5tia @swirtSJW and @wesrowe (and maybe Josh), to just confirm next steps and how much to pull into our content model sheet right now.
User stories The mud here is highlighting that the user stories don't really get at the actual use case for why we care about schema.org from Chatbot or end user perspective. I think the Veteran user story should actually be something like: I want better / more accurate search results from Google / Bing, etc. for VA.gov content. And also: what's the Chatbot point. @wesrowe do you have a sense of that? Like: the end goal is to have front-end metatags wrapped around content in VA.gov so that the Chatbot can more effectively scrape the front-end? Or, the goal is to have metadata pushed from Drupal through a someday-content API that Chatbot can read from?
I updated the user stories. I don't know about VA Chatbot, but Alexa would probably use micro-schema to better answer questions the same way Google would.
I updated the user stories. I don't know about VA Chatbot, but Alexa would probably use micro-schema to better answer questions the same way Google would.
@wesrowe Can you tell me what you mean by microschema
and in the same way as Google would
? My SEO skills and knowledge are vastly outdated. Schema.org is a Google project.
By microschema, do you mean drilled down like Thing > Organization > GovernmentOrganization and then the schema specifically related to GovernmentOrganization here? In this case we would need to extend what would go here on schema.org and then on the drupal module.
There may be other ways we want to accomplish the user story, such as using JSON-LD mark up instead of the schema_metadata module.
Search Engine support status (as of July 2018) Google recommends JSON-LD over Microdata and RDFa - https://developers.google.com/search/docs/guides/sd-policies Bing supports JSON-LD markup since Fabrice Canel's announcement at SMX Advanced fair on the 12th June 2018. Bing has implemented this feature in the Bing Webmaster Tools interface and in the Bing Markup Validator Tool. Yandex is fine with JSON-LD, they have a validator at https://webmaster.yandex.com/tools/microtest/ Baidu uncertain - https://cloud.baidu.com/product/kg/schema implies yes, search results imply no.
Wait. I remember from last time that the drupal schema module covers all this:
JSON LD adds the data within the head element. RDFa and Microdata add this data directly within the code of the content. JSON LD duplicates data but is most commonly used because Google recommends JSON LD.
https://www.drupal.org/docs/8/modules/schemaorg-metatag/json-ld-microdata-or-rdfa
Schema.org article about microdata: https://schema.org/docs/gs.html
Summarizing how to configure the schema.org metadata Drupal module:
schema_metatag
and other submodules; I did schema_organization
, schema_article
, and schema_qa_page
to play aroundTimeboxing the GraphQL part of this ticket from last sprint has gone over. I think more brains will need to work together on this on a foundational level if we wanted to use it but I don't see the value at this point in any way. If we pursue schema.org further, we should look at our options for alternatives to achieve a similar user story. I don't see what a veteran would care if it's schema.org or another method to add meta tags and SEO components. The module needs work. More conversations needed.
Per backend refinement: schema.org is in use on some Facilities, in the front-end, to help search engines do a better job surfacing some facilities data.
We all agree: best used on the frontend, rather than in Drupal. With that, closing this ticket. We will create add'l tickets for front-end for the hardening of the Benefit Detail Page.
Just a note: I added a schema.org item to the ACs in the epic
Description
12423 created a field map (VA Benefit Content type spec (google sheet)) for the Benefits Detail Page content model hardening project.
We now need to document in that sheet how fields connect to schema.org markup in the presentation layer (see #10240)
Goal is a thorough first pass with pretty high confidence that our suggestions are a good idea, that we can present to Dave C & Danielle for feedback.
User story
AS A Veteran I WANT benefit content to utilize schema.org/micro-schema SO THAT internet search tools (including Google and Alexa) provide more detailed information before I even visit VAgov.
AS A Drupal engineer, I WANT the content design of the Benefit content model (BCM) to include micro-schema requirements SO THAT there is nothing ambiguous about the implementation requirements.
AS A VA Product Owner I WANT the BCM to be designed to maximize schema.org SO THAT we learn and potentially model use of micro-schema within the VAgov ecosystem
Engineering notes / background
Acceptance criteria
Team
Please check the team(s) that will do this work.
CMS Team
Public Websites
Facilities
User support