Skip to content
Glossary

What Is Structured Data & Schema Markup?

Structured data is machine-readable code, usually written in JSON-LD using the Schema.org vocabulary, that describes the content of a page in explicit terms: for example that the page is a Product with a price, an Article with an author and date, or a LocalBusiness with an address. Search engines use it to understand the page and to decide whether it is eligible for rich results such as review stars, prices and breadcrumbs.

What Is Structured Data & Schema Markup?

"Structured data" is the general idea of labelling information in a standard format, and "schema markup" usually means structured data that uses the Schema.org vocabulary, which Google, Microsoft (Bing) and Yahoo launched in 2011 and Yandex joined later that year. Schema.org defines hundreds of types, such as Organization, Product, Event, Recipe and FAQPage, and the properties each one can have. Google accepts three syntaxes: JSON-LD, Microdata and RDFa. It recommends JSON-LD because the markup lives in one <script type="application/ld+json"> block that is separate from the visible HTML, which makes it easier to add, generate and maintain. Structured data does not change how a page looks to visitors. It is a description for machines, and it must describe content that is actually visible on the page.

How Structured Data & Schema Markup Works

A JSON-LD block starts with "@context": "https://schema.org" and an "@type", followed by properties. A product page might declare "@type": "Product" with name, image and description, plus a nested offers object containing price, priceCurrency and availability. Entities can reference each other through @id values, so a single @graph can describe the organisation, the website, the web page and its breadcrumb trail together. When Googlebot crawls the page it parses the block, checks it against the requirements for each supported feature, and stores the result with the indexed page. If the markup is valid and complete, the page becomes eligible for a rich result: product snippets with price and stock, review stars, breadcrumb trails instead of raw URLs, event dates, recipe cards or job listings. Eligibility is not a guarantee; Google decides whether to show a rich result for each query. Some features have also been retired: HowTo rich results in 2023, and FAQ rich results for all sites in May 2026. Structured data is not a direct ranking factor, but by stating facts explicitly it helps search engines and other systems that read the web interpret what a page is about. Search Console's enhancement reports show which items Google has detected and any errors.

Best Practices for Structured Data & Schema Markup

Mark up only what visitors can see. Google's structured data guidelines say the markup must represent the main content of the page, and marking up hidden, misleading or irrelevant content can lead to a manual action for spammy structured markup. Choose the most specific type that fits, such as Dentist rather than LocalBusiness, and fill in every required property for the feature you want, plus the recommended ones where you have the data. Keep values in sync with the page: if the visible price changes, offers.price must change too, so generate the JSON-LD from the same data source as the HTML rather than typing it by hand. Use one consolidated block per entity rather than several conflicting ones, and consistent @id URLs so entities connect. Test every template with Google's Rich Results Test (search.google.com/test/rich-results) for Google features and with the Schema Markup Validator (validator.schema.org) for general vocabulary errors, then monitor the enhancement reports in Search Console after launch. Treat pages as templates: once a product or article template is correct, every page built from it inherits valid markup. Do not add review or rating markup for reviews a business publishes about itself, since Google does not show self-serving review stars for LocalBusiness and Organization types.

Structured Data & Schema Markup and Canvas Builder

Canvas Builder generates Bootstrap 5 pages with semantic headings, SEO meta tags and JSON-LD structured data, so a generated site starts with machine-readable markup rather than none. Because the output is ordinary HTML that you can publish or export, you can extend the JSON-LD with more specific types, and Canvas Builder's free JSON-LD, FAQ, product and local business schema generators help you build additional blocks to test and add.

Start building free

Frequently asked questions

What is the difference between structured data and schema markup?

Structured data is any information organised in a standard, machine-readable format. Schema markup is structured data that uses the Schema.org vocabulary, which is what Google, Bing and other search engines read on web pages. In SEO the two terms are often used interchangeably.

Does structured data improve rankings?

Not directly. Google has said structured data is not a general ranking factor. It helps search engines understand a page and can make it eligible for rich results, which make a listing more noticeable and can improve its click-through rate.

Where should JSON-LD go in the HTML?

Google can read a <script type="application/ld+json"> block in either the <head> or the <body>. Most sites place it in the head for tidiness. It can also be injected with JavaScript, although markup present in the initial HTML is the most reliable.

How do I test structured data?

Paste a URL or code snippet into Google's Rich Results Test to see which rich results the page is eligible for and any errors or warnings. Use the Schema Markup Validator to check general Schema.org syntax. After launch, Search Console's enhancement reports track valid and invalid items across the whole site.