What is schema markup? The complete guide for WordPress
By Anis Harbaoui, SEO specialist
Schema markup is structured data, written with the Schema.org vocabulary, that tells search engines what a page is about: which entity it describes, who published it and how it connects to other entities. On WordPress it is output as JSON-LD by an SEO plugin. This guide covers how it works, which types still matter in 2026, how to build it as one connected graph, and how to measure the result.

- Schema markup does not directly improve rankings; it makes pages eligible for rich results and removes ambiguity about entities.
- Use JSON-LD from a single source. Two plugins printing schema create conflicting entities.
- Connect every node with a stable
@idand link your brand to official profiles and Wikidata withsameAs. - Markup must match what users see on the page, or Google ignores it.
- Several rich results were retired in 2023 and 2025; check the current gallery before promising one.
What is schema markup?
Schema markup is a machine-readable description of a page built from the types and properties defined at Schema.org, a vocabulary founded in 2011 by Google, Microsoft, Yahoo and Yandex. HTML tells a browser how to display text; schema markup tells a search engine what that text means: that “NexalSEO” is a SoftwareApplication, that it is published by an Organization, and that this page is a guide written by a Person.
A minimal example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example",
"url": "https://example.com/",
"logo": "https://example.com/logo.png"
}
</script>Schema.org vs JSON-LD vs microdata
| Term | What it is | Role on WordPress |
|---|---|---|
| Schema.org | The vocabulary of types and properties | Defines what you can say |
| JSON-LD | A JSON format placed in a script tag | Google’s recommended format, output by your SEO plugin |
| Microdata / RDFa | Attributes inside HTML elements | Legacy; breaks when the theme changes |
Why does schema markup matter?
Structured data does two jobs. The visible one is rich-result eligibility: prices, review stars, breadcrumbs and software ratings displayed in search results. The durable one is entity understanding: helping Google reconcile your brand, authors and products with nodes in its Knowledge Graph. Rich-result features come and go; entity understanding never stops mattering.
- Disambiguation:
sameAslinks tell Google which “Nexal” you are. - Rich results: Product, Review snippet, Breadcrumb, Software App, Organization logo, Article and Video features still depend on valid markup.
- Consistency at scale: a plugin outputs the same correct structure on every URL.
Which rich results still exist in 2026?
Before adding a type for its visual result, check that the result still exists. Google restricted or retired several features recently:
| Feature | Status | What to do |
|---|---|---|
| FAQ | Restricted to authoritative government and health sites since August 2023 | Keep only if the page is a genuine FAQ; expect no visual result |
| HowTo | No longer shown since 2023 | Markup is valid but produces nothing visible |
| Course info, Claim Review, Estimated salary, Learning video, Special announcement, Vehicle listing, Book actions | Announced for phase-out in 2025 | Do not invest in new implementations |
| Product, Review snippet, Merchant listings, Breadcrumb, Organization, Article, Video, Software App, Local business, Event, Recipe | Active | Implement fully and validate |
Which schema types should your site use?
| Site type | Core types | Key properties |
|---|---|---|
| Every site | Organization or Person, WebSite, WebPage, BreadcrumbList | name, url, logo, sameAs |
| Blog or media | BlogPosting, Article or NewsArticle, Person | headline, author, datePublished, image |
| WooCommerce store | Product, Offer, AggregateRating, Brand | price, availability, gtin, brand |
| Plugin or SaaS | SoftwareApplication, Offer | offers, aggregateRating, operatingSystem |
| Local business | LocalBusiness subtype | address, telephone, openingHoursSpecification |
Deeper guides: Organization schema explained, SoftwareApplication schema explained, article types and WooCommerce Product schema explained.
Structured data should be a graph
The difference between basic and advanced markup is the graph. Instead of separate blocks for Organization, Article and Breadcrumb, a connected graph gives each entity a stable @id and references it wherever it appears. Google reads one coherent set of facts instead of fragments that may contradict each other.
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#organization",
"name": "Example",
"sameAs": ["https://www.linkedin.com/company/example",
"https://www.wikidata.org/wiki/Q_ID"] },
{ "@type": "WebSite", "@id": "https://example.com/#website",
"publisher": { "@id": "https://example.com/#organization" } },
{ "@type": "WebPage", "@id": "https://example.com/guide/#webpage",
"isPartOf": { "@id": "https://example.com/#website" } },
{ "@type": "Article", "@id": "https://example.com/guide/#article",
"mainEntityOfPage": { "@id": "https://example.com/guide/#webpage" },
"publisher": { "@id": "https://example.com/#organization" },
"about": { "@type": "Thing", "name": "Schema.org",
"sameAs": "https://www.wikidata.org/wiki/Q3475322" } }
]
}Three rules make it work: an @id never changes between pages; nodes reference each other by @id instead of repeating data; sameAs only points to profiles that describe the same entity. This is exactly how NexalSEO’s schema module builds every page.
How to add schema markup to WordPress
Pick one source of structured data
Use a single SEO plugin. Two generators produce duplicate entities (see duplicate schema explained).
Define your Knowledge Graph identity
Organization or Person, exact name, square logo and official profiles. In NexalSEO this is the first step of the setup wizard.
Declare your topics
Add the subjects you are an authority on as Wikidata URLs; they become knowsAbout.
Choose default content types
Article, BlogPosting or NewsArticle for posts; Product for WooCommerce; BreadcrumbList everywhere.
Fill what a plugin cannot guess
Brand, GTIN, author names and featured images must exist in WordPress first.
Validate and monitor
Test each template, then watch Search Console Enhancements reports.
Quality rules Google enforces
- Match visible content. Prices, ratings, dates and authors in markup must appear on the page.
- No hidden or invented reviews. Self-serving reviews of your own business are not eligible for review stars.
- Mark up the main content. Do not describe products or events that are not the subject of the page.
- Keep it current. Out-of-stock products marked as in stock can cost merchant features.
- Violations can lead to a manual action that removes rich results site-wide.
How to test and measure schema markup
Validate
- Run one URL per template (home, post, page, product, category) through the Rich Results Test.
- Run the same URLs through the Schema Markup Validator to see the full graph.
- View source and confirm there is exactly one Organization and one WebSite node.
Measure
In Search Console, open Performance → Search results, then filter Search appearance by rich-result type (for example Product snippets or Review snippets). Compare click-through rate for the same queries before and after deployment, over at least 28 days, and annotate the release date. A rise in CTR at stable average position is the clearest evidence that markup paid off.
Not sure why nothing shows? Use the rich results diagnosis table.
Does schema markup help with AI search?
What is established: AI Overviews are built on Google’s index and systems, ChatGPT Search and Copilot rely heavily on Bing’s index, and both search engines use structured data to understand pages. Clean, unambiguous entities therefore help the systems that AI answers depend on. What is not established: there is no public evidence that adding a given schema type directly increases AI citations. Treat structured data as a clarity layer, alongside clear answers in the visible text. Our AI Overviews guide covers the rest.
Further reading: Getting started with Schema.org.
Frequently asked questions
Does schema markup improve rankings?
Not directly. It makes pages eligible for rich results and helps search engines understand entities, which can raise visibility and click-through rate.
Is JSON-LD better than microdata?
For WordPress, yes. JSON-LD is independent of the theme’s HTML, easier to maintain and the format Google recommends.
Can I use two SEO plugins for schema?
No. Each creates its own entities with different @id values. Keep one and disable schema output everywhere else.
Can I use several schema types on one page?
Yes, as long as they describe different entities on that page and are connected in one graph, for example WebPage, Article, Person and BreadcrumbList.
Why do I see no rich result after adding schema?
Eligibility is not a guarantee. Check that the feature still exists, required properties are present, the page is indexed and the markup matches the visible content.
Do I need to code schema by hand on WordPress?
No. An SEO plugin generates it; you only fill in information WordPress cannot know, such as brand or GTIN.
Related guides
Organization schema explained
Set up the identity node correctly.
Entity SEO with sameAs and Wikidata
Connect your brand to the Knowledge Graph.
Duplicate schema explained
Remove conflicting JSON-LD.
NexalSEO outputs Organization, WebSite, WebPage, Article, Person, Product and BreadcrumbList as one @graph, with sameAs and Wikidata topics set once.
See the schema module