Key takeaways
- Your theme or SEO plugin should already output core schema: WebSite, Organization/Person, WebPage, Article, BreadcrumbList.
- Add specific types — Product, LocalBusiness, Event, FAQ, HowTo, Recipe, Review — only where content genuinely matches.
- Use one source of schema, validate it, and monitor Search Console enhancements.
Structured data helps search engines understand who you are and what each page contains — and can earn rich results. In WordPress, the risk isn’t too little schema; it’s duplicate, conflicting markup from a theme, an SEO plugin and three extra schema plugins all at once.
Step 1: see what you already output#
- Run a post URL through Google’s Rich Results Test and the Schema Markup Validator.
- Check for duplicates: two Article objects, two Organization entities, conflicting breadcrumbs.
- Note where each block comes from (theme, SEO plugin, WooCommerce, review plugin).
Step 2: get the foundation right#
| Type | Where | Key properties |
|---|---|---|
| WebSite | Every page | name, url, SearchAction |
| Organization or Person | Every page (referenced) | name, logo, url, sameAs (social profiles) |
| WebPage | Every page | name, description, breadcrumb |
| Article / BlogPosting | Posts | headline, author, datePublished, dateModified, image |
| BreadcrumbList | All but homepage | Matching visible breadcrumbs |
This theme outputs all of these as one connected @graph, plus DefinedTerm for SEO Library entries and FAQPage for FAQ sections. If you install Yoast or Rank Math, the theme switches its schema off to avoid duplicates.
Step 3: add specific types#
- Local businesses: LocalBusiness (or a subtype like Dentist, Store) with address, geo, hours, phone — see local SEO for WordPress.
- WooCommerce: Product with Offer and AggregateRating — WooCommerce outputs basics; SEO plugins enhance them. See WooCommerce SEO.
- Events, courses, jobs, recipes: use dedicated plugins or SEO plugin schema templates.
- Videos: VideoObject for pages where the video is the main content.
- FAQ: fine for genuine Q&A content; Google now shows FAQ rich results mainly for authoritative government and health sites.
Need a hand with this?
Get a quick, honest review of your website’s SEO.
Step 4: custom schema without breaking anything#
add_action( 'wp_head', function () {
if ( ! is_page( 'services' ) ) return;
$data = array(
'@context' => 'https://schema.org',
'@type' => 'Service',
'name' => 'WordPress Speed Optimisation',
'provider' => array( '@id' => home_url( '/#person' ) ),
'areaServed' => 'IN',
);
echo '<script type="application/ld+json">' . wp_json_encode( $data ) . '</script>';
} );
Reference existing entities with @id instead of redefining them. Many SEO plugins also offer filters to extend their graph.
Rules to follow#
- Only mark up content visible on the page.
- No fake reviews or self-serving review stars for your own business.
- Keep dates, prices and availability accurate and updated.
- Validate after every theme/plugin change.
Learn the concepts: structured data, JSON-LD, rich results.
Schema in WordPress FAQ#
Do I need a separate schema plugin?#
Usually not. Your SEO plugin or theme covers the essentials; add specialised plugins only for types they don’t support.
Why don’t my rich results appear?#
Valid markup makes pages eligible, not guaranteed. Google also considers quality, query and policy.
Does schema improve rankings?#
Not directly, but it improves understanding and can increase click-through with rich results.