XooCode(){

SearchResultsPage

SearchResultsPage is a direct WebPage subtype for internal search-results pages ("/search?q=xootee"). It has no unique properties, but publishing it explicitly (alongside a <meta name="robots" content="noindex, follow"> on the page) helps crawlers distinguish search results from canonical content.

Set mainEntity to an ItemList enumerating the results. Google does not generally index internal search pages but does use the typed classification to avoid mistaking them for canonical pages.

Full example of schema.org/SearchResultsPage json-ld markup

The markup is verified as valid with Rich Results Test from Google.

schema.org/SearchResultsPage
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SearchResultsPage",
  "name": "Search results for \"xootee\"",
  "url": "https://xoocode.com/search?q=xootee",
  "mainEntity": {
    "@type": "ItemList",
    "numberOfItems": 3,
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "url": "https://xoocode.com/shop/xootee-classic" },
      { "@type": "ListItem", "position": 2, "url": "https://xoocode.com/shop/xootee-pro" },
      { "@type": "ListItem", "position": 3, "url": "https://xoocode.com/shop/xootee-kids" }
    ]
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid SearchResultsPage entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/SearchResultsPage (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SearchResultsPage",
  "name": "Search results for \"xootee\"",
  "url": "https://xoocode.com/search?q=xootee"
}
</script>

Google rich results this unlocks

SearchResultsPage is a structural type. It does not produce a rich result on its own.

Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). SearchResultsPage becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.

Common SearchResultsPage mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Indexable SearchResultsPage

    Wrong
    SearchResultsPage without noindex meta
    Right
    Always pair SearchResultsPage with a robots noindex directive

    Indexed search-results pages dilute a site's canonical-content footprint and risk ranking their own query strings.

About the example data

Xoo Code's internal search-results page for "xootee".

Comments

Loading comments...

Leave a comment