Marketing & SEO

Why Your Rich Results Aren't Showing Up in Google (2026 Schema Checklist)

Rich snippets don't appear just because you added some JSON-LD — they appear because the markup is complete, valid, and matches what's actually on the page.

📅 Jul 27, 2026·⏱️ 5 min read·✍️ Cikal Studio Labs
🏷️

Structured Data Isn't Optional Anymore

Rich results — star ratings under a product listing, an FAQ dropdown right in the search results, a recipe card with a photo and cook time — are one of the few remaining ways to stand out on a search results page that's otherwise dominated by ads and AI overviews. All of them are powered by the same underlying mechanism: JSON-LD structured data using the schema.org vocabulary, embedded in a <script type="application/ld+json"> tag in the page's HTML.

The problem is that most sites either skip structured data entirely or ship markup that's technically present but functionally broken — missing a required field, using the wrong nesting, or describing content that doesn't match what's visible on the page. Google's Rich Results Test will often still parse the JSON without errors while quietly declining to show the rich result, because a recommended field was empty or a required one was missing.

The Fields That Actually Matter Per Type

Each schema.org type has its own required and recommended properties, and getting them right matters more than getting the JSON syntax right:

  • Article — needs headline, image, datePublished, and an author with a name. Skip the image and Google Discover eligibility drops.
  • Product — needs name, image, description, and a nested offers object with price, priceCurrency, and availability. A price with no currency is effectively invalid.
  • LocalBusiness — needs a full PostalAddress, telephone, and openingHours in the correct schema.org day-range format (e.g. Mo-Fr 09:00-17:00).
  • FAQPage — needs an array of Question entities, each with an acceptedAnswer. Every question needs a real answer — placeholder text gets filtered by Google's quality checks.
  • Recipe — needs recipeIngredient as an array of strings and recipeInstructions as an array of HowToStep objects, plus prepTime and cookTime in ISO 8601 duration format (PT20M for 20 minutes).
  • Review — needs an itemReviewed entity, a reviewRating with a ratingValue, and an author.

The Nesting Mistakes That Silently Break Rich Results

Beyond missing fields, the most common structural mistakes are: forgetting "@context": "https://schema.org" at the top level, nesting an Offer directly instead of wrapping it under offers, and using a plain string where schema.org expects a typed object — like putting an author's name directly on the Article instead of nesting it inside {"@type": "Person", "name": "..."}.

A Faster Way to Get It Right

Rather than hand-writing JSON-LD from a schema.org reference page every time, a generator that only asks for the fields a given type actually needs — and validates that none of the required ones are empty — removes most of the room for error. Fill in the form, get valid nested JSON-LD back, paste it into the <head>, and verify it in Google's Rich Results Test before publishing.

Bottom Line

Rich results aren't a ranking hack — they're a visibility upgrade that depends entirely on structured data being complete and correctly typed. Getting the required fields right the first time, for the schema type that actually matches your content, is the difference between an FAQ dropdown showing up in search results and a JSON-LD block that just sits in your page source doing nothing.