Sitelinks Search Box JSON-LD giving error on Google Structured Data Testing Tool

前端 未结 3 954

I implemented Google’s Sitelinks Search Box to my site. It was working very well. But today I cheked again on Google Structured Data Testing Tool and something was wrong. Now I’

相关标签:
3条回答
  • 2021-02-20 13:11

    I noticed that even the examples on the online documentation receive the same exact error you received. When I changed

    "@context": "http://schema.org"
    

    to

    "@context": "http://schema.org/true"
    

    the error disappeared. Hope this helps.

    enter image description here

    <script type="application/ld+json">
    {
      "@context": "http://schema.org/true",
      "@type": "WebSite",
      "url": "https://www.saatler.com/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://www.saatler.com/arama?ara={search_term_string}",
        "query-input":"required name=search_term_string"
      }
    }
    </script>

    0 讨论(0)
  • 2021-02-20 13:19

    It was a bug in the Google Structured Data Testing Tool.

    It’s fixed now: the tool reports no more errors for your markup.

    0 讨论(0)
  • 2021-02-20 13:28

    Found the answer by reviewing the schema.org Potential Actions page.

    Apparently, for whatever reason, Google’s Structured Data Testing Tool doesn’t like our short-hand version for textual representations of input and output.

    When I switched to the verbose version I get the good checkmark for WebSite (1), not http://www.example.com/Website (1).

    Textual representations of Input and Output

    For convenience, we also support a textual short-hand for both of these types that is formatted and named similarly to how they would appear in their HTML equivalent. For example:

    "<property>-input": {
      "@type": "PropertyValueSpecification",
      "valueRequired": true,
      "valueMaxlength": 100,
      "valueName": "q"
    }
    

    Can also be expressed as:

    <property>-input: "required maxlength=100 name=q"
    

    Here is our full code for anyone else trying to follow this:

    <script type="application/ld+json">
    {
    
      "@context": "http://schema.org",
      "@type": "WebSite",
      "name" : "Example Company",
      "url": "http://www.example.com/",
      "sameAs" : [ "https://www.facebook.com/pages/Example/###############",
        "https://plus.google.com/b/#####################/#####################"],
      "potentialAction": {
        "@type": "SearchAction",
        "target": "http://www.example.com/search/results/?q={q}",
        "query-input": {
            "@type": "PropertyValueSpecification",
            "valueRequired": true,
            "valueMaxlength": 100,
            "valueName": "q"
        }
      }
    }
    </script>
    
    0 讨论(0)
提交回复
热议问题