Technical SEO 3 min read

Adding Schema Markup in WordPress (Without Breaking Anything)

Schema markup helps search engines understand your content and can unlock rich results. Learn which schema types WordPress sites need, how to add them with plugins or code, and how to validate.

On this page

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#

  1. Run a post URL through Google’s Rich Results Test and the Schema Markup Validator.
  2. Check for duplicates: two Article objects, two Organization entities, conflicting breadcrumbs.
  3. 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.

Chat on WhatsApp

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.

Found this useful? Share it

Join the discussion

Your email address will not be published. Required fields are marked *

Security code image. If you cannot read it, press refresh or contact me on WhatsApp.