Schema markup is a way to describe the meaning and relationships of information on a web page in a machine-readable format. It can identify entities such as an organization, article, product, event, person, or local business and connect those entities to relevant properties.
People may read a page and understand that a headline belongs to an article, a price belongs to a product, and an address belongs to a business. Search engines need explicit signals to interpret those relationships consistently. Structured data supplies one of those signals.
Schema is useful, but it is not a shortcut to higher rankings. It should accurately represent visible page content and support a broader technical SEO strategy. For a wider framework, see our technical SEO guide.
What is schema markup?
Schema markup uses a shared vocabulary, commonly associated with Schema.org, to label content and entities on a page. The vocabulary defines types and properties. A type describes what something is; properties describe facts about it.
For example, an article may have a headline, author, publication date, and image. A product may have a name, brand, offer, and availability. The markup does not create those facts. It expresses facts that should already be supported by the page.
What is structured data?
Structured data is the broader concept of organizing information so software can process it reliably. Schema.org provides a vocabulary, while JSON-LD, Microdata, and RDFa are formats or syntaxes used to place that vocabulary in a document.
This distinction matters. Choosing a schema type is a modeling decision; choosing JSON-LD or another syntax is an implementation decision. Both need to be correct.
Why does structured data matter for SEO?
Search engines use many signals to discover, interpret, and display web pages. Accurate structured data can clarify the subject of a page and make eligible content easier for search systems to classify.
Depending on the page and current search features, valid markup may also support enhanced search-result presentations. Eligibility is not guaranteed. Search engines decide whether, when, and how to display enhancements, and their supported features can change.
- It adds context: entities and their properties are expressed explicitly.
- It supports consistency: important details can be represented in a predictable format.
- It improves diagnostics: validation tools can reveal missing, malformed, or conflicting fields.
- It complements content quality: markup works best when the underlying page is useful, accessible, and accurate.
Do not treat structured data as a guaranteed ranking boost or as a replacement for useful content, crawlable HTML, sound information architecture, or strong page performance.
Common schema types
The appropriate type depends on the page’s primary purpose and the facts genuinely present on it. Common examples include:
- Article: editorial, news, or blog content.
- Product: a specific product and its relevant commercial details.
- Organization: an organization and identifying information about it.
- LocalBusiness: a physical or service-area business when the page supports those details.
- Event: a scheduled event with details such as location, timing, and attendance information.
- Recipe: recipe content with appropriate ingredients, instructions, and other supported details.
- Person: a person described by the page, where the properties are genuinely relevant.
- BreadcrumbList: the page’s position within a site’s navigational hierarchy.
- FAQPage: a page containing real questions and answers, subject to current feature eligibility and guidelines.
Use the narrowest accurate type rather than selecting a type merely because it appears to offer more search features. A page should not be labeled as a product, review, event, or other entity if it does not actually represent one.
JSON-LD, Microdata, and RDFa
JSON-LD
JSON-LD represents structured data in a separate JSON block, commonly placed in the document head or body. It keeps the markup separate from visible presentation and is often easier to maintain when templates generate it consistently.
A minimal illustrative example looks like this:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Example article headline",
"author": {
"@type": "Person",
"name": "Example author"
}
}This is only a model. Replace the example values with accurate information, and add properties only when the page supports them.
Microdata
Microdata embeds attributes directly into HTML elements. It can connect visible text to a type and its properties, but templates may become harder to read and maintain as the model grows.
RDFa
RDFa adds semantic attributes to HTML and other compatible document formats. It is capable and flexible, but many teams choose JSON-LD because it separates structured data from the page’s presentation markup.
The best format is the one your team can implement accurately, keep synchronized with visible content, and validate during site changes.
How to implement schema markup
- Identify the page’s main entity. Decide what the page is primarily about rather than marking every possible concept.
- Choose an accurate type. Review the properties relevant to that type and avoid forcing the page into an unsuitable category.
- Collect supported facts. Use information shown on the page or clearly supported by the site. Do not invent ratings, prices, dates, authors, or business details.
- Model relationships carefully. For example, connect an article to its author and publisher when those relationships are real and represented correctly.
- Generate the markup. A hand-written JSON-LD block, a CMS extension, or a controlled template can all work when outputs are reviewed.
- Place it on the correct URL. The markup should describe the page being crawled, not a different page or an outdated version.
- Validate it. Check syntax, required properties, recommendations, and consistency with visible content.
- Monitor after publishing. Recheck templates and important pages after redesigns, migrations, product changes, or content updates.
Example implementation workflow
Imagine a page that explains a company’s service. First, determine whether the page is primarily an organization page, a service page, or an article about the service. Next, identify only the facts the page actually supports: name, description, logo, author, provider, or other relevant properties.
Then compare the generated markup with the rendered page. If the visible page says the service is available in three locations, the structured data should not list ten. If a review is not displayed or independently supported, do not add review markup simply to pursue an enhancement.
This page-level comparison is more valuable than adding the maximum number of properties. Accuracy and maintainability should guide the implementation.
How to test and troubleshoot structured data
Validation has several layers:
- Syntax validation: confirms that the JSON or embedded attributes can be parsed.
- Vocabulary validation: checks whether types and properties are recognized.
- Feature eligibility checks: identifies issues relevant to supported search enhancements.
- Page review: confirms that the markup matches the visible content, URL, and page purpose.
- Site monitoring: detects template regressions, missing fields, or markup appearing on unintended URLs.
Warnings are not always fatal, while errors can prevent a feature from being eligible. Neither result guarantees a search appearance. Review the rendered HTML rather than relying only on what a CMS editor shows, especially when JavaScript or plugins generate the markup.
Common schema mistakes
- Marking up hidden or misleading content: structured data should not describe facts users cannot reasonably find on the page.
- Using the wrong type: a generic type is preferable to an inaccurate specific one.
- Copying examples without replacing values: placeholder authors, prices, dates, and URLs create incorrect data.
- Creating conflicting versions: multiple plugins or templates may output different descriptions of the same entity.
- Adding every available property: unnecessary fields increase maintenance risk and do not automatically improve visibility.
- Ignoring page changes: expired events, changed prices, removed authors, and discontinued products can leave stale markup behind.
- Expecting guaranteed rich results: valid markup establishes eligibility at most; presentation remains controlled by the search engine.
Schema markup and semantic SEO
Semantic SEO is often used to describe work that improves a search engine’s understanding of topics, entities, attributes, and relationships. Structured data can support that work, but it is only one component.
Clear headings, descriptive copy, useful internal links, descriptive titles, accessible page structure, consistent entity information, and crawlable content also help systems interpret a site. A page with accurate schema but weak or contradictory visible content is not a strong semantic resource.
A practical pre-publish checklist
- Is the schema type an accurate description of the page?
- Does every important property match visible or clearly supported information?
- Are dates, prices, availability, authors, images, and URLs current?
- Does the markup identify the correct page and related entities?
- Is there only one authoritative implementation, or are duplicates intentionally reconciled?
- Has the rendered page been tested after deployment?
- Does the page remain useful if no enhanced search result appears?
Conclusion
Schema markup is a structured way to communicate what a page and its entities mean. Start with the page’s purpose, select an accurate type, describe only supported facts, implement a maintainable format, and validate the result against the rendered page.
Used responsibly, structured data can improve machine understanding and support eligible search presentations. It cannot compensate for inaccurate content, poor technical foundations, or an unhelpful user experience. For broader implementation planning, explore Allinclusive SEO services.