Schema Markup and Structured Data for WordPress in 2026 (Why AI Search Depends On It)
Ask ChatGPT or Perplexity to recommend a WordPress agency in Oakland, and somewhere in the process a machine has to decide what each candidate website is about.
Search engines have always done this by inference, and they're good at it. But inference is expensive and imprecise, and AI systems that synthesize answers from many sources need cleaner signals than a ranking algorithm does. Structured data is how you hand those signals over directly, in a format machines are built to read. We wrote earlier this year about getting found in AI search. This is the implementation half of that conversation: what schema markup is, which types actually matter, and how to add it to WordPress without making a mess.
What Structured Data Actually Is
Structured data is a block of code on your page, invisible to visitors, that describes the page’s content using a shared vocabulary called Schema.org. Google, Microsoft, and the major AI search tools all read it. The format is almost always JSON-LD, a small script in the page’s head that looks roughly like this:
{
"@type": "Organization",
"name": "HyperArts",
"url": "https://www.hyperarts.com",
"address": { "addressLocality": "Oakland", "addressRegion": "CA" }
}
That’s it. You’re telling the machine, in its own language, “this site belongs to an organization called HyperArts in Oakland.” No guessing required.
Why It Matters More Now Than It Did
For years, the main payoff from schema was rich results: star ratings, FAQ dropdowns, event dates, and recipe cards showing up in Google’s listings. That’s still real, though Google has trimmed some rich result types over the past couple of years.
The bigger shift is that AI-driven search (Google’s AI Overviews and AI Mode, ChatGPT search, Perplexity, and the rest) works by assembling an answer from sources it trusts and understands. When your pages describe themselves unambiguously, you’re easier to cite correctly. When they don’t, you’re relying on a model to infer your organization name from a logo image and your location from a footer. It usually gets there. “Usually” is not a strategy. Our guide to getting found in AI search covers the broader picture.
There’s also a knowledge-graph effect. Consistent Organization and Person markup across your site helps search engines build a stable entity for your organization, which is what shows up in knowledge panels and what AI tools use to disambiguate you from the other HyperArts (there’s always another one).
The Schema Types That Matter for Most Organizations
There are hundreds of schema types. The ones below cover nearly everything a business, nonprofit, or institution site needs. Types you can probably skip: Review (unless you have real, on-site reviews — self-serving review markup is against Google’s guidelines), HowTo (rich results were removed), and most Speakable and VideoObject use cases unless video is central to your site.
-
#1 - Organization
Or a subtype: LocalBusiness, NGO, EducationalOrganization, GovernmentOrganization. Sitewide. Name, logo, URL, address, phone, and social profiles via
sameAs. This is the foundation; get it right first. Nonprofits should use NGO or Organization with anonprofitStatusproperty. Local businesses should use the most specific LocalBusiness subtype that fits. -
#2 - WebSite and WebPage
Generated automatically by most SEO plugins. Establishes the site and, on each page, links the page to the Organization.
-
#3 - Article / BlogPosting
For blog content: headline, author, dates published and modified, featured image. This is what tells an AI tool that a page is an authored piece of content rather than a product listing, and who wrote it. Author markup ties into E-E-A-T, which is another way of saying “Google wants to know a person stands behind this.”
-
#4 - Person
For staff and leadership pages, and for authors. Name, job title,
worksFor, and social profiles. Research institutions and universities benefit heavily here because their people are often the entity being searched for. -
#5 - Service
For your service pages. Describes what you offer, the area served, and the provider. Underused and worth doing.
-
#6 - Event
If you host or list events. Google’s event rich results are still active and drive real clicks. Most WordPress calendar plugins emit this automatically; check that they do it correctly.
-
#7 - FAQPage
Still valuable, though Google now restricts FAQ rich results mostly to government and health sites. The markup remains useful for AI systems parsing your content, so keep it where you have real FAQ content — and don’t bolt fake FAQs onto every page.
-
#8 - BreadcrumbList
Helps search engines understand site hierarchy. Automatic in most SEO plugins.
-
#9 - Product and Offer
E-commerce only. WooCommerce handles this natively.
How to Implement Schema in WordPress
Three approaches, in increasing order of control.
-
#1 - Let your SEO plugin do it
Yoast SEO, Rank Math, and All in One SEO all generate a schema graph automatically: Organization, WebSite, WebPage, Article, BreadcrumbList, and Person for authors. For many sites this is 80% of the value, and the only work is filling in the Organization settings completely (logo, address, social profiles) and setting the correct organization type. Most sites we audit have never had this configured beyond the name.
-
#2 - Extend it per page
Yoast and Rank Math both let you set the schema type per page or post (mark a page as a Service or an Event, for instance) and add some properties. Rank Math goes further with custom schema templates. This is the sweet spot for most organizations.
-
#3 - Write it yourself
For complex cases — a research lab with dozens of Person entities, a nonprofit with programs and events, a site with custom post types — you’ll want custom JSON-LD output, usually generated from your content in the theme or a small custom plugin so it stays accurate as content changes. Hand-pasting JSON-LD into individual pages works for a while and then drifts out of date. We generally build this into the theme so editors never have to think about it.
Mistakes We See Constantly
-
#1 - Two plugins emitting competing schema
A calendar plugin and an SEO plugin both outputting Event markup, with different data. Pick one source of truth per type.
-
#2 - Organization markup that contradicts the footer
Different phone number, old address, a name with a legacy suffix. Consistency across the site and across your Google Business Profile is the whole point.
-
#3 - Markup that describes content not on the page
Google treats this as spam. If the FAQ isn’t visible, don’t mark it up.
-
#4 - Missing sameAs
Linking your Organization to your LinkedIn, Wikipedia, Crunchbase, or Candid/GuideStar profiles is how you connect your site to the rest of the entity graph.
-
#5 - Never validating
Google’s Rich Results Test and the Schema.org Validator take thirty seconds. Run them after any change.
-
#6 - Treating schema as a ranking trick
It isn’t. It doesn’t directly move rankings. It makes your content understood correctly, which is upstream of everything else.
How to Check What You Have
Paste any page URL into Google’s Rich Results Test. It will show the schema it found, any errors, and which rich results the page is eligible for. Then open Google Search Console and look at the Enhancements reports for site-wide errors. If the Rich Results Test shows nothing at all on your homepage, that’s your starting point.