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’
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.
<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>
It was a bug in the Google Structured Data Testing Tool.
It’s fixed now: the tool reports no more errors for your markup.
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>