Schema markup is structured data you add to a page to tell search engines what its content means rather than just what it says. A price is only a number until schema labels it as an offer. A date is ambiguous until schema says it's an event.
Here's the part most guides skip: valid schema does not guarantee a rich result. Google treats structured data as a strong hint, not an instruction. Understanding that distinction saves a great deal of frustration.
The types that actually do something
Article — for blog posts and news. Rarely produces a dramatic visual result on desktop, but it clarifies authorship, publish date, and headline, and it feeds Google Discover eligibility. Worth having on every post.
Product — the highest-value type on this list. Earns price, availability, and review stars directly in results. If you sell anything, this is the one to get right.
FAQPage — Google significantly reduced FAQ rich results for most sites, keeping them largely for authoritative government and health domains. It still helps answer engines and AI summaries understand your content, so it retains value — just not the SERP real estate it once won.
HowTo — similarly wound down in standard search results. Still useful semantically.
BreadcrumbList — quietly one of the best returns on effort. It replaces the ugly URL path in your search snippet with a readable hierarchy, and it's almost always honoured.
Organization and WebSite — sitewide, set once. Feeds knowledge panels and sitelinks search boxes.
Review and AggregateRating — powerful and heavily policed. See the warning below.
The self-serving review trap
This one gets sites penalised. You may not mark up reviews of your own business on your own site and expect stars — Google explicitly disallows self-serving AggregateRating for the entity that owns the page. Reviews of products you sell are fine. Testimonials about your own company, marked up to farm stars, are a violation.
Related and equally important: never mark up ratings that don't correspond to real, visible reviews on the page. Inventing an AggregateRating of 4.9 with 2,800 reviews is structured-data spam, and it is exactly the sort of thing that triggers a manual action. If the number isn't real and visible to a human reading the page, don't put it in your schema.
Why your valid schema still gets ignored
The markup doesn't match visible content. This is the single most common cause. Schema must describe what is actually on the page. A price in your JSON-LD that differs from the price a visitor sees will be discarded.
The page isn't good enough to promote. Rich results are earned by pages Google already considers a strong answer. Thin content with perfect schema stays plain.
Duplicate or conflicting blocks. A very common WordPress problem: your theme outputs Article schema, your SEO plugin outputs its own, and a third plugin adds a third. Conflicting graphs confuse parsers. Pick one source of truth and disable the others.
Required properties are missing. Validators mark some fields as recommended rather than required, but rich results often depend on them anyway.
Implementing it without breaking things
Use JSON-LD in the page head, not microdata scattered through your HTML. It's Google's stated preference, it's far easier to debug, and it doesn't entangle your markup with your templates.
In WordPress, both Rank Math and Yoast generate a reasonable schema graph automatically, and for most sites that is genuinely sufficient. Reach for custom JSON-LD when you have a content type your plugin doesn't model well — then add it through a proper snippet manager such as Code Snippets Pro rather than editing theme files, so it survives your next theme update.
Test properly
Use Google's Rich Results Test for eligibility, and the Schema.org validator for strict correctness — they answer different questions. Then watch the Enhancements reports in Search Console over the following weeks, because that's the only place you'll see errors appearing at scale across your real URLs.
Set expectations sensibly. Schema clarifies; it does not rank. It makes an already-competitive page more attractive in the results, which lifts click-through rate. That is a real and worthwhile gain — it just isn't a shortcut past the fundamentals.