Review stars not showing in Google: eligibility rules behind missing rating snippets

Stars appear only when four things are true: the markup is valid, the reviewed item is of a type Google supports for review snippets, the reviews are not "self-serving", and Google chooses to show them. Most missing stars come from the second and third conditions, which no amount of valid JSON can overcome.

Work through the checks in order. The first two are fixable; the last one is Google's discretion.

Check 1: is the markup valid and detected?

Run the URL through Google's Rich Results Test. You want Review snippets listed as a detected, valid item.

  • Not listed at all: Google found no rating markup it recognises, or the JSON does not parse. See unparsable structured data.
  • Listed with errors: fix them. The frequent ones are a missing ratingValue, a missing reviewCount or ratingCount, a rating outside the scale without bestRating and worstRating declared, and multiple aggregate ratings on one item.
  • Valid: continue to the next check. A pass here means eligible in syntax only.

Our JSON-LD validator will catch parse errors and missing required properties before you test with Google.

Check 2: is the item type supported?

Google shows review snippets for a defined list of types. Its documentation names Book, Course, Event, Local business, Movie, Product, Recipe and Software application among them. A rating attached to something outside the list is valid schema.org and produces no stars. The common ineligible cases:

  • Article or BlogPosting with an aggregateRating, from "rate this post" plugins.
  • Service, WebPage or Person.
  • A Product type applied to something that is not a product, in order to qualify. That is misleading markup, not a workaround.

Check 3: are the reviews self-serving?

Since 2019 Google has not shown stars for LocalBusiness and Organization (and their subtypes) when the reviews are about the business and are published on the business's own site. Its term for this is self-serving reviews. It applies whether the reviews are typed in by you, collected through a form, or embedded from a third-party widget.

In practice:

  • Testimonials on your homepage or service pages marked up as reviews of your company: no stars, ever.
  • A plumber's site with an AggregateRating on its LocalBusiness markup: no stars.
  • A directory or review site rating other businesses: eligible, because the reviews are about someone else.
  • A shop's product pages with customer reviews of each product: eligible, because the reviewed item is the product, not the shop.

If your markup is the ineligible kind, the honest options are to remove the rating properties or leave them knowing they will not display. Ratings for the business itself show in Google through its Business Profile, not through your site's markup. Our local business schema guide covers what that markup is good for.

Check 4: does the page show what the markup says?

Google's guidelines require that the rating and reviews are readily visible to users on the page being marked up. Stars are withheld, and manual actions sometimes issued, when:

  • The page displays no rating, or a different number from the markup.
  • One site-wide rating is repeated on every page.
  • The rating sits on a category or listing page and refers to many items.
  • Reviews are aggregated from other websites.

Each page should carry the rating for the one item it is about, with the same figures visible near the top or in a clearly labelled reviews section.

Check 5: has Google recrawled, and is the page indexed?

New markup shows only after the page is recrawled. Inspect the URL in Search Console; under Enhancements, look for Review snippets on the indexed version, not only the live test. If the indexed copy predates your change, request indexing. Also check the Review snippets report for the site as a whole: a template-level error keeps every page out.

Check 6: discretion

With all of the above satisfied, Google still decides per query whether to show stars. Its documentation says structured data makes a page eligible and does not guarantee a rich result. Stars appear more readily on results for queries about the specific item than on broad ones, and less readily for sites with a history of misleading markup. No setting changes this. Keep the markup accurate and leave it in place.

Setting it up correctly on WordPress

For products, WooCommerce outputs aggregateRating and reviews from its native review system once a product has at least one approved review. Make sure reviews are enabled under WooCommerce → Settings → Products and displayed on the product page. If an SEO or schema plugin also outputs Product markup, pick one source.

For recipes, courses, software and similar content, assign the matching schema type and enter the rating fields from real, displayed reviews. In Hydrogen SEO, types are set from the schema settings and per post; the fields for each are listed in the schema types reference, and our guide to adding schema markup to WordPress walks through assigning a type. The review snippet reference lists required properties.

Common questions

How long do stars take to appear after adding markup?

There is no set time. The page must be recrawled, and then Google decides whether to display them. Expect days to weeks.

Can I get stars for my company on my own homepage?

No. Reviews of a business on that business's own site are treated as self-serving and are not shown as stars.

My competitor shows stars with the same markup. Why not me?

Check whether their reviewed item is a product, recipe or other supported type, and whether your page shows the rating visibly. Display is also decided per query.

Will fake or inflated ratings work?

They risk a structured data manual action, which removes rich results from the affected pages or the whole site.