Learn
An introduction to structured data (JSON-LD)
Structured data is machine-readable markup that states what a page is about in a typed, unambiguous way. Here are the JSON-LD types worth having and how to test them.
Structured data is markup you add to a page that describes its content in a typed, machine-readable format — so instead of a search engine or AI model inferring that a page is a product with a price and a rating, you state it explicitly. The dominant format on the web is JSON-LD: a <script type="application/ld+json"> block in your HTML that carries a small JSON object following the schema.org vocabulary. It doesn't change how the page looks to a human; it changes how confidently a machine can understand it.
That confidence is why structured data matters for both classic search and GEO. For search, valid markup can qualify a page for rich results — star ratings, FAQ accordions, breadcrumbs in the results snippet. For AI answer engines, typed facts are easier to trust and cite than the same facts buried in prose, because there's no ambiguity about what the number, the name, or the date refers to.
Which JSON-LD types are worth having?
You don't need dozens of types — you need the few that match your page. Sight checks that each page carries structured data appropriate to what it is:
- Organization on your home page — your brand's name, url, logo, and
sameAslinks to your official profiles. This anchors your identity in a search engine's knowledge graph. See the Organization check. - Article / BlogPosting / NewsArticle on editorial pages — headline, author, and publish date.
- Product on product pages — name, offers, price, and availability.
- BreadcrumbList on deeper pages — reflecting where the page sits in your site hierarchy, which improves how the URL displays and helps machines understand structure. See the breadcrumbs check.
- ItemList / CollectionPage on listing and category pages.
Sight maps the page type to the type it expects and warns when the expected markup is missing. The goal isn't to stuff every schema type onto every page; it's to make sure the primary entity of each page is described once, correctly.
What makes structured data valid versus broken?
Presence isn't enough — the markup has to parse and carry its required properties. A JSON-LD block with a syntax error, a missing @type, or an absent required field (an Article with no headline, an Organization with no name) either won't produce rich results or will actively confuse the systems reading it. Sight's structured-data validity check parses every block on the page and reports blocks that are missing required properties, so you catch the difference between "we added markup" and "we added markup that works."
The most common failure modes are mundane: a trailing comma that breaks the JSON, a @type that's misspelled or points at a type that doesn't exist, a price given as a formatted string with a currency symbol instead of a bare number, or an image field that points at a URL that 404s.
How do I test structured data?
Three layers, cheapest first:
- Validate the JSON itself. Paste the contents of your
<script type="application/ld+json">block into any JSON linter. If it doesn't parse as JSON, nothing downstream will read it. - Validate against schema.org. Google's Rich Results Test and the schema.org validator check that your
@typeand its properties are recognized and that required fields are present. - Run it in context. Sight parses the JSON-LD on every crawled page and flags both missing markup for the page type and validation errors within the markup, so you see it across your whole site rather than one URL at a time.
- Do I need Microdata or RDFa, or is JSON-LD enough?
- JSON-LD is enough and is the recommended format. It lives in a single script block rather than being woven through your HTML attributes, which makes it far easier to maintain and less likely to break during redesigns.
- Will structured data by itself make me rank higher?
- No. It doesn't boost ranking directly. What it does is make eligibility for rich results possible and make your facts easier for search and AI systems to extract accurately — both of which affect visibility and click-through.
- What if my markup says one thing and the visible page says another?
- Don't do that. Structured data must reflect the visible content of the page. Marking up a price or rating that a human can't see on the page is against search engine guidelines and can get rich results suppressed.
The takeaway
Add JSON-LD that describes what each page actually is — Organization on your home page, Article on posts, Product on product pages, BreadcrumbList on deeper pages — keep it valid, and keep it honest to the visible content. It's one of the cleanest ways to make both search engines and AI answer engines understand you without guessing.
Check your structured data across every page — run a free scan