HelpWithWebGet Help Now
← Back to Blog
SEO7 min read

Schema Markup Guide: Win Rich Results in Google

Schema markup turns boring SERP listings into star ratings, FAQ boxes, and rich snippets. Here's what schema to add and how.

ByDino Bartolome

Schema markup is structured data you add to your HTML to help search engines understand what your page is about. Done right, it earns you rich results — star ratings, FAQ accordions, price boxes, and more prominent SERP listings.

Why schema matters

Two near-identical pages can have completely different SERP appearances:

  • Without schema: plain title + meta description
  • With schema: title + stars + price + availability + image + FAQ accordion

The schema version gets 2-5x more clicks for the same ranking position.

The schema you should actually implement

Not every schema type matters. Focus on these.

Organization (every site)

On your homepage and in your site-wide JSON-LD:

``json { "@context": "https://schema.org", "@type": "Organization", "name": "Your Business", "url": "https://yoursite.com", "logo": "https://yoursite.com/logo.png", "sameAs": [ "https://facebook.com/yourpage", "https://twitter.com/yourhandle", "https://linkedin.com/company/yours" ], "contactPoint": { "@type": "ContactPoint", "telephone": "+1-555-1234", "contactType": "customer service" } } ``

Why: Google uses this for knowledge panel info and entity associations.

LocalBusiness (local businesses)

``json { "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Your Business", "address": { "@type": "PostalAddress", "streetAddress": "123 Main St", "addressLocality": "Your City", "addressRegion": "ST", "postalCode": "12345", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": "40.7128", "longitude": "-74.0060" }, "telephone": "+1-555-1234", "openingHours": "Mo-Fr 09:00-17:00" } ``

Why: Powers Google Maps and local pack appearances.

Article / BlogPosting (every blog post)

``json { "@context": "https://schema.org", "@type": "Article", "headline": "Article Title", "datePublished": "2026-04-27", "dateModified": "2026-04-27", "author": { "@type": "Person", "name": "Author Name", "url": "https://yoursite.com/author/name" }, "publisher": { "@type": "Organization", "name": "Your Site", "logo": { "@type": "ImageObject", "url": "https://yoursite.com/logo.png" } }, "image": "https://yoursite.com/hero.jpg" } ``

Why: Makes your articles eligible for news carousels, rich results, and author attribution.

Product (e-commerce)

``json { "@context": "https://schema.org", "@type": "Product", "name": "Product Name", "image": "https://yoursite.com/product.jpg", "description": "Product description", "sku": "SKU123", "brand": { "@type": "Brand", "name": "Brand" }, "offers": { "@type": "Offer", "price": "29.99", "priceCurrency": "USD", "availability": "https://schema.org/InStock" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "121" } } ``

Why: Gets you stars, prices, and availability in SERPs. Massive CTR lift.

FAQPage (pages with FAQs)

``json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is X?", "acceptedAnswer": { "@type": "Answer", "text": "X is..." } }, { "@type": "Question", "name": "How much does X cost?", "acceptedAnswer": { "@type": "Answer", "text": "Prices start at..." } } ] } ``

Why: Shows an expandable FAQ accordion right in search results. Note: Google scaled back FAQ rich results in 2023 — now only shown for authoritative sites — but it still helps indexing.

HowTo (step-by-step guides)

``json { "@context": "https://schema.org", "@type": "HowTo", "name": "How to ___", "step": [ { "@type": "HowToStep", "name": "Step 1 title", "text": "Step 1 instructions..." }, { "@type": "HowToStep", "name": "Step 2 title", "text": "Step 2 instructions..." } ] } ``

Why: Can show step-by-step guides in search results.

BreadcrumbList (every non-home page)

``json { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com/" }, { "@type": "ListItem", "position": 2, "name": "Category", "item": "https://yoursite.com/category/" } ] } ``

Why: Replaces ugly URL with a clean breadcrumb path in SERPs.

How to implement

Use JSON-LD (not microdata)

JSON-LD goes in a <script> tag, usually in the <head>. It&apos;s separate from your content, so it&apos;s easy to manage.

Microdata and RDFa work but are harder to maintain.

Auto-generate from your CMS

  • WordPress: Yoast, Rank Math, and SEOPress plugins auto-generate most schema
  • Shopify: Built-in product schema; add more via apps
  • Next.js/React: Use <Head> or libraries like next-seo
  • Custom sites: Generate server-side from your data

Validate everything

  1. Before pushing:
  2. schema.org validator — syntax check
  3. Google&apos;s Rich Results Test — what Google sees
  4. Search Console&apos;s Enhancements reports — tracks errors post-deploy

Any error means you get no benefit. Fix errors immediately.

Common mistakes

  • Fake reviews in Product schema → manual penalty
  • Mismatch between schema and page content → manual penalty
  • FAQPage schema with content not visible on page → doesn&apos;t count
  • Multiple FAQPage schemas on one page → broken
  • Missing required fields (like priceCurrency on Offer) → invalid

What NOT to mark up

Don&apos;t add schema for things that don&apos;t match your content. Google penalizes mismatches.

  • Specifically don&apos;t:
  • Add reviews for things that aren&apos;t really reviews
  • Use HowTo for content that isn&apos;t step-by-step
  • Add LocalBusiness if you&apos;re not a local business
  • Add AggregateRating without real reviews backing it

Track the impact

  • Search Console → Enhancements → [each schema type] shows:
  • Valid items
  • Warnings
  • Errors

Also watch the Rich results report for impressions/clicks.

Need help?

Schema implementation is usually a 2-4 hour job that pays off for years. If you want it done right across your whole site, send me a message.

Need Help With Your Website?

I fix these problems every day. Send me a message and I'll take a look.

Get Help Now