Estimated reading time : 4 min · Published
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.
| Situation | Reference | Check |
|---|---|---|
| Two descriptions of the same organisation | Same absolute @id IRI after resolution | Check that they really describe the same entity |
| Two organisations with the same name | A shared name is insufficient | Keep distinct identities unless a relationship is established |
| Entity identifier | https://example.com/#org | Does not itself create an HTML navigation target |
| Value differs from visible content | Valid JSON but inconsistent information | Correct 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

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
- Qualify missing data
Audit and enrich directory or catalogue data
Reference documents
- Google’s policies · Source consulted
- W3C : JSON-LD 1.1, Node Identifiers · Source consulted
- WHATWG : HTML id · Source consulted
- official updates · Source consulted
- Google’s supported rich-result gallery
- Rich Results Test
- Schema.org Validator
Content updated on
Documented reference points for this topic
| Reference | Value or syntax | Scope |
|---|---|---|
| W3C · JSON-LD 1.1 | application/ld+json · @context | JSON-LD describes linked data; valid syntax and factual accuracy remain separate checks. |
| RFC 8259 · JSON | application/json · UTF-8 | Standard 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.
