SEO · Checked on every page
Structured data (Schema.org) presence and validityWhat it checks and how to fix it
What it checks
Looks for structured data in JSON-LD, Microdata or RDFa and validates the JSON-LD against the properties each Schema.org type requires (for example Article needs headline, author and datePublished; Organization needs name and url). It fails when there is no structured data or every JSON-LD block is invalid JSON, warns when some blocks do not parse or a type is missing required properties, and passes otherwise.
Why it matters
Structured data is how search engines and AI assistants learn what a page is about with certainty: the organization behind it, the article's author and date, the product's price. It powers rich results such as breadcrumbs, FAQs, ratings and event dates, and a JSON-LD block with a syntax error is ignored entirely, so a single stray comma silently removes all of it.
How to fix it
Add at least one JSON-LD block describing the page, with the required properties of its type, and make sure it is valid JSON (no trailing commas, no comments):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Ltd",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": ["https://www.linkedin.com/company/example", "https://github.com/example"]
}
</script>
For an article:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to set up DMARC",
"author": { "@type": "Person", "name": "Jane Doe" },
"datePublished": "2026-09-01",
"dateModified": "2026-10-01"
}
</script>
In Rails, build the hash in Ruby and render it with to_json so the output is always valid JSON. Validate the page with Google's Rich Results Test or the Schema.org validator.