Guide · SEO

How to Get Star Ratings and FAQs to Show Up in Google (Schema Guide)

Structured data is how you tell Google what your page actually means — and it's the difference between a plain blue link and one with star ratings, FAQs, and prices baked right into the search result.

You've seen it. You search for something and one result has gold stars under it, or a stack of expandable questions, or a price and an "In stock" badge. Yours is a plain blue link with a gray description. The other site isn't paying Google for that. They added a few lines of code called structured data, and Google rewarded them with a richer-looking result that takes up more space and gets more clicks.

The good news: structured data isn't hard, and it's not a black box. It's a small, well-documented vocabulary you bolt onto your pages to spell out "this is a product, here's the price, here's the rating." The bad news: it's fiddly, easy to get subtly wrong, and Google will silently ignore markup that doesn't meet its rules. No error message. Just no stars.

This is the plain-English version of how it works, what schema types matter for a normal business website, and the specific mistakes that quietly disqualify you from rich results.

By the end you'll know:

Part 1 — What Structured Data Actually Is

1. The vocabulary: schema.org

Search engines read your page's words, but words are ambiguous. Does "Apple" mean the fruit or the company? Is "$49" a price, a discount, or a phone number that happens to start with a dollar sign? Structured data removes the guessing. You add hidden labels that say, in a format machines understand, "this number is a price, this text is a review, this is the author's name."

The shared dictionary of labels is schema.org — a vocabulary maintained jointly by Google, Microsoft, Yahoo, and others. It defines types (Product, Article, LocalBusiness) and the properties each type can have (name, price, aggregateRating). When you mark up a page, you're picking a type from this dictionary and filling in its properties.

2. The format: JSON-LD

Schema.org is the what. JSON-LD is the how — the format Google recommends for writing it down. It's a small block of structured text that sits in your page's HTML, usually inside a <script type="application/ld+json"> tag in the <head>. It's separate from your visible content, so it doesn't change how the page looks to humans at all.

There are two older formats — microdata and RDFa — that weave labels into your existing HTML tags. They still work, but they're messier and Google explicitly prefers JSON-LD. If you're starting fresh, use JSON-LD. There's no reason not to.

What "bad" looks like: a page with zero structured data at all. Plenty of perfectly good sites have none — they're just leaving rich results on the table. What to do: view the page source (right-click → View Page Source) and search for ld+json. Nothing? That's your starting point.

3. Structured data ≠ guaranteed rich results

Here's the part nobody tells you. Adding valid schema makes you eligible for rich results. It does not guarantee them. Google decides, per query, whether to show the rich version — based on quality, relevance, and whether it thinks the enhancement helps. You can do everything right and still see a plain link some of the time. That's normal. Your job is to clear the eligibility bar; Google's job is the rest.

Part 2 — The Schema Types That Actually Matter

You'll see hundreds of types in schema.org. Ignore almost all of them. For a normal business site, here's the short list that earns real rich results.

4. Organization and LocalBusiness

Organization describes your company — name, logo, social profiles, contact info. It helps Google build the knowledge panel on the right side of branded searches. Put it on your homepage.

LocalBusiness is the version for businesses with a physical location or service area. It adds address, telephone, openingHours, and geo coordinates. If you have a storefront, this is non-negotiable — it feeds your local search presence alongside your Google Business Profile.

Required-ish properties: name, plus address and telephone for LocalBusiness. Recommended: logo, url, sameAs (links to your social profiles), openingHoursSpecification.

5. Product (with Offers and AggregateRating)

If you sell things, Product is where the money is. It can surface price, availability, and — yes — star ratings directly in search and in the Google Shopping experience. But it has dependencies: the rating stars come from a nested AggregateRating (or individual Review) object, and the price comes from a nested Offers object.

Required for a product rich result: name, plus offers or review or aggregateRating (you need at least one). For Offers: price and priceCurrency. Recommended: image, description, brand, sku, availability.

What "bad" looks like: a Product block with an aggregateRating but no actual reviews on the page, or a rating you made up. That's a policy violation and it can get your markup ignored or your site flagged.

6. Article

For blog posts and news, Article (or BlogPosting/NewsArticle) tells Google this is editorial content and who wrote it. It feeds Top Stories and supports the author and date that show in some results.

Required: headline. Strongly recommended: image, datePublished, author (as a nested Person with a name), and dateModified. The author field matters more than ever — Google leans on it for credibility signals. If you're thinking about whether your content earns its rankings at all, that's a content effectiveness question, and schema is the technical half of it.

7. FAQPage

This is the one people ask about most: the expandable questions that show up under a result. FAQPage markup makes you eligible for it. Each entry is a Question with an acceptedAnswer.

The catch: Google narrowed FAQ rich results in recent years — they now show primarily for well-known, authoritative government and health sites. For most businesses, FAQ markup no longer reliably produces the expandable result it used to. It's still worth adding (it can't hurt and it documents your content cleanly), but don't expect the visual payoff you saw in screenshots from a few years ago. Manage your expectations here.

The hard rule: every question and answer in your markup must be visible on the page itself. Marking up FAQs that aren't on the page is a violation.

8. BreadcrumbList and Review

BreadcrumbList turns your URL into a readable trail (Home › Shoes › Running) in the search result instead of a raw URL. It's low-effort and widely supported — add it on any site with category depth.

Review and AggregateRating are the rating stars themselves. They don't stand alone — they attach to a Product, LocalBusiness, Recipe, Course, or similar. Review is a single review (with author and reviewRating); AggregateRating is the summary (ratingValue and reviewCount). This is the machinery behind the gold stars everyone wants.

Part 3 — Test, Fix, and the Mistakes That Kill It

9. Test every page with the Rich Results Test

Never guess whether your markup works. Paste your URL (or raw code) into Google's Rich Results Test at search.google.com/test/rich-results. It tells you exactly which rich-result types the page is eligible for, lists every error and warning, and shows a preview. For ongoing monitoring, the Rich Results report in Google Search Console shows valid items, warnings, and errors across your whole site over time.

What "bad" looks like: the test says "No items detected" (your JSON-LD has a syntax error or isn't being found) or shows red errors for missing required fields. What to do: fix until you see green "valid" with the rich-result type you wanted listed.

10. The three mistakes that quietly disqualify you

Nearly every failed schema audit comes down to one of these:

11. A copy-pasteable starting point

Here's a clean LocalBusiness block. Swap in your real details, drop it in your page's <head>, and run it through the Rich Results Test:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Riverside Coffee Co.",
  "image": "https://example.com/storefront.jpg",
  "url": "https://example.com",
  "telephone": "+1-555-123-4567",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "120 Main St",
    "addressLocality": "Asheville",
    "addressRegion": "NC",
    "postalCode": "28801",
    "addressCountry": "US"
  },
  "openingHours": "Mo-Sa 07:00-18:00",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "214"
  }
}
</script>

Only include that aggregateRating block if you genuinely have 214 reviews displayed on the page. Otherwise, delete it — a real result with no stars beats a fake one that gets you flagged.

// What This Guide Won't Catch

A guide gets you the concepts and the obvious wins. What it can't do is look at your actual pages and tell you exactly what's broken on each one. Hand-checking every URL with the Rich Results Test is tedious, and some failures are subtle — they don't error out, they just quietly don't qualify.

What you'll still want a real audit for:

If you'd rather not paste 30 URLs into the Rich Results Test one at a time, that's exactly what the Schema & Rich Results Audit ($19.99, one-time) is for. It crawls your site, extracts the JSON-LD, microdata, and RDFa on every page, validates each entity against schema.org and Google's required-vs-recommended rules, flags the pages with no structured data at all, and hands you a copy-pasteable corrected snippet for your biggest issue. You can run a Schema & Rich Results Audit here and have the full report back in under 24 hours.

It's a fraction of an agency retainer, no subscription, no upsell. Just a clear list of what's wrong and the markup to fix it.

Schema is one layer of getting found. If you want the full picture, pair it with the on-page SEO checklist — together they cover what's on your pages and what your pages mean.

// Skip the legwork
Or have Signal run the Schema & Rich Results Audit for you.

Rather have it done for you? The Schema & Rich Results Audit pulls the data, runs every check above, and hands you a prioritized, plain-English report in under 24 hours — a fraction of an agency retainer, no subscription, no upsell.

Run this audit →
$19.99 · one-time · no subscription

FAQ

Why don't I get review stars in Google even though I added schema?
Three usual suspects: your aggregateRating is missing required fields (ratingValue, reviewCount), the reviews aren't actually visible on the page, or your markup is valid but Google simply chose not to show the rich version for that query. Run the Rich Results Test first — it'll tell you which.
Is JSON-LD better than microdata?
For new work, yes. Google recommends JSON-LD, it's cleaner, and it lives separately from your HTML so it's far easier to maintain. Microdata and RDFa still work, but there's no reason to choose them today.
Does adding schema markup improve my rankings?
Not directly. Structured data doesn't boost where you rank — it changes how your result looks once it's there, which can lift click-through rates. The ranking work is separate; this is about earning a richer, more clickable result.
Do FAQ rich results still work?
Mostly not, for typical businesses. Google narrowed FAQ rich results to authoritative government and health sites. The markup is still valid and worth keeping, but don't count on the expandable questions appearing the way they did a few years ago.
How many pages need structured data?
Every page that maps to a type: products get Product, blog posts get Article, your homepage gets Organization (or LocalBusiness), category pages get BreadcrumbList. Generic pages like your About page often don't need any — don't force it.
What tool should I use to check my schema?
Google's Rich Results Test for per-page checks and previews, and the Rich Results report in Search Console for site-wide monitoring over time. For raw JSON validity, jsonlint.com. The schema.org validator (validator.schema.org) is useful for types Google doesn't cover.