---
title: "Structured data and JSON-LD explained for marketers"
canonical: "https://en.prostor-agency.com/blog/structured-data-json-ld-explained"
summary: "What JSON-LD actually is, how it differs from page text, and which schema.org types matter for a business site: Organization, Product, FAQPage, LocalBusiness."
publishedAt: "2026-09-21"
---

A page can look finished and still be unreadable to a machine. The
text says "Prostor builds websites for real estate developers," but
nothing on the page tells a crawler that Prostor is an organization,
that "website" is the service, or that the sentence is a description
rather than a customer quote. Structured data closes that gap. It is
worth understanding on its own, past the general case for AI
visibility we made in [how we make websites visible to ChatGPT and AI
search](/blog/ai-search-visibility) — this article is about the
mechanism itself.

## What JSON-LD actually is

JSON-LD stands for JSON for Linking Data. It is a block of JSON,
ordinary key-value data, wrapped in a script tag with the type
`application/ld+json` and placed inside the page's HTML. The browser
does not render it, does not style it, does not show it to anyone
scrolling the page. A crawler parses it separately from the visible
content and reads it as a set of labeled facts.

A minimal example, in words rather than code: a business page might
carry a JSON-LD block that states its type is `Organization`, its name
is "Prostor," its website is `prostor-agency.com`, and its logo is at
a given URL. None of that text appears anywhere on the rendered page.
It is a parallel, machine-facing description of the same page a
person is reading.

## How it differs from the visible text

Visible text is written for people and read for tone, argument and
persuasion. A search engine or an AI model can extract meaning from
it too, but only by inference: guessing that a heading is a product
name, that a number near a currency symbol is a price, that a
question-shaped paragraph is an FAQ entry. Inference is unreliable and
gets more unreliable as page design gets more creative.

JSON-LD removes the guessing. Instead of a heading that might be a
product name, there is a field literally called `name` inside a block
literally typed `Product`. Instead of hoping a crawler notices a
phone number in the footer, there is a `telephone` field inside an
`Organization` block. The visible page and the JSON-LD block usually
describe the same facts, but the JSON-LD block states them in a
vocabulary the machine already knows, rather than one it has to
reconstruct from formatting and context.

## The schema.org types that matter for a business site

Schema.org is the shared vocabulary behind JSON-LD: a maintained list
of types (Organization, Product, Article, Event and hundreds more)
and the fields each one is expected to carry. Google, Bing and most AI
crawlers read it because it is the same vocabulary across the entire
web, not something each site invents on its own. A handful of types
cover most of what a B2B or e-commerce site needs.

**Organization** identifies who runs the site: legal name, logo, links
to social profiles, contact details. It belongs on every page, usually
injected once in a shared layout, and it is the anchor everything else
attaches to.

**Product** describes something for sale: name, price, availability,
reviews. On an e-commerce catalogue this is what lets a price or a
star rating show up directly in search results, instead of a plain
blue link.

**FAQPage** marks a genuine list of questions and answers as exactly
that, question by question. Search engines can render these as
expandable answers directly in results, and AI assistants can lift a
single answer without reading the whole page.

**BreadcrumbList** describes where a page sits in the site's
hierarchy: home, then category, then this page. It helps a crawler
understand site structure faster than following links to work it out.

**LocalBusiness** extends Organization with a physical dimension:
address, service area, opening hours. It matters for any business
that serves a defined region or has a location people visit, and it
is what location-aware search and map results key off.

## How crawlers actually read it

A search engine or AI crawler fetches the page, parses the HTML, and
pulls out any `application/ld+json` blocks alongside the visible
content. It does not need to interpret layout or design to get the
facts: type, name, price, question, answer are already labeled.
That is why structured data pairs so directly with the case we made
for [AI search visibility](/blog/ai-search-visibility) — an AI
assistant assembling an answer from several sites favors the ones
where the facts are already extracted, over ones where it has to read
paragraphs and guess.

This is also why structured data has to match the visible page.
Search engines treat markup that contradicts what a visitor actually
sees as a signal to distrust, sometimes to penalize. The JSON-LD block
is a translation of the page, not a separate story.

## Getting this right on a website

Structured data is not a plugin bolted on afterward, it is generated
from the same data that renders the page, so the two can never drift
apart. Every site we build carries Organization markup site-wide and
the relevant Product, FAQPage, BreadcrumbList or LocalBusiness blocks
per page type, as part of [how we build websites](/services/websites),
with no separate line item for it.
