COVID-19 Structured Data: What You Need to Know

June 9, 2020 in Articles



COVID-19 Structured Data: What You Need to Know

Seemingly overnight, 2020 became the year of the coronavirus. It’s touched almost every unique aspect of our lives and has left indelible marks.

And now, it’s even changing Google.

Google has recently introduced COVID-19 special announcement structured data markup. This markup is still undergoing beta testing and Google developers are actively developing this feature, so you may see changes in requirements or guidelines.

Nonetheless, it remains an important feature in these difficult times. Here’s what your team needs to know about this new type of structured data.

Examples of Special Announcements That Should be Marked Up

Due to the global COVID-19 outbreak, many organizations are publishing critical information about the evolving pandemic situation. Google recognizes the need to get those announcements out into the world.

So, Google is developing a new way to ensure these special announcements are highlighted in Google Search: SpecialAnnouncement structured data.

Here are a few examples of the types of special announcements that would qualify for this markup:

  • Announcement of a shelter-in-place directive
  • Closure notice (for example, closing a school or public transportation)
  • Announcement of government benefits (for example, unemployment support, paid leave, or one-time payments)
  • Quarantine guidelines
  • Travel restrictions
  • Notification of a new drive-through testing center
  • Announcement of an event transitioning from offline to online, or cancellation
  • Announcement of revised hours and shopping restrictions
  • Disease spread statistics and maps

As you can see, these are all critical announcements that would have an immediate impact on everyday life. As such, web users should be informed immediately, which is why Google is making the decision to prioritize such announcements.

Which Sites are Eligible to Use This Markup?

For the time being, only government agencies and health agency sites are eligible to use this markup, since they are most likely to release the kind of updates that would qualify for the markup. These include things like stay-at-home directives, school closures, business hour changes, etc.

That said, the markup is still in beta and the COVID-19 situation is evolving, so keep your eye on how the markup changes over time.

How to Implement COVID-19 Special Announcements?

There are two ways that you can implement your COVID-19 announcements.

The recommended route is to add SpecialAnnouncement data to your web pages, which is a type of structured data. Structured data is a standardized format for providing information about a page and classifying the page content.

To implement COVID-19 announcement structured data, follow these steps:

  1. Make sure Googlebot can access your pages (meaning, your pages aren’t disallowed by a robots.txt file or robots meta tag). You can see all pages blocked on your site in the Index Coverage report, or test a specific page using the URL Inspection Tool.
  2. Add the required and recommended properties.
  3. Follow the guidelines.
  4. Validate your code using the Rich Results Test.
  5. Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is accessible to Google and not blocked by a robots.txt file, the noindex tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs.
  6. To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.

If you don’t have access to your site’s HTML or don’t have time to implement structured data (usually because you need to submit an announcement quickly) you can instead submit an announcement in the Search Console.

Keep in mind, however, that this option is only intended for short-lived announcements set to expire within a month. Also, this option makes it impossible to update your announcement, since Google assumes the announcement will expire in a short time period The structured data approach is recommended because it does allow you to update your announcement, whether you’re adding more details or extending the date, as in the case of closure of facilities, rescheduling of events, and new availability of medical facilities (for example, testing centers). Google Search uses this information to better understand the content on your web page and show the important announcement to relevant people alongside your web page result.

COVID-19 Special Announcements in Search Results

Once you add this new mark up on the page, the content becomes eligible to appear with a COVID-19 special announcement rich result.

Here’s what it will look like:

Examples

Shelter-in-place announcement

Here’s an example of JSON-LD for the shelter-in-place announcement that affects multiple counties.

<html>
  <head>
    <title>Shelter-in-place announcement</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SpecialAnnouncement",
      "name": "Shelter-in-place for 3 California counties",
      "text": "As of 11:59 pm on March 17, 2020, all individuals in the 3 counties must strictly follow the provisions in this new Order. This new Order will be in effect through March 30, 2020.",
      "datePosted": "2020-03-17T08:00",
      "expires": "2020-03-24T23:59",
      "quarantineGuidelines": "https://example.org/california/shelter-in-place/",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips/",
      "category": "https://www.wikidata.org/wiki/Q81068910",
      "spatialCoverage": [
        {
          "type": "AdministrativeArea",
          "name": "San Francisco County, CA"
        },
        {
          "type": "AdministrativeArea",
          "name": "Marin County, CA"
        },
        {
          "type": "AdministrativeArea",
          "name": "Santa Clara County, CA"
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Multiple updates on a single page

Here’s an example of JSON-LD for the multiple announcements.

<html>
  <head>
    <title>CA Updates on COVID-19</title>
    <script type="application/ld+json">
  [{
      "@context": "https://schema.org",
      "@type": "SpecialAnnouncement",
      "name": "Shelter-in-place for 3 California counties",
      "text": "<a href=https://example.org/california/executive-order-123>Executive order 123</a> requires residents to shelter-in-place through April 30. Additional disease prevention and quarantine guidelines are also available.",
      "datePosted": "2020-04-01T08:00",
      "expires": "2020-05-03T23:59",
      "quarantineGuidelines": "https://example.org/california/shelter-in-place",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips",
      "category": "https://www.wikidata.org/wiki/Q81068910",
      "spatialCoverage": [
        {
          "type": "AdministrativeArea",
          "name": "Santa Clara County, CA"
        },
        {
          "type": "AdministrativeArea",
          "name": "Marin County, CA"
        },
        {
          "type": "AdministrativeArea",
          "name": "Santa Clara County, CA"
        }
      ]
    },
  {
      "@context": "https://schema.org",
      "@type": "SpecialAnnouncement",
      "name": "New information regarding worker benefits during COVID-19",
      "text": "A new summary chart explains the benefits for workers that are impacted by COVID-19. <a href=https://example.org/california/summary-of-benefits>Learn more</a>.",
      "datePosted": "2020-03-30T08:00",
      "expires": "2020-04-06T23:59",
      "newsUpdatesAndGuidelines": "https://example.org/california/worker-benefits-covid-19",
      "category": "https://www.wikidata.org/wiki/Q81068910",
      "spatialCoverage":
        {
          "type": "State",
          "name": "CA"
        }
    },
    {
      "@context": "https://schema.org",
      "@type": "SpecialAnnouncement",
      "name": "Updates on key federal changes to make food and health care more accessible",
      "text": "The Federal Government is making food and health care more accessible.",
      "datePosted": "2020-03-29T08:00",
      "expires": "2020-04-05T23:59",
      "newsUpdatesAndGuidelines": "https://example.org/california/food-health-guidelines",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips",
      "category": "https://www.wikidata.org/wiki/Q81068910",
      "spatialCoverage":
        {
          "type": "State",
          "name": "CA"
        }
      }
  ]
    </script>
  </head>
  <body>
  </body>
</html>

Government benefits announcement

Here’s an example of JSON-LD for an announcement of a new government benefit for small businesses.

<html>
  <head>
    <title>New Paycheck Protection Program for small business</title>
    <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SpecialAnnouncement",
    "name": "New Paycheck Protection Program for small business",
    "text": "Example Administration announces a new loan that helps small businesses keep their workforce employed during the Coronavirus (COVID-19) crisis.",
    "datePosted": "2020-03-30T08:00",
    "expires": "2020-04-24T23:59",
    "category": "https://www.wikidata.org/wiki/Q81068910",
    "spatialCoverage": {
      "type": "Country",
        "name": "US"
        },
    "governmentBenefitsInfo": {
      "@type": "GovernmentService",
      "name": "Paycheck Protection Program",
      "url":  "https://www.sba.gov/funding-programs/loans/coronavirus-relief-options/paycheck-protection-program-ppp",
      "provider": {
        "@type": "GovernmentOrganization",
        "name": "US Small Business Administration"
       },
      "serviceType": "http://schema.org/BusinessSupport",
      "audience": {
        "@type": "Audience",
        "name": "Small businesses"
        }
      }
    }
  }
    </script>
  </head>
  <body>
  </body>
</html>

School closure announcement

Here’s an example of JSON-LD for school closure announcement.

<html>
  <head>
    <title>COVID-19 School Announcements</title>
    <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SpecialAnnouncement",
    "name": "COVID-19 School Announcements",
    "text": "All schools will remain closed through a minimum of May 1 in alignment with school
    districts across all Bay Area counties.",
    "datePosted": "2020-03-17T08:00",
    "expires": "2020-03-24T23:59",
    "category": "https://www.wikidata.org/wiki/Q81068910",
    "schoolClosuresInfo": "https://example-school-district.org/announcements/extended-closure-notice",
    "announcementLocation": {
      "@type": "CivicStructure",
      "name": "Example School",
      "url": "https://example-school.org/",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "123 West Chestnut Drive",
        "addressLocality": "Palo Alto",
        "postalCode": "13478",
        "addressRegion": "CA",
        "addressCountry": "US"
      }
    }
  }
    </script>
  </head>
  <body>
  </body>
</html>

COVID-19 testing facility announcement

Here’s an example of JSON-LD for COVID-19 testing facility announcement.

<html>
  <head>
    <title>COVID-19 testing facility announcement</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SpecialAnnouncement",
      "name": "Example Health Care announces COVID-19 testing facility",
      "text": "Example Health Care’s same-day primary care program is offering drive-through testing, by appointment, for SARS-CoV-2, the coronavirus that causes COVID-19.",
      "datePosted": "2020-03-16T08:00",
      "expires": "2020-03-24T23:59",
      "gettingTestedInfo": "https://med.example.edu/news/covid-19-testing-facility.html",
      "category": "https://www.wikidata.org/wiki/Q81068910",
      "announcementLocation" : {
        "@type": "CivicStructure",
        "name": "Example Health Care",
        "url": "https://examplehealthcare.org/",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "123 West Chestnut Drive",
          "addressLocality": "Palo Alto",
          "postalCode": "13478",
          "addressRegion": "CA",
          "addressCountry": "US"
          }
        }
      }
    </script>
  </head>
  <body>
  </body>
</html>

Guidelines

You must follow the general structured data guidelines and Webmaster Guidelines to be eligible to appear in special announcements on Google Search.

If your site abuses or fails to follow the guidelines, Google may take manual action to mark it ineligible to display as a rich result. If you receive a manual action, remedy the issue and submit your site for reconsideration

You must include the required properties for your content to be eligible for display as a special announcement on Google Search. We recommend that you also add the recommended properties if you have that information.

Required properties:

  • datePosted
  • name
  • text or a specific property, including: diseasePreventionInfo, diseaseSpreadStatistics, gettingTestedInfo, governmentBenefitsInfo, newsUpdatesAndGuidelines, publicTransportClosuresInfo, quarantineGuidelines, schoolClosuresInfo, travelBans

There are also several Recommended Properties, explained by Google under the Required Properties.

How to Monitor Performance

To understand how users interact with SpecialAnnouncements, you can use the Performance Report to see how your SpecialAnnouncements appear in the Search results. You can also use the Rich Results Status Report in Search Console to understand what Google couldn’t read from your site.

The novel coronavirus pandemic has brought us into frightening times. When so much of what we took for granted is up in the air, we need to be able to find answers. The Google SpecialAnnouncements markup helps provide a few essential ones.

Leave a Reply