Search
Enter at least two characters without personal information.

    LibraryArticles & FAQ Your projectRequest a quote
    LanguageEN
    Practical guides

    Validate structured data on a website

    Valid markup cannot repair an inaccurate page. Start with what visitors see, then inspect the code, identifiers and any eligibility for a search presentation.

    Go to the method

    Illustration of website project planning: Validate structured data on a website

    Choose an entity and a clear purpose

    Identify what the page really represents: an organisation, article, product, event or list. Describe its main entity before adding properties. A service page does not become a fixed-price product because a schema type exists, and Google Search no longer displays FAQ rich results as of 7 May 2026, according to its official updates.

    Consult Google’s supported rich-result gallery for the type you intend to use. Schema.org offers a wider vocabulary than the search features Google supports. Semantic description and rich-result eligibility are separate questions.

    Compare values with published content

    Compare names, descriptions, images, authors, dates, addresses, prices and availability with what a visitor can see. Remove invented reviews, ratings, amounts or locations. Google’s policies require representative visible content and do not guarantee a rich result.

    For translated pages, use the values and URLs of that language. Dates should describe actual publication or modification. Avoid presenting a service area page as a separate physical business location.

    • Values verifiable on the page.
    • Consistent dates and images.
    • No guaranteed feature claims.

    Validate syntax and identifiers

    Read the JSON-LD from the final page, including the rendered result if JavaScript creates it. Check required or recommended properties for the target feature, absolute URLs, duplicates and stable @id values. Rich Results Test and Schema.org Validator answer different questions: Google support and vocabulary validation.

    Fix syntax problems at the template or data source, then sample several pages of that type. A single example will not reveal empty fields, escaping errors or unusual entry data elsewhere.

    Distinguish an entity’s identity from the address of its describing document. In JSON-LD, @id supplies a node identifier; relative references must be interpreted with their base and context. Fictional example: two descriptions using the same absolute IRI https://example.com/#org identify the same node even if they contribute different properties. Two organisations sharing a name do not thereby become one entity. Avoid reusing an organisation identifier for its page, its author or each distinct establishment.

    An @id containing #org does not automatically create an HTML element with id="org". If you also provide a navigation link to part of the page, test the HTML target separately. Keep reference entity identifiers across templates when they really describe the same entity, while identifying language pages and their content correctly. Then check properties against visible content: valid JSON, coherent identity and Google eligibility remain three separate checks. None guarantees a rich result.

    Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.

    Fictional references: JSON-LD identity and HTML target
    SituationReferenceCheck
    Two descriptions of the same organisationSame absolute @id IRI after resolutionCheck that they really describe the same entity
    Two organisations with the same nameA shared name is insufficientKeep distinct identities unless a relationship is established
    Entity identifierhttps://example.com/#orgDoes not itself create an HTML navigation target
    Value differs from visible contentValid JSON but inconsistent informationCorrect the source; recheck content and markup

    Monitor changes and limitations

    After publication, review Search Console errors if a report exists for that type. Compare several URLs and crawl dates; the absence of a rich result alone does not prove broken markup. Features and criteria can change.

    Include markup in editorial checks: when content, images, prices or templates change, recheck their structured representation. The prelaunch guide places this check in a broader release review.

    • One example of each template checked.
    • Errors tracked with dates.
    • Recheck after content or code changes.

    Align JSON and visible content

    Blank label and worksheet beside an object and laptop
    Compare coded values with information visible on the page.

    Proposed case: service text was corrected but an old condition remains in page JSON. Valid syntax can still describe another offer.

    Compare fields with their source and display. Keep type, value, origin and page; distinguish syntax errors, content inconsistency and eligibility for a search feature.

    • Identify each field's source
    • Compare JSON and displayed page
    • Keep the check result

    Reference documents

    Content updated on

    Documented reference points for this topic

    Documented reference points for this topic
    ReferenceValue or syntaxScope
    W3C · JSON-LD 1.1
    application/ld+json · @contextJSON-LD describes linked data; valid syntax and factual accuracy remain separate checks.
    RFC 8259 · JSON
    application/json · UTF-8Standard JSON permits neither comments nor trailing commas; strings use double quotes.

    Dates indicate when references were consulted. These facts are neither a site audit nor an overall compliance statement.

    Acceptance matrix to adapt to your project

    These proposed checks use synthetic cases. Decide the required behaviour with the team, record the result and assign unresolved gaps before release.

    Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.

    Test cases, expected outcomes and useful evidence
    CaseExpected outcomeEvidence to retain
    The visible price changes but JSON-LD keeps the old value.Markup reflects the published price on the same basis.Visible price, currency, stated tax basis and matching JSON-LD property from the same version.
    Two templates give different identifiers to the same organisation.Pages reuse the reference identity without merging distinct entities.Identifiers from multiple templates and their relation to canonical pages.

    Frequently asked questions

    Can reviews or prices exist only in JSON-LD?

    Structured data should match page information. Do not invent reviews, ratings, addresses or prices for rich results. Verify types, properties and consistency with visible content. Valid markup does not guarantee a search engine display.