I'm adding schema data/microdata to my web pages. I see that both schema.org and Google they discourage hidden microdata via tags and hiding elements with microdata via style. I can see the reasoning behind the policy; it's liable to misleading/inaccurate/spam data vs visible content.

From https://schema.org/docs/gs.html#schemaorg_expected

More is better, except for hidden text. In general, the more content you mark up, the better. However, as a general rule, you should mark up only the content that is visible to people who visit the web page and not content in hidden div's or other hidden page elements.

From https://developers.google.com/structured-data/policies#non-visible_content_and_machine-readable_alternative

Typically Google will not display content that isn't visible to the end user. In other words, you generally shouldn't mark up content that is not visible to users.

The meta tag should not be used to hide content that is not visible to users in any form, since it might create misleading or deceptive search experience.

Using JSON-LD to define schema(s) seems to be taking trend (opinion), but isn't that a form of hidden data as well?

I guess a fast ruling for me would be that it's fine because the JSON-LD array is (supposed to be) reflective of data that's already visible on the page; it's just another format to distinguish "machine-readable" against non-machine-readable.

Still, though, it's hidden and it's reasonably not identical to live data in many cases. "Sorry I'm late; here are some flowers. I know you said to pick you up at 2016-05-12T19:30."

1 Answer 1


Not at all. The HTML content data is not hidden. Only its semantic descriptors. The same descriptor types and information that would equally be hidden from the viewer as attributes of the HTML elements in the microdata form. They're just in a different form as JSON-LD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.