Schema Markup Guide 2026: Structured Data & Rich Snippets
Schema markup is JSON-LD code added to your pages to describe your content explicitly to search engines and AI. In 2026, it determines Google rich results and whether ChatGPT or Perplexity cite you. SME priorities: Organization, LocalBusiness, Article, Product and BreadcrumbList. Google's golden rule: schema must reflect content visible on the page, or you risk a manual action.
Schema markup is semantic markup, based on the schema.org vocabulary, that explicitly describes the content of a web page to search engines. In practice, a block of JSON-LD code placed in the HTML tells Google that a page is about a business, a product priced at €19.99, or an FAQ. In 2026, this markup determines two things: whether you earn rich results in Google, and whether AI engines like ChatGPT or Perplexity can understand — and cite — your site without ambiguity.
This guide is technical and actionable. You will find the schemas that actually matter for a Belgian SME, four complete JSON-LD code examples ready to adapt, the testing method, and the mistakes that trigger Google manual actions. No filler theory: only what OptionWeb implements on its clients' sites.
Structured data is one building block of technical SEO, not a complete strategy. If you are starting from scratch with search optimization, begin with our complete SEO guide for SMEs, then come back here for the markup layer.
1. What is schema markup and why does it matter in 2026?
Schema markup is a standardized vocabulary, maintained at schema.org, that translates the content of a page into machine-readable data. Schema.org is a joint initiative launched in 2011 by Google, Microsoft, Yahoo and Yandex. The vocabulary now includes more than 800 entity types: Organization, Product, Event, Recipe, LocalBusiness, and hundreds more.
Without markup, Google has to guess. It sees "€19.99/month" in a paragraph and must infer that this is a price, a currency, a subscription. With Product and Offer markup, the information becomes a structured fact: this product costs €19.99 per month, in euros, and it is available. That disambiguation is the primary purpose of structured data.
- Rich results in Google — Review stars, prices, availability, breadcrumbs, sitelinks: rich results take up more space and catch the eye on the results page.
- Entity disambiguation — Markup connects your business, your products and your authors into a coherent graph. Google knows that OptionWeb is a web agency based in Châtelet, not a piece of software or a namesake.
- Feeding the Knowledge Graph — sameAs properties and @id identifiers help Google consolidate your entity in its knowledge graph, the foundation of brand panels.
- Readability for AI engines — ChatGPT Search, Perplexity and Google's AI Overviews rely on well-structured content to extract reliable facts. A marked-up site is a site that is easier to cite.
The impact on clicks is well documented. A Milestone Research study measured an average click-through rate of 58% for rich results, versus 41% for standard results at the same positions. And according to SparkToro analyses published in 2024, nearly 60% of Google searches end without a single click: capturing attention within the results page itself has never mattered more.
2. JSON-LD or microdata: which format should you choose?
Choose JSON-LD, without hesitation. JSON-LD has been Google's officially recommended format for years: a self-contained script block, separate from the visible HTML, easy to generate, maintain and validate. Microdata and RDFa, which weave attributes into HTML tags, mostly survive in old CMS themes.
| Criterion | JSON-LD | Microdata | RDFa |
|---|---|---|---|
| Google recommendation | Yes, preferred format | Supported, not recommended | Supported, not recommended |
| Placement | Separate script block in the head or body | Attributes in every HTML tag | Attributes in every HTML tag |
| Maintenance | Simple: a single block to edit | Painful: markup scattered across the template | Painful: verbose syntax |
| Dynamic generation | Trivial (serialized JSON object) | Complex | Complex |
| Breakage risk on redesign | Close to zero | High: every HTML overhaul breaks the markup | High |
The market has settled the question. According to the HTTP Archive Web Almanac (2024 edition), JSON-LD is present on more than 40% of analyzed pages and remains the only structured data format still growing, while microdata declines year after year. All the examples in this guide therefore use JSON-LD.
In practice, a JSON-LD block is a script tag of type application/ld+json placed in the page's HTML. Google reads it at crawl time, whether the block sits in the head or in the body. On a static Next.js site, the block is generated at build time and served in the initial HTML: no dependency on client-side JavaScript rendering, and therefore no rendering queue on Google's side.
3. Which schemas should a Belgian SME prioritize?
An SME needs only six to eight schema types, not eight hundred. The absolute priorities are Organization (or LocalBusiness if you welcome customers on site), BreadcrumbList on every page, Article on the blog, and Product with Offer if you sell online. FAQPage and Person round out the setup.
| Schema | Possible rich result | SME priority |
|---|---|---|
| Organization | Brand panel, logo in results, Knowledge Graph | Essential — on every page |
| LocalBusiness | Enhanced local listing: address, opening hours, phone | Essential for a local customer base |
| BreadcrumbList | Breadcrumb trail shown instead of the raw URL | Essential — on every page |
| Article | Date, author, image in results and Google Discover | High — on every blog post |
| Product + Offer + AggregateRating | Price, availability, review stars | Essential for e-commerce |
| FAQPage | Extraction by AI engines; rich result reserved for certain sites | Medium — useful for AEO |
| Person | Stronger author E-E-A-T, entity in the graph | Medium — author and about pages |
BreadcrumbList deserves a special mention: it is the most profitable schema per line of code. It replaces the raw URL with a readable breadcrumb trail in Google results, clarifies the site architecture, and takes only a few lines per page. Person, for its part, links each article to its author: a complete Person entity, with sameAs pointing to a LinkedIn profile, strengthens the E-E-A-T signals Google has been weighing since the 2024-2025 Core Updates.
If your main challenge is local visibility — appearing in the Google local pack for "web agency Charleroi", for example — LocalBusiness markup is only one piece of the puzzle: your Google Business Profile listing carries far more weight. Our guide to local SEO and Google Business Profile for Belgian SMEs covers that side in depth.
4. How do you implement your schemas? Complete JSON-LD examples
Here are four complete, realistic JSON-LD blocks you can adapt directly. Each block goes inside a script tag of type application/ld+json. The examples use OptionWeb as a concrete case: replace the values with your own, making sure every piece of marked-up data also appears in plain sight on the page.
Organization: your company's identity card
The Organization schema belongs on every page, ideally via the global layout. The two most underrated properties are @id, which gives your entity a stable address, and sameAs, which links the entity to your public profiles. This mesh is what allows Google to consolidate your brand in its Knowledge Graph.
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://optionweb.dev/#organization",
"name": "OptionWeb",
"url": "https://optionweb.dev",
"logo": "https://optionweb.dev/logo.svg",
"foundingDate": "2014",
"founder": {
"@type": "Person",
"name": "Julien Daniel"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+32-491-14-01-01",
"email": "contact@optionweb.dev",
"contactType": "customer service",
"availableLanguage": ["fr", "en", "nl"]
},
"sameAs": [
"https://www.linkedin.com/company/optionweb",
"https://www.facebook.com/optionweb"
]
}LocalBusiness: your Belgian local anchor
LocalBusiness extends Organization with a physical address, GPS coordinates and opening hours. Use the most specific subtype available: ProfessionalService for an agency, Restaurant for hospitality, Store for a retail shop. The marked-up address must match your Google Business Profile listing exactly — name-address-phone consistency is a foundational local signal.
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://optionweb.dev/#localbusiness",
"name": "OptionWeb",
"image": "https://optionweb.dev/images/agence-chatelet.jpg",
"url": "https://optionweb.dev",
"telephone": "+32-491-14-01-01",
"email": "contact@optionweb.dev",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rue de la fonderie 2",
"addressLocality": "Châtelet",
"postalCode": "6200",
"addressRegion": "Hainaut",
"addressCountry": "BE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 50.4036,
"longitude": 4.5261
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"areaServed": ["Charleroi", "Namur", "Liège", "Mons", "Bruxelles"]
}FAQPage: structuring your questions and answers
One important nuance: since August 2023, Google has restricted the FAQ rich result to authoritative government and health sites. For an SME, FAQPage will therefore no longer produce expandable questions in Google. The markup still retains real value: it structures your question-answer pairs for AI engines and Bing, which continue to use it. Only mark up questions that are actually visible on the page.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Combien coûte un site vitrine sur mesure en Belgique ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Un site vitrine 100 % sur mesure démarre à 2 890 € HTVA chez OptionWeb, livré en 3 à 6 semaines. Le devis est remis sous 24 heures."
}
},
{
"@type": "Question",
"name": "L'hébergement OptionWeb est-il conforme au RGPD ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui. Les serveurs sont situés en Europe, l'hébergement cloud SSD NVMe est conforme au RGPD et l'uptime garanti est de 99,9 %."
}
}
]
}Product: essential for e-commerce
Product, combined with Offer and AggregateRating, triggers the most visible rich results: price, availability and review stars directly in Google. Three rules: the marked-up price must be identical to the displayed price, availability must be kept up to date, and AggregateRating may only be used if genuine customer reviews are published on the page.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Hébergement cloud Pro — SSD NVMe",
"image": "https://optionweb.dev/images/hebergement-pro.jpg",
"description": "Hébergement cloud sur SSD NVMe, serveurs en Europe, uptime 99,9 %, panel OptionPanel inclus.",
"brand": {
"@type": "Brand",
"name": "OptionWeb"
},
"offers": {
"@type": "Offer",
"url": "https://optionweb.dev/hebergement",
"price": "19.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "47"
}
}5. How do you test and validate your structured data?
Two free tools cover every need: Google's Rich Results Test checks eligibility for rich results, and schema.org's Schema Markup Validator checks the syntactic validity of the markup. The first tests what Google will accept, the second tests what the schema.org vocabulary allows. Use both, in that order.
- Validate the JSON-LD block's syntax in the Schema Markup Validator (validator.schema.org): type errors, unknown properties, malformed JSON.
- Run the published URL through Google's Rich Results Test: the tool lists eligible rich results, warnings and missing properties.
- Fix blocking errors first, then warnings: a missing recommended property does not prevent display, but makes it less likely.
- Request reindexing via URL inspection in Google Search Console to speed up processing.
- Monitor the Search Console "Enhancements" report over the following weeks: it aggregates valid pages, pages with warnings and pages with errors, by schema type.
Search Console is your permanent dashboard. Every markup type detected generates its own report there: breadcrumbs, products, reviews. A sudden drop in valid pages after a deployment almost always signals a broken template — it is the first place to check after every redesign.
6. Which common mistakes should you avoid?
Structured data mistakes fall into two families: technical errors, which prevent the markup from being read, and compliance errors, which expose you to a manual action. The former cost you rich results; the latter can cost the entire domain all of its rich results.
- Invalid JSON — A stray comma or an unescaped quote is enough to make the whole block unreadable. Validate systematically before every deployment.
- Marking up invisible content — Marking up an FAQ, reviews or a price absent from the visible page is the leading cause of manual actions. Schema describes the page; it does not replace it.
- Duplicate, contradictory entities — A plugin generating one Organization while the theme injects another with different data: Google receives two versions of the truth. Audit what your stack actually outputs.
- Wrong entity type — Using Organization when LocalBusiness is called for, or Product for a service with no concrete offer, deprives the page of the matching rich results.
- Missing required properties — A Product without offers, an Article without datePublished: the markup is syntactically valid but ineligible for rich results.
- Frozen markup that never gets updated — Prices changed in the shop but not in the JSON-LD, outdated opening hours: inconsistency between markup and reality erodes Google's trust.
7. How does schema markup relate to AI answer engines?
Structured data has become an AEO and GEO asset as much as an SEO asset. Generative engines — ChatGPT Search, Perplexity, Google's AI Overviews — build their answers by extracting facts from web pages. A fact marked up in JSON-LD is a fact without ambiguity: exact name, exact price, exact address. The GEO study conducted by Princeton researchers in 2023 measured up to 40% additional visibility in generative answers for content optimized for clarity and source citations.
Schema plays a foundational role here: it pins down your entities. When an AI engine has to say who OptionWeb is, where the company is located and what its hosting costs, a coherent entity graph — Organization linked to Person, LocalBusiness, Product — drastically reduces the risk of factual error or confusion with a namesake. It is the "machine" side of your credibility.
Markup does not do everything, though: editorial structure, direct answers at the top of each section, content freshness and presence on the sources AI engines cite weigh at least as much. That broader strategy goes beyond the scope of this guide: we cover it in detail in our GEO guide to optimizing for ChatGPT, Perplexity and AI Overviews.
In short: schema markup costs a few hours of implementation and pays off on two fronts at once — Google rich results today, citability by AI engines tomorrow. It is one of the rare SEO projects with a double dividend. OptionWeb includes this markup as standard on every site it delivers, and audits it as part of its managed SEO plans from €299/month. Unsure about the state of your structured data? Write to us at contact@optionweb.dev: the diagnosis is quick, and you will hear back within 24 hours.
Read next
Complete SEO guide for SMBs in 2026: OptionWeb pillar page
Full map of SEO 2026 for SMBs: technical, GEO, local, multilingual, performance, accessibility, GDPR. Hub linking to the 9 deep-dive blog articles.
Multilingual SEO and hreflang in practice: 11-language experience guide
Complete guide to multilingual SEO: URL architecture, reciprocal hreflang, x-default, sub-sitemaps, language detection, content strategy, and typical pitfalls after 18 months in production.
GEO in 2026: Getting Cited by ChatGPT, Perplexity and Google AI Overviews
Generative Engine Optimization: how to structure a site to be cited as a source by ChatGPT Search, Perplexity, AI Overviews, Gemini and Copilot. Concrete techniques beyond classic SEO.
