Special announcement (SpecialAnnouncement) structured data (BETA)

Many organizations, such governments, health organizations, schools, and more, may need to publish urgent announcements (such as COVID-19 announcements) that affect schedules and other aspects of everyday life. This includes the closure of facilities, rescheduling of events, and new availability of medical facilities (for example, testing centers). Here are some examples of special announcements:

  • 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
An example of a special announcement in Google Search

How to implement special announcements

There are two ways that you can implement your special announcements:

  • Add SpecialAnnouncement structured data to your web pages (recommended): Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
  • Submit announcements in Search Console: If you don't have access to your site's HTML, or you need to quickly submit the announcement (and you don't have time to implement structured data), you can submit the announcement in Search Console. The tool is only for short-lived announcements that are set to expire within a month of posting. Also, there is currently no way to update your announcement (with structured data, it's possible to update your announcement with more details or extend the date).

How to add structured data

Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.

Here's an overview of how to build, test, and release structured data.

  1. Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
  2. Follow the guidelines.
  3. Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
  4. 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.
  5. To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.

Submit a special announcement for your site in Search Console (BETA)

Government agencies and official health organizations can submit an important announcement on their site, particularly if they are unable to use structured data. This includes the 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.

Open announcement submission tool

Feature availability

You may see changes in requirements or guideline, and you may not see results in Google Search right away. We are focusing on announcements from health and government organizations. You can provide structured data or submit your announcement in Search Console in advance, to ensure that your announcements are eligible when the feature becomes available. This helps Google understand the data behind special announcements.

Examples

Shelter-in-place announcement

Here's an example of a shelter-in-place announcement that affects multiple counties.

JSON-LD


<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, 2024, 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, 2024.",
      "datePosted": "2024-03-17T08:00",
      "expires": "2024-03-24T23:59",
      "quarantineGuidelines": "https://example.org/california/shelter-in-place/",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips/",
      "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>

Microdata


<html itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
<head>
  <title itemprop="name">Shelter-in-place for 3 California counties</title>
</head>
<body>
  <p itemprop="datePosted" content="2024-03-17T08:00">March 17, 2024</p>
  <meta itemprop="expires" content="2024-03-30T08:00" />
  <p itemprop="text">As of 11:59 pm on March 17, 2024, 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, 2024.</p>
  <p itemprop="quarantineGuidelines" content="https://example.org/california/shelter-in-place/"><a href="https://example.org/california/shelter-in-place/">Learn more</a>.</p>
  <meta itemprop="diseasePreventionInfo" content="https://example.org/california/prevention-tips/" />
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="San Francisco County, CA" />
    </div>
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="Marin County, CA" />
  </div>
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="Santa Clara County, CA" />
  </div>
</body>
</html>

Multiple updates on a single page

Here's an example of an updates page that has multiple announcements.

JSON-LD


<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": "2024-04-01T08:00",
      "expires": "2024-05-03T23:59",
      "quarantineGuidelines": "https://example.org/california/shelter-in-place",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips",
      "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": "2024-03-30T08:00",
      "expires": "2024-04-06T23:59",
      "newsUpdatesAndGuidelines": "https://example.org/california/worker-benefits-covid-19",
      "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": "2024-03-29T08:00",
      "expires": "2024-04-05T23:59",
      "newsUpdatesAndGuidelines": "https://example.org/california/food-health-guidelines",
      "diseasePreventionInfo": "https://example.org/california/prevention-tips",
      "spatialCoverage":
        {
          "type": "State",
          "name": "CA"
        }
      }
  ]
    </script>
  </head>
  <body>
  </body>
</html>

Microdata


<html>
<head>
  <title itemprop="name">CA Updates on COVID-19</title>
</head>
<body>
<div itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
  <h2 itemprop="name">Shelter-in-place for 3 California counties</h2>
  <meta itemprop="datePosted" content="2024-03-17T08:00" />
  <meta itemprop="expires" content="2024-03-30T08:00" />
  <p itemprop="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.</p>
  <p itemprop="quarantineGuidelines" content="https://example.org/california/shelter-in-place/"><a href="https://example.org/california/shelter-in-place/">Learn more</a>.</p>
  <meta itemprop="diseasePreventionInfo" content="https://example.org/california/prevention-tips/" />
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="San Francisco County, CA" />
    </div>
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="Marin County, CA" />
  </div>
  <div itemprop="spatialCoverage" itemtype="https://schema.org/AdministrativeArea" itemscope>
    <meta itemprop="name" content="Santa Clara County, CA" />
  </div>
</div>
<div itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
  <h2 itemprop="name">New information regarding worker benefits during COVID-19</h2>
  <meta itemprop="datePosted" content="2024-03-30T08:00" />
  <meta itemprop="expires" content="2024-04-06T23:59" />
  <p itemprop="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>.</p>
  <meta itemprop="newsUpdatesAndGuidelines" content="https://example.org/california/worker-benefits-covid-19" />
  <div itemprop="spatialCoverage" itemtype="https://schema.org/State" itemscope>
    <meta itemprop="name" content="CA" />
    </div>
</div>
<div itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
  <h2 itemprop="name">Updates on key federal changes to make food and health care more accessible</h2>
  <meta itemprop="datePosted" content="2024-03-29T08:00" />
  <meta itemprop="expires" content="2024-04-05T23:59" />
  <p itemprop="text">The Federal Government is making food and health care more accessible.</p>
  <meta itemprop="newsUpdatesAndGuidelines" content="https://example.org/california/food-health-guidelines" />
  <meta itemprop="diseasePreventionInfo" content="https://example.org/california/prevention-tip" />
  <div itemprop="spatialCoverage" itemtype="https://schema.org/State" itemscope>
    <meta itemprop="name" content="CA" />
    </div>
</div>
</body>
</html>

Government benefits announcement

Here's an example of an announcement of a new government benefit for small businesses.

JSON-LD


<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": "2024-03-30T08:00",
    "expires": "2024-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"
        }
      }
    }
  }
    </script>
  </head>
  <body>
  </body>
</html>

Microdata


<html itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
<head>
  <title itemprop="name">New Paycheck Protection Program for small business</title>
</head>
<body>
  <meta itemprop="datePosted" content="2024-03-30T08:00" />
  <meta itemprop="expires" content="2024-04-24T23:59" />
  <p itemprop="text">Example Administration announces a new loan that helps small businesses keep their workforce employed during the Coronavirus (COVID-19) crisis.</p>
  <div itemprop="spatialCoverage" itemtype="https://schema.org/Country" itemscope>
    <meta itemprop="name" content="US" />
  </div>
  <div itemprop="governmentBenefitsInfo" itemtype="https://schema.org/GovernmentService" itemscope>
    <meta itemprop="url" content="https://www.example.gov/funding-programs/loans/coronavirus-relief-options/paycheck-protection-program-ppp" />
    <meta itemprop="name" content="US Small Business Administration" />
  </div>
</body>
</html>

School closure announcement

Here's an example of a school closure announcement.

JSON-LD


<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": "2024-03-17T08:00",
    "expires": "2024-03-24T23:59",
    "schoolClosuresInfo": "https://example-school-district.org/announcements/extended-closure-notice",
    "announcementLocation": {
      "@type": "CivicStructure",
      "name": "Example School",
      "url": "https://example-school.org/"
    }
  }
    </script>
  </head>
  <body>
  </body>
</html>

Microdata


<html itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
<head>
  <title itemprop="name">COVID-19 School Announcements</title>
</head>
<body>
  <p itemprop="datePosted" content="2024-03-17T08:00">March 17, 2024</p>
  <meta itemprop="expires" content="2024-03-30T08:00" />
  <p itemprop="text">All schools will remain closed through a minimum of May 1 in alignment with school districts across all Bay Area counties.</p>
  <p itemprop="schoolClosuresInfo" content="https://example-school-district.org/announcements/extended-closure-notice"><a href="https://example-school-district.org/announcements/extended-closure-notice">Learn more</a>.</p>
  <div itemprop="announcementLocation" itemtype="https://schema.org/CivicStructure" itemscope>
    <meta itemprop="name" content="Example School" />
    <meta itemprop="url" content="https://example-school.org/" />
  </div>
</body>
</html>

Testing facility announcement

Here's an example of a testing facility announcement.

JSON-LD


<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": "2024-03-16T08:00",
      "expires": "2024-03-24T23:59",
      "gettingTestedInfo": "https://med.example.edu/news/covid-19-testing-facility.html",
      "announcementLocation" : {
        "@type": "CivicStructure",
        "name": "Example Health Care",
        "url": "https://examplehealthcare.org/"
        }
      }
    </script>
  </head>
  <body>
  </body>
</html>

Microdata


<html itemscope itemprop="SpecialAnnouncement" itemtype="https://schema.org/SpecialAnnouncement">
<head>
  <title itemprop="name">Example Health Care announces COVID-19 testing facility</title>
</head>
<body>
  <p itemprop="datePosted" content="2024-03-17T08:00">March 17, 2024</p>
  <meta itemprop="expires" content="2024-03-30T08:00" />
  <p itemprop="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.</p>
  <p itemprop="gettingTestedInfo" content="https://med.example.edu/news/covid-19-testing-facility.html"><a href="https://med.example.edu/news/covid-19-testing-facility.html">Learn more</a>.</p>
  <div itemprop="announcementLocation" itemtype="https://schema.org/CivicStructure" itemscope>
    <meta itemprop="name" content="Example Health Care" />
    <meta itemprop="url" content="https://examplehealthcare.org/" />
  </div>
</body>
</html>

Guidelines

You must follow these guidelines to be eligible to appear in special announcements on Google Search.

Structured data type definitions

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.

SpecialAnnouncement

The full definition of SpecialAnnouncement is provided on schema.org. You can start using SpecialAnnouncement even though it's still under development on Schema.org. The Google-supported properties are the following:

Required properties
datePosted

DateTime

The date that the special announcement was published in ISO-8601 format.

name

Text

The short title of the special announcement. For example: "Stanford announces COVID-19 testing facility"

Either text or a specific property that points to more info

You must include either text, or one of the following properties that point to more info about the announcement, depending on the subject matter:

Recommended properties
announcementLocation

LocalBusiness or CivicStructure

The specific location that is associated with the SpecialAnnouncement. For example, a specific testing facility or business with special opening hours. For a larger geographic region, like a quarantine of an entire region, we recommend that you use spatialCoverage.

{
  "@context": "https://schema.org",
  "@type": "SpecialAnnouncement",
  "announcementLocation": {
    "@type": "CivicStructure",
    "name": "Palo Alto High School"
    "url":   "https://example-school.org/"
  }
}
announcementLocation.name

Text

The name of the location that is the focus of the announcement. For example, the name of the testing facility.

announcementLocation.url

URL

The URL where people can learn more about the announcement location. For example, the URL for the testing facility that explains where it is, hours, and who is eligible.

diseasePreventionInfo

URL or WebContent

Information about disease prevention, if applicable to the announcement.

diseaseSpreadStatistics

URL or WebContent or Dataset or Observation

If applicable to the announcement, the statistical information about the spread of a disease, either as WebContent, or described directly as a Dataset, or the specific Observation in the dataset. When a WebContent URL is provided, the page indicated might also contain more markup.

expires

DateTime

The date in which the content expires and is no longer useful or available in ISO-8601 format. Don't include this property if you don't know when the content will expire.

gettingTestedInfo

URL or WebContent

Information about getting tested for a MedicalCondition), if applicable to the announcement.

governmentBenefitsInfo

GovernmentService

Information about new government benefits, if applicable to the announcement. If you include governmentBenefitsInfo, you must add the following properties:

For a full example of how these properties work, see the government benefits announcement example.

governmentBenefitsInfo.name

Text

The name of the government benefits. For example: "Paycheck Protection Program"

governmentBenefitsInfo.url

URL

The URL to more information about the government benefits.

newsUpdatesAndGuidelines

URL or WebContent

A page with news updates and guidelines about the special announcement, if applicable. This could be (but is not required to be) the main page containing SpecialAnnouncement markup on a site.

publicTransportClosuresInfo

URL or WebContent

Information about public transport closures, if applicable to the announcement.

quarantineGuidelines

URL or WebContent

Guidelines about quarantine rules, if applicable to the announcement.

schoolClosuresInfo

URL or WebContent

Information about school closures, if applicable to the announcement.

spatialCoverage

Place

The geographic region that is the focus of the special announcement, if applicable. For example, the announcement may be about a shelter-in-place that affects multiple regions. If the announcement affects both a region and a specific location (for example, a library closure that serves an entire region), use both spatialCoverage and announcementLocation.

{
  "@context": "https://schema.org",
  "@type": "SpecialAnnouncement",
  "spatialCoverage": [
    {
    "type": "AdministrativeArea",
    "name": "San Francisco County, CA"
    },
    {
    "type": "AdministrativeArea",
    "name": "Marin County, CA"
    },
    {
    "type": "AdministrativeArea",
    "name": "Santa Clara County, CA"
    }
  ]
}
text

Text

The textual summary of the special announcement. The text may contain HTML content such as links and lists. Valid HTML tags include: <h1> through <h6>, <br>, <ol>, <ul>, <li>, <a>, <p>, <div>, <b>, <strong>, <i>, and <em>.

For example: "Stanford 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."

travelBans

URL or WebContent

Information about travel bans, if applicable to the announcement.

使用 Search Console 监控富媒体搜索结果

Search Console 是一款工具,可帮助您监控网页在 Google 搜索结果中的显示效果。即使没有注册 Search Console,您的网页也可能会显示在 Google 搜索结果中,但注册 Search Console 能够帮助您了解 Google 如何查看您的网站并做出相应的改进。建议您在以下情况下查看 Search Console:

  1. 首次部署结构化数据后
  2. 发布新模板或更新代码后
  3. 定期分析流量时

首次部署结构化数据后

等 Google 将网页编入索引后,请在相关的富媒体搜索结果状态报告中查看是否存在问题。 理想情况下,有效项目数量会增加,而无效项目数量不会增加。如果您发现结构化数据存在问题,请执行以下操作:

  1. 修正无效项目
  2. 检查实际网址,核实问题是否仍然存在。
  3. 使用状态报告请求验证

发布新模板或更新代码后

如果对网站进行重大更改,请监控结构化数据无效项目的增幅。
  • 如果您发现无效项目增多了,可能是因为您推出的某个新模板无法正常工作,或者您的网站以一种新的错误方式与现有模板交互。
  • 如果您发现有效项目减少了(但无效项目的增加情况并不对应),可能是因为您的网页中未再嵌入结构化数据。请通过网址检查工具了解导致此问题的原因。

定期分析流量时

请使用效果报告分析您的 Google 搜索流量。数据将显示您的网页在 Google 搜索结果中显示为富媒体搜索结果的频率、用户点击该网页的频率以及网页在搜索结果中的平均排名。您还可以使用 Search Console API 自动提取这些结果。

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.