John Dimm
John Dimm

Reputation: 101

PageMap is not included in search results from a Google Custom Search Engine

I have a Custom Search Engine and my own React client that renders search results using the CSE json API. I want to display Rich Results using Structured Data, so I added a PageMap to my source HTML files. But the search results from Google contain none of the data in the PageMap.

Structured Data is often used to filter search results. I'm concerned here with the simpler problem of receiving Structured Data in custom search results, so I can render it myself.

Here is a sample source HTML page from one of the sites in my CSE:

view-source:http://www.johndimm.com/eleventh-hour/papyritec/Humidity_control_tile.html

It has a PageMap in the header (and also ld+json using schema.org's Product):

   <!--
  <PageMap>
     <DataObject type="document">
        <Attribute name="product_name">Humidity control tile</Attribute>
        <Attribute name="rating">4.0</Attribute>
        <Attribute name="description">With the integration of nanotechnology into the humble ceramic tile, we have a new generation of tiles to solve household problems. Our nanotech tiles can regulate humidity by absorbing excess moisture and storing it in the tiny pores; and by releasing moisture when the environment is dry. It also absorbs VOCs and air pollutants into the pores and catalyse reactions to break down toxicity in those gases. Due to its porosity, it is a fantastic insulator of both heat and sound. Think nano-tiles for your next renovation!</Attribute>
        <Attribute name="product_id">nanotile01</Attribute>
     </DataObject>
     <DataObject type="thumbnail">
        <Attribute name="src" value="nanotile01.jpg" />
        <Attribute name="width" value="300" />
     </DataObject>
  </PageMap>
  -->

The search results show none of this info, although there is a pagemap object:

https://www.googleapis.com/customsearch/v1?key=[cse key]&cx=010143774142193520043:z76tkkewcr9&q=papyritec%20humidity

The pagemap has only cse_thumbnail and cse_image, added I think by Google.

     "pagemap": {
        "cse_thumbnail": [
          {
            "src": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRtbYjjezl1LjCPxzWlcqP8qqUwOZ31ap1fvMz9w5tq1YYY8_pSL4ITR6E",
            "width": "203",
            "height": "249"
          }
        ],
        "cse_image": [
          {
            "src": "http://www.johndimm.com/eleventh-hour/papyritec/images/nanotile01.jpg"
          }
        ]
      }

Questions: what am I doing wrong? Is this the right way to include a PageMap? Should my pagemap fields have been merged into the pagemap object in each result item?

More Details:

The Structured Data Testing tool for this page finds the ld+json, but does not find the PageMap:

https://search.google.com/structured-data/testing-tool/u/0/#url=www.johndimm.com%2Feleventh-hour%2Fpapyritec%2FHumidity_control_tile.html

The Rich Results Test also shows the ld+json data but not the PageMap.

https://search.google.com/test/rich-results?utm_source=support.google.com%2Fwebmasters%2F&utm_medium=referral&utm_campaign=7445569&id=3bPgmFzohazQyLMe2XJKJQ

Here is a post showing a custom pagemap coming through in search results. This is what I'm hoping to see. Is it a feature of the paid level only?

Pagemap data and Google Structured Data Validator tool

This post from Google says "Please be noted that currently, JSON-LD is not supported in CSE."

https://support.google.com/customsearch/thread/12070581?hl=en

PageMap seems to be the preferred method for Structured Data. There must be some way to make it work.

Upvotes: 2

Views: 1025

Answers (1)

John Dimm
John Dimm

Reputation: 101

I was not patient enough. One of the 18 html files is now showing up in search results with most of my pagemap data. All of them have the same format, so maybe I just need to wait more for them to be handled the same way by Google.

For some reason, one of the fields is still missing. The document object has description, rating, and product_name, but not the product_id.

But this answers my question. The setup described here does work, and custom pagemap data is passed is search results, more or less.

      "pagemap": {
        "thumbnail": [
          {
            "src": "Oryzasil.png",
            "width": "300"
          }
        ],
        "document": [
          {
            "rating": "4.0",
            "description": "Silicon based aerogel blanket. Super low thermal conductivity: 0.020 W/mK at 10mm. Comes in different thickness of 3mm, 5mm, and 10mm. Contact us for a product recommendation. Used predominantly in oil and gas industries.",
            "product_name": "Silicon hydrophobic aerogel"
          }
        ],
        "metatags": [
          {
            "viewport": "width=device-width, initial-scale=1.0, maximum-scale=1.0, \n  user-scalable=no"
          }
        ],
        "cse_image": [
          {
            "src": "http://www.johndimm.com/eleventh-hour/papyritec/images/Oryzasil.png",
            "width": "247",
            "type": "1",
            "height": "204"
          }
        ]
      }

Upvotes: 2

Related Questions