Search engines are good at reading text, but they still benefit from clear, explicit information. Is this page about a business, a person, a product or an event? Who wrote this article? What’s the price of this product, and is it in stock? Which social profiles belong to this company?
Schema markup, also called structured data, answers those questions in a format machines can read reliably. It can make your pages eligible for rich results in search, like star ratings, prices and breadcrumbs, and it helps search engines and AI systems build an accurate understanding of your business.
I’ve audited schema on many sites, and the problems I find are surprisingly consistent: duplicate markup from several plugins, organisation details that contradict each other, review stars that violate guidelines and schema describing content that isn’t on the page. Here’s how to get it right.
What schema markup is
Schema.org is a shared vocabulary for describing things on the web: organisations, people, products, articles, events, recipes and hundreds more. Major search engines support it.
You add schema to your pages as structured data. There are several formats, but JSON-LD is the one Google recommends and the easiest to manage. It’s a block of JSON inside a script tag, separate from your visible HTML:
Search engines read this and understand that the site belongs to an organisation called Example Studio, with a particular logo and LinkedIn page.
What schema can and can’t do
Schema can:
- Make pages eligible for rich results, such as product prices, review stars, breadcrumbs, event details and recipe information.
- Help search engines understand your business, authors and content more precisely.
- Support knowledge panels and brand understanding.
- Help AI-powered search tools interpret your content.
Schema can’t:
- Guarantee rich results. Google decides whether to show them.
- Make low-quality content rank.
- Replace good content, structure and authority.
Think of schema as clarifying, not boosting.
How schema works in WordPress
Most WordPress sites get schema from their SEO plugin. Popular SEO plugins generate a connected set of schema automatically: a WebSite, an Organization or Person representing the site owner, WebPage for each page, Article for posts and BreadcrumbList for breadcrumbs. WooCommerce outputs Product schema for products.
Your job is mostly to:
- Configure the plugin correctly, especially organisation details.
- Add schema for content types the plugin doesn’t handle.
- Remove duplicate schema from other sources.
- Validate the result.
The schema types that matter most
Organization or LocalBusiness
Every business site should clearly identify the organisation behind it. Include:
- Name, exactly as used elsewhere.
- URL.
- Logo.
- Contact information.
- sameAs links to official social profiles and other authoritative profiles.
Local businesses should use LocalBusiness, or a more specific subtype like Dentist, Plumber, Restaurant or LegalService, with address, phone, opening hours and geographic coordinates. Make sure details match your Google Business Profile exactly.
In your SEO plugin’s settings, set whether the site represents an organisation or a person, and fill in all the details. This single step fixes a lot of weak schema setups.
Person
For personal brands, consultants, freelancers and author pages, Person schema describes an individual: name, job title, image, the organisation they work for and links to their profiles. For content sites, connecting articles to Person schema for real, credible authors supports trust.
WebSite
WebSite schema identifies the site, its name and URL. SEO plugins generate this automatically. Using a consistent site name helps Google display the right name in search results.
Article and BlogPosting
For blog posts and news, Article schema includes the headline, author, publisher, images, publish date and modified date. Accurate dates matter: if you update an article significantly, the modified date should reflect it. Don’t fake updated dates without real changes.
BreadcrumbList
Breadcrumb schema helps search engines understand your site hierarchy and can display breadcrumb trails in search results instead of plain URLs. Most SEO plugins and many themes output it when breadcrumbs are enabled.
Product
For ecommerce, Product schema with Offer details enables prices, availability and ratings in search results. Include name, image, description, brand, SKU or GTIN, price, currency and availability. Shipping details and return policies can also be included. WooCommerce provides basic product schema; SEO plugins often extend it.
Service
For service businesses, Service schema can describe the services you offer, with the provider, area served and description. It doesn’t produce a specific rich result, but it adds clarity.
Event
Events with Event schema can appear with dates and locations in search. Include name, start date, location or online status, and ticket offers.
FAQPage and HowTo
FAQ schema used to produce expandable FAQ rich results for many sites. Since August 2023, Google limits FAQ rich results to well-known, authoritative government and health websites. HowTo rich results were removed entirely around the same time.
FAQ markup isn’t harmful, and other systems may still use it, but don’t expect FAQ dropdowns in Google for a typical business site. The real value is in the FAQ content itself, which answers questions clearly for both people and AI tools.
Review and AggregateRating
Review stars are attractive, but the rules are strict. Self-serving reviews, meaning reviews of your own business displayed on your own site using LocalBusiness or Organization schema, aren’t eligible for review rich results in Google. Product reviews collected from genuine customers on product pages are eligible.
Never mark up reviews that aren’t visible on the page, or invent ratings. That can lead to manual actions.
Connect your schema together
Modern SEO plugins output schema as a connected graph, where entities reference each other by ID. An Article is published by the Organization, written by a Person, part of a WebPage, which is part of the WebSite. This helps search engines understand relationships.
When adding custom schema, connect it to the existing graph rather than creating disconnected islands. Use the same @id values your SEO plugin uses for the Organization and WebSite, so everything links together.
Adding custom schema
For content your SEO plugin doesn’t cover, you have several options:
- SEO plugin features: many include a schema builder or let you choose a schema type per page.
- Dedicated schema plugins: for complex needs like events, courses or job postings.
- Custom code: output JSON-LD with a hook in a custom plugin. This gives you full control and works well with custom post types.
Use wp_json_encode, which handles escaping safely.
Validate everything
After setting up schema, test it:
- Google’s Rich Results Test shows which rich results a page is eligible for and flags errors and warnings.
- The Schema Markup Validator checks schema against the full Schema.org vocabulary.
- Search Console’s enhancement reports show schema issues across your site, such as product snippets, breadcrumbs and review snippets.
Test after theme changes, plugin updates and redesigns. Schema often breaks silently when templates change.
Common mistakes
- Duplicate schema. A theme, an SEO plugin and a schema plugin all outputting Organization or Product schema, sometimes with conflicting details. Pick one source and disable the others.
- Inconsistent business details. Different names, addresses or phone numbers in schema compared with the website and Google Business Profile.
- Marking up invisible content. Schema should describe content users can see on the page.
- Fake or self-serving reviews. Violates guidelines and risks penalties.
- Wrong page types. Using Product schema on a service page, or LocalBusiness on every page with different details.
- Outdated information. Prices, availability and opening hours in schema that don’t match reality.
- Auto-generated files that are never reviewed. I’ve corrected several sites where automated tools produced schema or AI-facing files describing services the business didn’t offer.
Schema and AI search
AI-powered search tools rely on understanding entities: who you are, what you do and how you relate to other things. Clear Organization, Person and sameAs data, consistent across your site and the wider web, helps those systems describe your business accurately. Schema isn’t a magic switch for AI visibility, but accurate entity information supports it.
Frequently asked questions
Do I need a separate schema plugin?
Often not. Most SEO plugins handle the essentials well. Add a schema plugin or custom code only for content types your SEO plugin doesn’t cover.
Why don’t my rich results appear even though the markup is valid?
Valid markup makes pages eligible, but Google decides whether to show rich results based on quality, relevance and other factors. Some rich result types are also limited to specific sites.
Is FAQ schema still worth adding?
It won’t produce FAQ rich results in Google for most sites anymore, but it doesn’t hurt if it accurately reflects visible content. Focus on writing clear FAQ content itself.
How often should I check my schema?
After any theme, plugin or template change, and periodically through Search Console’s enhancement reports.
Final thoughts
Schema markup is a way of stating clearly what search engines might otherwise have to guess. Configure your SEO plugin’s organisation and person details properly, use the schema types that fit your content, keep everything consistent and visible, avoid duplicates and validate regularly. It won’t replace good content, but it ensures search engines and AI tools understand that content exactly as you intend.




