Skip to content
arduralab
·9 min

Schema.org and Structured Data — How to Win Rich Snippets in Google

Schema.orgstructured datarich snippetstechnical SEOJSON-LD
MG
Marcin Godula

Współzałożyciel & Head of SEO/Tech

Specjalista SEO, GEO i web development z ponad 15-letnim doświadczeniem. Pomaga firmom B2B budować widoczność w wyszukiwarkach klasycznych i AI.

Schema.org is a universal structured data standard that helps search engines and AI better understand the content of a web page.

What Is Structured Data?

Imagine Google reading your page like a robot — it sees text but does not understand context. "ARDURA Lab" — is that a company? A person? A product? "3,000 PLN" — is that a price? A salary? A fine?

Structured data is a way of telling Google (and AI) explicitly: "This is a company. This is a price. This is an FAQ. This is an article with a publication date." In the audits we run, a site with zero schema is still the norm, not the exception — and it is the cheapest fix in the entire technical audit.

Format: JSON-LD (JavaScript Object Notation for Linked Data) — a script in the <head> of the page that Google and AI parse automatically.

Result: Rich snippets — enhanced search results in Google with stars, prices, FAQ, breadcrumbs, images. Rich snippets have 20-30% higher CTR than standard results.


Why Schema.org Matters in 2026

1. Rich Snippets = Higher CTR

A standard Google result:

Websites | ARDURA Lab
We design and build modern websites...

A result with rich snippets:

Websites — from 3,000 PLN | ARDURA Lab
★★★★★ 4.9 (23 reviews)
We design and build modern websites...
Services: SEO, GEO, Web Development

Which one would you click? The second one. Just like 30% more people — a difference schema gives you for free, without touching a word of the page content.

2. AI Prefers Structured Data

ChatGPT, Gemini, Perplexity — they all parse Schema.org. Structured data is the "language" you use to communicate with AI. A site with good schema has a greater chance of being cited in AI responses.

3. Voice Search

"Hey Google, how much does a website cost at ARDURA Lab?" — Google answers based on Schema.org (PriceRange, Offer).

4. Knowledge Panels

Schema.org Organization + sameAs (links to social media) = a chance for a Knowledge Panel on the right side of the SERP. This is one of the signals we're using to build our own entity recognition — a process we're still actively working on, and we have no illusions that one schema type settles it.


8 Schema.org Types You MUST Implement

1. Organization

Where: Homepage (in the layout — on every page)

What it provides: Informs Google about your company. Builds a Knowledge Panel.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "ARDURA Lab",
  "url": "https://arduralab.com",
  "logo": "https://arduralab.com/logo.png",
  "description": "Web development, SEO, and GEO agency.",
  "contactPoint": {
    "@type": "ContactPoint",
    "email": "[email protected]",
    "contactType": "customer service",
    "availableLanguage": "Polish"
  },
  "areaServed": {
    "@type": "Country",
    "name": "Poland"
  },
  "knowsAbout": ["SEO", "GEO", "Web Development"]
}

The idea is the same as on our side: we keep the full company data in one module (json-ld.ts) and render it globally from the layout — one source of truth instead of copying JSON onto every page.

2. WebSite + SearchAction

Where: Homepage

What it provides: Sitelinks search box in the SERP — users can search directly within your site from Google.

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "ARDURA Lab",
  "url": "https://arduralab.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://arduralab.com/baza-wiedzy?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

3. BreadcrumbList

Where: Every subpage

What it provides: Breadcrumbs in the SERP instead of the URL. Readable navigation + internal linking signal.

In Google, the result looks like:

arduralab.com > Services > SEO

instead of:

https://arduralab.com/uslugi/seo
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://arduralab.com" },
    { "@type": "ListItem", "position": 2, "name": "Services", "item": "https://arduralab.com/uslugi" },
    { "@type": "ListItem", "position": 3, "name": "SEO", "item": "https://arduralab.com/uslugi/seo" }
  ]
}

4. Article

Where: Every blog post / knowledge base article

What it provides: Informs Google about the publication date, author, and topic. A chance for a rich snippet with date and thumbnail.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article Title",
  "description": "Article description",
  "datePublished": "2026-01-20",
  "dateModified": "2026-01-20",
  "author": {
    "@type": "Person",
    "name": "Author"
  },
  "publisher": {
    "@type": "Organization",
    "name": "ARDURA Lab",
    "url": "https://arduralab.com"
  }
}

The article you're reading right now carries exactly this JSON-LD — with a named author as a Person, not an anonymous "editorial team". We're not doing this for show: it's the same signal this section has been arguing for from the start.

5. FAQPage

Where: FAQ pages + articles with Q&A sections

What it provides: Expandable questions and answers directly in the SERP. You take up MORE space in the results = higher CTR.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does a website cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A business card site from 3,000 PLN, a business site with a blog from 8,000 PLN."
      }
    }
  ]
}

Pro tip: FAQ schema is a favorite format for AI. ChatGPT and Perplexity frequently cite answers from FAQ JSON-LD. That's why every post on our blog closes with an FAQ section carrying its own JSON-LD — not as an afterthought, but as a working part of our own AI-citability strategy.

6. Service

Where: Service pages

What it provides: Informs Google about your services — name, description, provider, location.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "SEO Positioning",
  "description": "Strategic SEO — audit, content, link building.",
  "url": "https://arduralab.com/uslugi/seo",
  "provider": {
    "@type": "Organization",
    "name": "ARDURA Lab"
  },
  "areaServed": {
    "@type": "Country",
    "name": "Poland"
  }
}

7. LocalBusiness (for businesses with an office)

Where: Homepage or contact page

What it provides: A listing in Google Maps, opening hours, reviews. Crucial for local SEO.

8. HowTo

Where: "How-to" articles

What it provides: Step-by-step instructions in the SERP with thumbnails. Great for guides.


How to Implement Schema.org

Option 1: JSON-LD in Code (recommended)

Add <script type="application/ld+json"> in the <head> or before </body>.

In Next.js:

<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{
    __html: JSON.stringify(organizationJsonLd()),
  }}
/>

Advantages: Full control, easy to maintain, does not affect rendering. This is the exact function, organizationJsonLd(), that we call from this site's own layout — one type, one function, zero duplicated JSON across pages.

Option 2: WordPress Plugin

  • Yoast SEO — basic schema (Organization, Article, BreadcrumbList)
  • Rank Math — more advanced schema
  • Schema Pro — dedicated plugin

Downside: Limited control, dependency on the plugin.

Option 3: Google Tag Manager

Injecting JSON-LD through GTM. The "no developer" option.

Downside: Google officially supports this method, but JavaScript rendering can delay indexing.


How to Test Schema.org

1. Rich Results Test (Google)

URL: search.google.com/test/rich-results

Paste the URL -> Google shows detected schema and whether you qualify for rich snippets.

2. Schema Markup Validator

URL: validator.schema.org

More technical — shows all errors and warnings in your schema.

3. Google Search Console

Reports -> Enhancements -> FAQ, Breadcrumbs, Articles, etc.

Shows how many pages have valid schema and what errors Google has detected.


Most Common Schema.org Mistakes

1. Schema Does Not Match Content

FAQ schema on a page without questions and answers. Google will detect this and ignore it.

2. Missing Required Fields

Every schema type has required fields. An Article without headline or datePublished is invalid.

3. Spammy Schema

Fake reviews (5 stars, 100 reviews on a new site). Google penalizes spammy structured data.

4. Duplicates

Two identical Organization schemas on the same page. One instance per type.

5. Outdated Data

Opening hours from before the pandemic. Prices from 2 years ago. Update schema alongside content.


Schema.org's Impact on Rankings

Direct impact on rankings: Google officially states that schema is not a direct ranking factor.

Indirect impact: Enormous.

  • Rich snippets -> higher CTR -> Google interprets this as a quality signal
  • Better content understanding -> more accurate SERP display
  • FAQ schema -> more SERP real estate -> fewer clicks for competitors

Milestone Research study (2023): Sites with structured data have an average of 40% higher CTR than sites without.


Schema.org and GEO (AI)

In the context of GEO (Generative Engine Optimization), Schema.org is even more important:

  • AI models parse JSON-LD faster and more accurately than raw HTML
  • FAQPage schema is the ideal format for AI — question + answer
  • Organization schema builds your company's "entity" in the AI model
  • Service schema tells AI exactly what you offer

If you are doing GEO without Schema.org, you are doing GEO at half strength. We treat that as an internal rule, not just advice for clients: this site's robots.ts explicitly lets in GPTBot, ClaudeBot, PerplexityBot, and Google-Extended, and we separately publish llms.txt and llms-full.txt — because good schema without open access for AI bots is only half the strategy.


Schema.org Implementation Checklist

Minimum (every site):

  • Organization (layout/global)
  • WebSite + SearchAction (homepage)
  • BreadcrumbList (every subpage)

Content:

  • Article (every blog post)
  • FAQPage (FAQ page + articles with Q&A)

Services:

  • Service (every service page)

Optional (but recommended):

  • LocalBusiness (if you have an office)
  • HowTo (guides)
  • Review/AggregateRating (if you have reviews)

Verification:

  • Rich Results Test — zero errors
  • Schema Markup Validator — zero warnings
  • Google Search Console — monitor reports

Want to implement Schema.org on your site? Request a structural audit — we will determine which schemas to implement and show you the expected impact on CTR.

Need help with this topic?

Get a free audit and find out how we can help your business grow online.

Get a free quote