Search engines read your pages, but they do not always understand them the way a person does. Schema markup is how you spell things out. It is structured data you add to a page that tells Google and other engines exactly what a piece of content represents - an article, a product, a business, a recipe, a set of frequently asked questions. Done well, it helps engines interpret your content accurately and can make your listings eligible for richer search features.

This guide explains what schema markup is, the types worth caring about, and how to implement it on WordPress with the common SEO plugins or by hand. It also covers testing, because untested markup is worse than no markup at all.

What schema markup actually is

Schema.org is a shared vocabulary, maintained by a collaboration that includes Google, Microsoft, Yahoo and Yandex. It defines a long list of "types" (Article, Product, Organization, and so on) and the properties that describe each one.

You can express this vocabulary in a few formats, but the one Google recommends is JSON-LD. It is a block of structured data that sits in the page source, usually in the head, and does not change anything a visitor sees. Because it is separate from your visible HTML, it is far easier to manage and less likely to break than the older inline formats like Microdata or RDFa.

A simplified JSON-LD block looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Schema Markup on WordPress",
  "author": { "@type": "Person", "name": "Jane Doe" },
  "datePublished": "2026-01-20"
}
</script>

Why it matters for SEO

Schema does not directly boost rankings. It will not push a weak page up the results on its own. What it does is two useful things.

First, it improves understanding. Clear structured data reduces ambiguity about what your page is and who published it, which supports how your content is classified and surfaced.

Second, it can unlock rich results. These are the enhanced listings you see in search - star ratings, breadcrumb trails, sitelinks, event dates and similar. Being eligible for these can improve how your listing looks and, in some cases, how often people click it. Eligibility is the right word though. Google decides whether to show a rich result, and valid markup is a requirement, not a guarantee.

The schema types most sites should use

You do not need every type. A handful covers the majority of business websites.

  • Organization - identifies the business behind the site, including name, logo and social profiles. Best placed on the homepage and applied site-wide.
  • LocalBusiness - a more specific type for businesses with a physical location or service area, adding address, opening hours and contact details. Useful for local SEO.
  • Article - for blog posts and news content, describing the headline, author and publish date.
  • Breadcrumb - marks up your navigation trail so search engines can display it in listings.
  • Product - for ecommerce pages, covering price, availability and reviews. This powers product rich results and is important for online stores.
  • FAQPage - marks up question-and-answer content on a page.

A note on FAQPage and HowTo: Google substantially reduced these rich results across 2023, and FAQ rich results are now generally limited to a narrow set of authoritative health and government sites. For most businesses, FAQ markup will no longer produce the expandable results in search that it once did. It can still aid understanding, but do not add it expecting the visual feature.

Implementing schema on WordPress with a plugin

For most WordPress sites, an SEO plugin is the cleanest route. The major ones generate valid JSON-LD automatically and keep it updated as standards change.

Rank Math

Rank Math has strong built-in schema support. It applies a default schema type per post type (for example, Article for posts) and includes a Schema Generator with templates for common types. You set defaults under the Schema settings, then override per page using the Schema tab in the editor sidebar. It also offers FAQ and HowTo blocks in the editor.

Yoast SEO

Yoast builds a connected schema graph for the whole site rather than isolated blocks. Once you set your site type, organisation or person details and logo under the Yoast settings, it outputs Organization, WebSite, WebPage and Breadcrumb markup automatically. Per-page, you can set the page and article type in the Schema tab. Yoast also provides FAQ and How-to blocks in the block editor.

All in One SEO (AIOSEO)

AIOSEO includes a schema generator with a catalogue of types and a per-page selector. You configure global defaults, then add or change schema on individual pages through the editor.

Whichever you choose, pick one and let it own your schema. Running two schema-generating plugins at once is a common cause of duplicate or conflicting markup.

Adding schema manually

Sometimes a plugin does not cover a specific type, or you want precise control. You can add JSON-LD by hand.

The cleanest approach is to enqueue it through your theme's functions file or a code-snippets plugin, conditionally targeting the right pages. Avoid pasting raw script tags into post content, because editors can mangle them and the markup is harder to maintain.

Key rules when writing it yourself:

  • Match the markup to what is actually visible on the page. Marking up content that a user cannot see is against Google's guidelines.
  • Use absolute URLs for images and links.
  • Fill in all required properties for the type, and as many recommended ones as you reasonably can.
  • Use @id references to connect entities (for example, linking an Article to its publishing Organization) rather than repeating the same data.

Testing your structured data

Never assume markup is correct. Test it.

  • Google Rich Results Test - paste a URL or code snippet and it reports which rich result types the page is eligible for, plus any errors or warnings. This is your primary tool because it reflects what Google can actually use.
  • Schema Markup Validator (on schema.org) - validates against the broader schema.org vocabulary, useful for types Google does not produce rich results for.
  • Search Console - the Enhancements and Rich Results reports show how your live pages are performing at scale, including errors detected across your site over time. This is the only one that reflects real indexed data.

Work through errors first, then warnings. Errors usually block eligibility; warnings flag missing recommended properties that are worth adding but not mandatory.

Common mistakes to avoid

  • Running multiple plugins that each output schema, creating duplicates.
  • Marking up content that is not present on the page.
  • Leaving placeholder or incorrect data, such as the wrong business name or a missing logo.
  • Adding FAQ or HowTo markup expecting rich results that Google no longer shows for most sites.
  • Forgetting to retest after a redesign or plugin update, when markup can silently break.

Getting it right

Schema markup is one of those technical SEO tasks that is low-risk and genuinely useful when done carefully. Start with Organization or LocalBusiness, add Article to your blog and Breadcrumb site-wide, and Product if you sell online. Let a single trusted plugin handle the heavy lifting, validate everything in the Rich Results Test, and keep an eye on Search Console.

If you would rather have structured data implemented and validated properly across a WordPress site without the trial and error, the team at Control Tower can audit your current setup and put a clean, standards-compliant schema strategy in place.

Want this done properly on your site? We will assemble the team to do it.

Start a brief