Back to Blog

Schema Markup: How to Add Structured Data That Actually Gets Rich Results

Schema markup is how you communicate page context directly to Google in a language it can't misinterpret. Here's which schema types matter most, how to implement them, and how to validate without guessing.

Dani Kowalski8 min readApril 17, 2026

Content strategist and semantic SEO specialist, 7 years building topical authority for SaaS brands

Schema markup is structured data added to your HTML that tells Google — in precise, unambiguous terms — what your page is about. Without it, Google infers meaning from your content using natural language processing. With it, you hand Google a machine-readable description of your entities, relationships, and content type. The payoff is rich results: star ratings, FAQ accordions, product prices, and event dates appearing directly in the SERP.

JSON-LD vs. Microdata: always use JSON-LD

There are three ways to add schema: JSON-LD (a <script> tag in <head>), Microdata (attributes on HTML elements), and RDFa (similar to Microdata). Google recommends JSON-LD and so does every practitioner. It's easier to maintain, doesn't require touching your HTML structure, and can be injected or updated without touching the page's visible content.

<!-- JSON-LD in <head> — preferred method -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Fix Core Web Vitals",
  "author": {
    "@type": "Person",
    "name": "Marcus Webb"
  },
  "datePublished": "2026-04-12",
  "publisher": {
    "@type": "Organization",
    "name": "SEOdisaster.com",
    "url": "https://seodisaster.com"
  }
}
</script>

The schema types that generate rich results

Not all schema types produce visible SERP enhancements. These are the types Google actively uses for rich results as of 2026:

  • Article / BlogPosting — enables Discover cards and signals freshness; not a direct rich result but improves crawl prioritisation
  • FAQPage — displays expandable Q&A directly in the SERP. High real-estate value. Each Question/Answer pair must be present verbatim on the page.
  • HowTo — numbered step format in search results. Only shown for instructional content with clear step-by-step structure.
  • Product — star ratings, price, availability, and review count in shopping results. Essential for e-commerce.
  • Review / AggregateRating — star ratings in organic results. Requires genuine reviews on-page, not pulled from third parties.
  • BreadcrumbList — clean URL breadcrumb trail in the SERP. Easy to implement; immediate visual impact.
  • SoftwareApplication — app name, rating, price, and OS in results. Used for SaaS and app landing pages.
  • LocalBusiness — address, hours, phone number, and map integration for local search.

Implementing FAQPage schema (most impactful for content sites)

FAQPage schema generates accordion-style Q&A rich results that can more than double your SERP real estate for informational queries. The questions and answers in your schema must appear visibly on the page — Google verifies this. You cannot inject schema for FAQ content that isn't rendered in the HTML.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is keyword cannibalization?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Keyword cannibalization occurs when two pages on the same site compete for the same search query, splitting ranking signals and weakening both pages."
      }
    },
    {
      "@type": "Question",
      "name": "How do I fix keyword cannibalization?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Merge the weaker page into the stronger one with a 301 redirect, differentiate the pages' search intent, or add a canonical tag on the weaker version."
      }
    }
  ]
}
</script>

Schema markup mistakes that trigger manual actions

Google's structured data guidelines are strict. Violating them results in a manual action under 'Structured data issue' — which removes your rich results and can suppress affected pages. The most common violations:

  • Marking up content that isn't visible on the page — e.g. adding AggregateRating schema for a 4.9 star average when no reviews appear on the page
  • Fake or inflated review markup — Google cross-references schema ratings against page content
  • Spammy use of HowTo or FAQPage on content that isn't genuinely instructional — Google demoted FAQPage rich results in 2023 partly because of widespread misuse
  • Using Product schema on a non-product page to gain star ratings in organic results
  • Applying LocalBusiness schema to every page of a national site

How to validate your schema

Use two tools in sequence. First, Google's Rich Results Test (search.google.com/test/rich-results) — paste your URL or code and it shows which rich results your schema qualifies for and any errors. Second, the Schema Markup Validator (validator.schema.org) — this tests for schema.org specification compliance, catching errors the Rich Results Test misses. After deploying, check the Enhancements section in GSC (e.g. FAQs, Breadcrumbs, Products) for live error counts on your production URLs.

✦ Insight

Schema markup is also one of the clearest E-E-A-T signals you can send to AI search engines. LLMs and AI Overviews use structured data to verify claims about authors, dates, organisations, and content type. A site with well-implemented Article and Person schema is far easier for an AI crawler to trust and cite than one with anonymous, unstructured HTML.


💡 Tip

Level 3 of SEOdisaster (The Semantic Sinkhole) includes a structured data manual action scenario — a site that added fake review schema to boost click-through rates and is now suppressed from rich results. You'll diagnose the violation, strip the offending markup, and rebuild correct schema under a content re-launch deadline.

Learn this by doing — not just reading.

SEOdisaster.com teaches SEO through interactive disaster scenarios. Put these concepts into practice in the game.

Play Free →