Schema.org is a shared vocabulary for describing entities and relationships; structured data is the markup that applies that vocabulary to a page. Google can use certain types to understand content and enable rich results, but implementing them doesn't guarantee they'll appear. The right selection starts with the page's function and the information it displays.
The most common mistake is searching for "which schema ranks" and adding types unrelated to the page. Useful markup functions like production data: it reflects facts, preserves identifiers, is generated from a trusted source, validates, and is maintained when content changes.
What is Schema.org
Schema.org defines types such as Organization, Person, Product, Article, and Event, along with properties to describe them. The vocabulary can be expressed in formats such as JSON-LD, Microdata, or RDFa. Consumers decide which parts to interpret.
Schema.org and Google are not the same. A type can exist in the vocabulary but not enable a visual function in Google. For SEO, both documentations are consulted: semantic meaning and search engine requirements.
What is structured data?
This information is presented in a predictable format that categorizes the content. For example, in a recipe, it might identify ingredients and cooking time; for a product, name, offer, and availability; and for an organization, name and official information. It should correspond to what the user can verify.
They help reduce ambiguity, but they don't make a poor page relevant. Google explains that they can enable more compelling results, subject to indexing, quality, policies, and system decision.
Why is JSON-LD commonly used?
JSON-LD places a block of data separate from the presentation and makes it easier to create complex relationships. Google supports it, and it's generally easier to maintain than marking up each visual element. The code must produce valid JSON and escape dynamic content.
Don't manually edit hundreds of pages if the CMS can generate them from fields. Centralize the template, maintain exceptions, and add tests. An error in one variable can propagate throughout the entire site.
How to choose the right type
- Define what task the URL performs.
- Identify primary and secondary entities.
- Check that the data is visible.
- Check the type and properties on Schema.org.
- Check if Google supports a related feature.
- Implement only true properties.
- Validate code, policies, and published result.
Don't combine types just because they "look SEO." Relate them using identifiers and properties when a real relationship exists.

Organization and Local Business
Organization describes an entity. LocalBusiness and its subtypes add local business context when a physical location serves customers. Do not declare all pages as LocalBusiness. Keep the name, URL, logo, and identifiers consistent.
Address, phone number, and hours of operation must be publicly available and up-to-date. For multiple locations, each location needs a valid identity and page if it's listed individually. Don't create a fabricated office name to appear in local search results.
WebSite, WebPage and BreadcrumbList
WebSite represents the site; WebPage, a page; BreadcrumbList, the visible or understandable hierarchical path. They can be connected with @id. The crumb must follow a real architecture and valid links.
Breadcrumbs don't fix a confusing structure. Define categories and paths first. Avoid contradictions between names, canonical URLs, and breadcrumbs.
Article, BlogPosting and NewsArticle
Use the subtype that corresponds to the content. Include the title, author, dates, and image when they are real. dateModified It should be changed through a substantial update, not an automatic execution.
Connect the author to the Person and the publisher to the Organization when reliable profiles exist. A visible signature and a helpful biography inspire more confidence than a name hidden only in code.
Product, Offer and AggregateOffer
Product describes the product; Offer describes a specific offer with price, currency, availability, and seller. AggregateOffer summarizes the range and count when multiple offers exist. The markup must match the option the user can purchase.
Variants require a decision: an entity with separate variants or products. Retains SKU, GTIN, or other valid identifiers where applicable. Synchronizes price and inventory from the same source as the interface.
Service and service pages
"Service" can describe a service, provider, and area, but not every service page receives a rich result. Use it for semantic clarity, not as a visual promise. Avoid including price or ratings if they are not visible and verifiable.
A business website needs scope, process, evidence, and contact information. The schema complements that content. To review the architecture, consult the service of SEO.
FAQ Page and Frequently Asked Questions
FAQPage describes questions with an answer from the organization. Google has limited the display of rich FAQs and maintains specific requirements. Do not add hidden, duplicate, or generated questions simply to fill space.
Just because the markup is valid doesn't mean it will appear. FAQs should help the reader and be kept up-to-date; if they don't add value, they aren't required.
Review, Rating and reputation
Ratings must come from real users, correspond to the featured business, and be visible. Do not copy stars from other platforms or mark an internal rating as a public review. Google has policies regarding self-reported reviews and eligible types.
Preserve origin, scale, and count. A fake review exposes users and the brand, even if the code is correct.
Events, jobs, recipes, and other types
Event requires a real event with date, location or format, and status. JobPosting requires a current job posting and application process. Recipe requires a complete recipe. Each function has its own properties and policies that change.
Don't use a specialized type as an analogy. A recorded webinar without a new date is not a future event; a company page is not a job offer.
Construct a graph with identifiers
@id It allows referencing the same entity from multiple nodes. A page can relate Organization, Website, WebPage, BreadcrumbList, and Article without repeating contradictory definitions. It uses stable identifiers and absolute URLs.
More nodes don't necessarily mean better SEO. The graph should be explainable in simple terms: who publishes what, on which page, and about which entity.
Source of truth and updates
Assign a source to each property. In e-commerce, price and availability should come from the transactional catalog; author and dates, from the CMS; and brand identity, from a governed configuration. Manually copying values to the markup creates inconsistencies.
Define which event invalidates the cache and regenerates JSON-LD. Test bulk changes, imports, and time zones. If a promotion ends at midnight, visible content and the Offer should update together. Maintain technical logs without exposing customer information.
For multiple templates, use components with testing and versioning. An editorial team can control fields, while development ensures types and serialization. Document optional properties so that legitimate absences aren't filled with dummy values.
Correspondence with visible content
Google advises against marking information that is not available to the user. If the JSON-LD shows a different price than the one displayed, the problem lies with the data, not just SEO. The same applies to author, availability, date, and rating.
Generates markup from the source that renders the page. If a cache separates both outputs, defines joint invalidation. Tests out-of-stock states, expired promotions, and translations.
Tools and validation levels
The Rich Results Test checks for compatible types and may display errors or warnings. The Schema Markup Validator checks for a broader vocabulary. A JSON validator detects syntax. Search Console reports groups on verified properties.
Passing a test does not guarantee eligibility or visibility. After publishing, inspect the canonical URL and public HTML. Validate samples of each template and status.

Errors and warnings
An error typically blocks a function or invalidates part of the markup; a warning indicates a recommended property or potential improvement. Read the details of the current type. Don't add false values just to dismiss a warning.
Prioritize errors in high-volume templates, recent changes, and business data. Record when they occurred and what deployment caused them.
Schema in WordPress, Shopify, and other CMS
Themes, core, and plugins can generate concurrent blocks. Inventory first. Two plugins might declare incompatible organizations or products. Decide on one source per entity and disable duplication in a controlled manner.
Don't rely on the settings screen. Review public code, cache, and variants. Theme updates can change output; include testing in every release.
Modeling example
A guide published by an agency can use BlogPosting as the main entity, linked to WebPage, BreadcrumbList, Author Person, and Publisher Organization. The image, title, and dates match the page; the canonical tag identifies the URL.
Including an audit call to action (CTA) doesn't turn the entire article into a service. The content remains the primary entity. The service can be visibly linked without distorting its purpose.

Monitoring and maintenance
Track presence, errors, template changes, and field consistency. When you modify URLs, authors, prices, or inventory, it updates the markup. Review official documentation because features and policies evolve.
It measures impressions and CTR by page type without attributing changes solely to schema. Eligibility, demand, ranking, and presentation also play a role.
Structured data in a migration
Before migrating, capture types, identifiers, and template coverage. On the new site, update URLs, canonicals, images, and relationships without accidentally creating a new corporate identity. @id They can change hosts in a coordinated manner.
First, validate a small set with different states. After launch, track production and compare counts. A successful preview does not prove that a CDN, minifier, or plugin delivers the same code publicly.
How to prioritize an implementation
Start with templates that have clear entities, reliable data, and value for users: purchasable products, articles with authors, or real locations. First, fix errors that contradict content or affect many URLs. Then expand the graph.
Don't measure progress by the number of types. Measure it by valid coverage, reduced contradictions, and the ability to maintain data. A small implementation connected to stable sources is better than a huge block that no one knows how to update.
Checklist before publishing
- Main entity matches the page.
- Properties are visible and true.
- URL and canonical are consistent.
- JSON-LD is valid.
- There are no conflicting blocs.
- Policies of this type are followed.
- Production matches preview.
- There is a person responsible for updates.
A technical SEO audit You should review templates and source data. For a diagnosis, you can contact SEOMOS.
Sources consulted
Documentation consulted on September 10, 2026.
Frequently asked questions about schema
What is schema in SEO?
It is the use of the Schema.org vocabulary in structured data to describe entities and relationships on a page.
Does Schema improve rankings?
It does not guarantee positions. It can help you understand content and enable features when requirements are met.
Which format is best?
JSON-LD is generally maintainable and supported by Google, but it must be generated and validated correctly.
Can I highlight hidden information?
Information that the user cannot see or verify on the page should not be marked.
Does validation guarantee rich results?
No. The test confirms technical aspects; the visualization also depends on quality, policies, and indexing.
When should I check it?
After changes in template or data and periodically in response to errors and official documentation.