Skip to content
SilktideHelp

Structured data validity

When a page includes machine-readable data describing its content for search engines, that data has to be valid to be of any use. Silktide checks that the markup parses correctly, declares what kind of thing it describes, and includes the properties that kind requires.

is usually written as , using the schema.org vocabulary:

<!-- Valid: parses, has a @type, and includes the required headline -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to store wine"
}
</script>

Why this matters

Search engines discard broken structured data silently. Invalid JSON, a block that never says what it describes, or a type missing its essential properties all mean the markup is ignored - you lose the rich results (star ratings, article cards, product details) the markup was meant to earn, and nothing on the page tells you it happened.

Invalid structured data is arguably worse than none: the effort was spent, and the page looks covered while delivering nothing.

How to fix it

  1. Invalid JSON - fix the syntax. Trailing commas, unescaped quotes inside text, and template placeholders that never got replaced are the usual causes.
  2. No @type - add one to every entity, using a recognized schema.org type such as Article, Product, or Event.
  3. Missing required properties - add what the type needs: for example an Article needs a headline, a Product needs a name, an Event needs a name and startDate.
  4. Validate the result with Google's Rich Results Test or the schema.org validator before publishing.

How Silktide tests this

  1. Test only pages that are eligible for search indexing.
  2. Collect every JSON-LD block on the page. Pages with none are skipped - whether structured data should exist is tested separately by Structured data.
  3. Report at most one finding per page, the most severe first:
    • A block that is not valid JSON.
    • A block containing no @type.
    • A recognized type missing a property it requires. Silktide tests the essentials for common types, including Article (headline), Product, Organization, Person, LocalBusiness (name), Recipe (name and ingredients), Event (name and start date), FAQPage (questions), and BreadcrumbList (items).

Troubleshooting

My markup passes Google's test but Silktide flags it

Silktide validates the required essentials for common types rather than the full schema.org vocabulary, and nested entities are validated individually - for example a Person nested as an author must still have a name. Check the specific entity named in the finding.

I use microdata or RDFa instead of JSON-LD

This check only reads JSON-LD, which is the format Google recommends. Structured data in other formats is not validated here.

Learn more

Last updated

Was this page helpful?