You type your product’s name into Google and look at the results. Your competitor has a price under the title, “In stock” and a row of stars. You have two grey lines of description, cut off mid-word. Same product, similar price, and yet the searcher’s eye caught on someone else.
Part of that difference comes from structured data, that is, Schema.org markup. Part of it comes from nothing you can control, because Google decides on its own how a snippet looks. Let’s work out where the line is: which rich snippets Google shows in 2026 (the list has shrunk noticeably), what to mark up, how not to make a mess of it in WordPress and how to check the result. There’s one example throughout, and it’s made up: an online shop for outdoor gear with tents, customer reviews and a hiking blog.
1. What Schema.org Is, in Plain Words
Schema.org is a shared vocabulary a website uses to tell a search engine what’s on a page. A person sees the product, the price and the reviews anyway. A search engine sees code and has to guess the meaning, which it does reasonably well, but not always.
Markup removes the guesswork. On the tent page, the shop says outright: this is a product (Product), here’s the price in hryvnias, the availability and the average customer rating. On the homepage: this is an organization (Organization) with a logo and contact details. On a blog article: a post (BlogPosting) with an author and a date.
There are three formats to write this in: JSON-LD, Microdata and RDFa. Google supports all three, but explicitly recommends JSON-LD where the site allows it. JSON-LD lives in a separate block and doesn’t get tangled up with the layout, so it’s easier to edit and check. Here’s minimal product markup for our shop:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trek 3 three-person tent",
"image": "https://example.com/img/trek-3.webp",
"description": "A 2.4 kg three-person tent for shoulder-season hiking.",
"offers": {
"@type": "Offer",
"price": "7490",
"priceCurrency": "UAH",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "89"
}
}
</script>
The values here are made up. On a live site, every one of them has to match what a person sees on the page.
2. What Rich Snippets Are and Which Ones Are Still Alive
Rich snippets (Google’s documentation calls them rich results) are extra elements in a search result on top of the usual title, URL and description: a rating, price and availability, a breadcrumb trail instead of the URL, an event date, a recipe’s cooking time, an organization’s logo.
The most important thing to know in 2026: this set isn’t fixed, and Google is actively cutting it down. A few examples from the Search Central changelog:
| Snippet type | What happened | When |
|---|---|---|
| HowTo (step-by-step instructions) | Removed from search results entirely, on mobile and desktop | September 2023 |
| FAQ (questions and answers under the result) | First limited to well-known, authoritative government and health sites, then removed completely | August 2023, then 7 May 2026 |
| Sitelinks search box in the snippet | Removed from search results | November 2024 |
| Breadcrumb trail | Shown on desktop only, not on mobile | January 2025 |
| Course info, estimated salary, ClaimReview and a few more | Gradually phased out | from June 2025 |
So plenty of two-year-old articles about rich snippets advise marking up things Google no longer shows to anyone. The current list is always in Google’s structured data gallery.
Stars deserve a separate word, because they attract the most myths. Google shows ratings for products, recipes, books, events, software apps and a few other types. A company, however, won’t get stars for reviews about itself on its own website: ratings for Organization and LocalBusiness are only for sites that collect reviews about other businesses, like directories (the self-serving reviews rule). Our shop can hope for stars next to the tent, but not next to its own name.
3. Does Schema.org Affect SEO
Not directly on rankings. Google never calls structured data a ranking signal and describes its value in terms of how the result looks, not where it sits. Tellingly, even a manual action for breaking the markup rules, according to Google, makes the page ineligible for a rich snippet but doesn’t affect how the page ranks.
There is indirect value, and it comes in two kinds.
Understanding. Markup helps the search engine connect the page to an entity without ambiguity: this tent is from this particular brand, this article is by this particular author, this site belongs to this particular company. For organizations, Google says plainly that this data helps tell the company apart from others and can influence which logo appears in search results and in the knowledge panel (Organization documentation).
How you look in search. If a rich snippet appears, the result stands out more, and two pages in neighbouring positions can get a different number of clicks. Nobody can tell you in advance how much a snippet will bring you specifically, so measure it on your own data.
That’s why markup is part of a site’s technical hygiene alongside canonical, hreflang, metadata and internal links, not a separate “traffic button”. What else belongs to that hygiene is covered in the article “SEO audit: what to check yourself and what to order”.
4. Which Schema Types Are Used Most Often
After your first look at schema.org, it’s tempting to mark up everything in the vocabulary. The vocabulary is huge, but Google uses only a small part of it for search results, and the rest says nothing to Google. For most business sites, a handful of types is enough.
| Type | Where it goes | What it can bring in Google |
|---|---|---|
Organization |
Homepage or “About us” page | Logo and company details, brand disambiguation |
LocalBusiness |
Site of a physical location | Opening hours, address, phone for the knowledge panel |
Product |
Product pages | Price, availability, rating, reviews |
BreadcrumbList |
All inner pages | Breadcrumb trail instead of the URL (desktop only) |
Article / BlogPosting |
Blog articles | Headline, date, author, image |
Organization
Name, logo, website URL, contact details, social media profiles. Google doesn’t require any fields here and recommends adding everything that genuinely applies to the company. For our shop that’s the name, logo, support phone number and social media pages.
LocalBusiness
A subtype of Organization for a business with an address people come to: a showroom, a clinic, a sales office. If the gear shop has a showroom in Lviv, its page gets LocalBusiness with the address and opening hours. The data in the company’s Google Business Profile has to match the markup down to the last digit of the phone number.
Product
Google distinguishes a product snippet for review pages from a merchant listing for pages where the product can be bought, with data on price, shipping and returns (Product snippet documentation). The shop’s product pages need the second one.
BreadcrumbList
The page’s place in the structure: “Home › Tents › Three-person › Trek 3”. In search results the trail can replace a long URL, but since January 2025 only on desktop. Don’t expect it on a phone.
FAQ and HowTo
Once the darlings of SEO advice, because they produced big blocks in search results. Today both are dead as snippets: HowTo was removed in 2023, and since 7 May 2026 FAQ isn’t shown for any site. You don’t have to delete old markup; Google said it doesn’t cause problems for Search (Search Central blog, 2023). But there’s no point adding new markup for the sake of a snippet. On our own site, FAQPage stays in articles because it honestly describes the visible question block. We don’t expect a snippet from it.
5. How to Add Schema.org in WordPress
In WordPress you rarely have to write JSON-LD by hand. Popular SEO plugins generate the basic markup themselves.
Yoast SEO in the free version automatically builds a single connected graph: the website, the page, the article, the breadcrumbs, and the organization or person behind the site. LocalBusiness and extended data for WooCommerce products live in Yoast’s paid add-ons (description on the Yoast website).
Rank Math has a dedicated schema module. The default type is set for each post type in the Titles & Meta settings, for a single page it’s changed in the Schema tab of the post editor, and company details live in the Local SEO module. Some types and the advanced editor are only available in PRO (Rank Math knowledge base). Menu labels depend on the version and interface language, so go by the meaning.
What’s worth doing regardless of the plugin:
- Say who’s behind the site. An organization with a name and logo, not an empty default field.
- Check the type for each template. Blog articles should be articles, product pages products, service pages ordinary pages.
- For a WooCommerce shop, check what exactly generates
Product: WooCommerce itself, the SEO plugin or the theme. There should be one source. - Don’t switch on everything. Plugins still offer FAQ and HowTo blocks, and some even offer sitelinks search box markup. Google no longer shows any of these snippets.
6. Common Mistakes When Implementing Schema.org
Visitors can’t see markup, so broken markup can go unnoticed for months.
Duplicate markup. The SEO plugin generates its own Product, the theme its own, and a separate reviews plugin adds its own rating on top. The page code ends up with three descriptions of one tent with different prices or ratings. In our experience, this tends to happen after a new theme or plugin.
Wrong type for the job. Product on a service page, FAQPage with not a single question on the page, an organization rating based on reviews about itself. Today these tricks are mostly ignored, and at worst they lead to a manual action.
Markup doesn’t match the page. The JSON-LD says 4.9, but there are no reviews visible on the page at all. The code says UAH 7,490, while the page already shows UAH 7,990 after a price rise. Google explicitly lists content hidden from people and markup that doesn’t reflect the main content of the page among the reasons there won’t be a snippet (structured data policies).
There’s one rule: markup describes what a person can already see on the page, and adds nothing on top.
7. How to Check Structured Data
There are two tools for checking, and people often mix them up.
| Rich Results Test | Schema Markup Validator | |
|---|---|---|
| Made by | schema.org | |
| What it checks | Whether the markup is eligible for Google rich results | Whether the markup is valid against the schema.org vocabulary in general |
| What it shows | Only the types Google uses for search results, with errors and warnings | All types found, even the ones Google doesn’t show |
The Rich Results Test takes a page URL or a code snippet, loads the page the way Google sees it and shows which rich results it found. If a type is missing from the list, that isn’t always an error: Google may simply not have a snippet for it. This is where the Schema Markup Validator comes in handy: it shows that the markup is on the page and what it looks like.
For the whole site, there’s Search Console. Rich result reports sit in the side menu under Enhancements, and reports on products and merchant listings under the Shopping section (Search Console Help). A report only appears for types Google supports in reports, so you won’t find an Organization or Article report there even with flawless markup. For a single page, there’s URL Inspection.
Don’t check on a calendar schedule; check after every technical change: a new theme, a WooCommerce update, a new plugin, a migration. In our experience, that’s exactly when markup breaks. If the site is moving to a new domain or platform, add markup to your migration checklist.
A quick look without any tools, with one command in the terminal:
curl -s https://grandma.agency/blog/how-to-speed-up-wordpress-site/ | grep -o '"@type": *"[A-Za-z]*"' | sort | uniq -c
On an article from our blog it will show Organization, WebSite, BreadcrumbList, BlogPosting with the author as Person, and FAQPage. That’s how our site is set up: the organization and website graph, the breadcrumbs, an article with a named author and a question block.
8. Why Rich Snippets May Not Appear
The most frustrating situation: the markup is set up, the Rich Results Test shows green ticks, a month has passed and nothing in search has changed. That’s normal, and Google says so in plain text: markup makes a snippet possible but doesn’t guarantee it (structured data policies).
Reasons there may be no snippet even with correct markup:
- Google decided a plain result is better. How the results look depends on the query, the location, the device and the individual person’s search history. The same tent may show with a price for one query and without it for another.
- The type isn’t shown. FAQ, HowTo and the sitelinks search box are gone entirely, and breadcrumbs aren’t shown on phones.
- The page hasn’t been recrawled yet. Google has to crawl the page again to see the new markup. Sometimes that takes a few days, sometimes weeks.
- The markup is technically valid but doesn’t match the page, or it breaks the rules of a specific type, as with self-serving reviews.
- A manual action. Check the Manual actions report in Search Console if snippets disappeared suddenly and across many pages at once.
So don’t judge markup by stars alone. Its first job is to describe the page accurately for the search engine, and if that description is correct, the markup is already doing its work. And if the site’s visibility is low overall, the cause is almost certainly not schema.org.
9. Your Site Most Likely Already Has Schema.org
WordPress themes, SEO plugins, WooCommerce and site builders add markup by default, so you most likely have it, even if you’re hearing the word schema.org for the first time. The question is what exactly it says about your site. A typical picture: the organization is named after the theme template, the logo is empty, products have no price, and service pages carry a Product from who knows where. Formally there’s markup; in practice it describes a different site.
What to do in half an hour:
- Open the homepage, one product or service page and one article in the Schema Markup Validator.
- See which types were found and how many times. Two
Productentries on one page mean two sources of markup. - Compare the values with what’s on screen: company name, logo, price, availability, article author.
- Run the same pages through the Rich Results Test to see what Google can actually take into account.
If you need markup not only for Google but also for how AI assistants read your site, that’s a separate conversation, and we write about it on our AI search visibility page. There are no guarantees there either, but an accurate description of the site won’t hurt anywhere.
10. Is Schema.org Worth Implementing in 2026
Yes, with sober expectations. Basic markup today sits alongside HTTPS, responsive layout and metadata: a site won’t die without it, but with it the site is built properly.
It makes the most sense for:
- online shops, because product price, availability and rating are still part of live snippets;
- businesses with a physical address, because opening hours and contact details should be described the same way everywhere;
- companies with a recognizable brand, for whom it matters that Google correctly connects the site, the logo and the profiles.
It makes the least sense to chase types Google has already removed, or stars where the rules don’t allow them. People often decide where to click while still on the results page, so plan how you look in search as your first screen. And a slow site after the click will waste even the best snippet; that’s covered in the article “How to speed up a WordPress site”.
11. Conclusion
Schema.org won’t push a site to the top and doesn’t guarantee a rich snippet. It gives the search engine an accurate description of the page and opens the door to the snippets Google still shows. The list keeps getting shorter, so feel free to skip old advice about FAQ and HowTo.
For most sites a handful of types is enough: Organization, BreadcrumbList, Article for the blog, Product for a shop, LocalBusiness for a physical location. What matters is that the markup comes from one source, matches the visible content and gets checked after every technical change. It’s cheapest to build it in at the development stage rather than untangle it after three plugins have described one product with three different prices.
If you want to know what your site is currently telling Google about itself, write to us. We’ll check the markup along with the rest of your technical SEO and tell you what to fix and what to leave alone. You can see how we work on our SEO services page.
12. FAQ
13. Sources
- Google Search Central, introduction to structured data and the JSON-LD recommendation
- Google Search Central, general structured data guidelines and no guarantee of a snippet
- Google Search Central, gallery of supported rich results
- Google Search Central, documentation changelog (FAQ, breadcrumbs, sitelinks search box, phased out types)
- Google Search Central Blog, changes to HowTo and FAQ, 2023
- Google Search Central Blog, simplifying the search results page, 2025
- Google Search Central, Review snippet and the self-serving reviews rule
- Google Search Central, Organization
- Google Search Central, Product snippet and merchant listing
- Google Search Central, structured data generated with JavaScript
- Search Console Help, rich result reports
- Rich Results Test
- Schema Markup Validator
- Schema.org, getting started
- Yoast SEO, structured data
- Rank Math, Schema (Structured Data)
