RankMath Schema Markup: Complete WordPress Setup Guide
Last Updated: February 25, 2026 · 17 min read
RankMath has become one of the most popular SEO plugins for WordPress, and its schema markup system is genuinely more flexible than Yoast's out of the box. The free version of RankMath supports more schema types than Yoast free, and RankMath Pro includes a visual Schema Builder that lets you add any schema.org type without touching code. This guide covers how to set RankMath schema up correctly, use the Schema Builder, apply schema per-post, and fix the errors people commonly run into.
1. What RankMath generates automatically
After installing RankMath, it immediately starts generating schema on every page. The base output includes:
Organization or PersonSet up during the RankMath setup wizard. Defines your brand entity. Outputs your site name, URL, and logo.WebSiteIncludes the site name and URL. Optionally includes SearchAction for sitelinks searchbox.BreadcrumbListGenerated from your post category and permalink structure. Shows as the URL path in search results.Article or BlogPostingDefault for all posts. Includes post title, dates, author, and publisher organization.WebPageApplied to static pages like About, Contact, Services.
2. Step 1 — Configure your entity in the Setup Wizard
RankMath's setup wizard asks you whether your site represents a person or an organisation. Get this right from the start. If you are a business, choose Organisation and fill in your actual legal business name (not your domain name, not a tagline). Upload your logo — this becomes the logo in your Organization schema.
If you skipped the wizard or need to change this later, go to RankMath → General Settings → Local SEO. Here you can update your organisation name, logo, address, phone number, opening hours, and social profile URLs. Fill in as many fields as you can — each one adds more detail to your schema.
sameAs links in RankMath
Under General Settings → Local SEO → Social Profiles, add every URL where your brand has an official presence: Facebook, Twitter/X, LinkedIn, Instagram, YouTube, Wikipedia (if applicable), and Wikidata. These become the sameAs array in your Organization schema. The more you add, the stronger your brand entity signal to Google.
3. Step 2 — Set default schema per post type
Go to RankMath → Titles & Meta, then select each post type (Posts, Pages, Products, etc.). Under each one you will find a Schema Markup section where you can set the default schema type for all content of that type.
Default: ArticleIf you publish news, change this to NewsArticle. For SEO/marketing blogs, keep Article. For personal writing, use BlogPosting.
Default: WebPageLeave as WebPage for most pages. The About page can be set to AboutPage individually. Contact page can be set to ContactPage.
Default: ProductKeep as Product. RankMath Pro with WooCommerce fills in price, availability, and can add AggregateRating from WooCommerce reviews.
Default: WebPageConsider changing to Article with type set to TechArticle for technical case studies, or keep as WebPage.
4. Step 3 — Per-post schema settings
On each individual post or page, you can override the default schema type in the RankMath panel in the post editor. Click the Schema tab in the RankMath sidebar. You will see the currently applied schema type and an option to change it.
This is where fine-grained control happens. A how-to tutorial written as a blog post should have its schema type changed from Article to HowTo. A FAQ page should have its type changed to FAQPage. A review article should stay as Article (not be changed to Review — the Review type is for individual product reviews, not editorial review articles).
5. Step 4 — RankMath Schema Builder (Pro)
RankMath Pro includes a visual Schema Builder that is one of its strongest features for schema markup. You can access it per-post (in the Schema tab, click "Schema Builder") or globally via RankMath → Schema Templates.
The Schema Builder lets you:
- ✓Pick any schema.org type from a searchable dropdown — not limited to the types RankMath exposes in its standard UI
- ✓Map schema properties to WordPress dynamic variables (post title, author name, featured image URL, custom field values)
- ✓Create reusable schema templates you can apply to multiple posts or post types
- ✓Nest related schema types (e.g. add Offer inside Product, add ItemListElement inside BreadcrumbList)
- ✓Preview the JSON-LD output before saving
For most sites, the Schema Builder eliminates the need to write any custom JSON-LD by hand. You build the schema structure visually, map your WordPress data to it, and RankMath outputs validated JSON-LD on every matching page.
6. Schema types RankMath supports (free vs Pro)
| Schema type | Free | Pro |
|---|---|---|
| Article / BlogPosting / NewsArticle | ✅ | ✅ |
| Product + Offer + AggregateRating (WooCommerce) | ✅ Basic | ✅ Full |
| Recipe | ✅ | ✅ |
| Event | ✅ | ✅ |
| FAQPage | ✅ | ✅ |
| HowTo | ✅ | ✅ |
| LocalBusiness | ✅ | ✅ |
| VideoObject | ✅ | ✅ |
| Person | ✅ | ✅ |
| Organization | ✅ | ✅ |
| JobPosting | ❌ | ✅ |
| Course | ❌ | ✅ |
| Book | ❌ | ✅ |
| SoftwareApplication | ❌ | ✅ |
| Custom schema (any type) | ❌ | ✅ via Schema Builder |
7. Common RankMath schema errors and how to fix them
⚠ Empty organization name
Cause: You installed RankMath but skipped the setup wizard, leaving the organisation name blank.
Fix:
Go to RankMath → General Settings → Local SEO → Business Name. Enter your business name and save.
⚠ Author schema shows admin username not real name
Cause: WordPress uses the display name for schema. If the admin user's display_name is set to "admin" or an email, that appears in Author schema.
Fix:
Go to Users → Profile for each author. Set the Display Name to the author's real full name.
⚠ Duplicate schema output (RankMath + theme)
Cause: Your theme also outputs schema markup. You now have two Article blocks or two Product blocks on the same page.
Fix:
Disable your theme's built-in schema. Most themes have an option under Theme Settings → SEO or Schema. Alternatively, use a child theme and remove the schema output.
⚠ Recipe schema not appearing in Google Search Console
Cause: RankMath's Recipe schema requires the recipe post to have all required fields filled in: ingredients, steps, cook time, and at least one image.
Fix:
Check the RankMath Schema tab on your recipe posts. Ensure every required field (especially "Recipe Ingredients" and "Recipe Instructions") has content. Test with the Google Rich Results Test.
⚠ BreadcrumbList shows wrong category
Cause: WordPress posts assigned to multiple categories show unpredictable breadcrumb paths.
Fix:
In RankMath → Titles & Meta → Posts, find the Primary Category setting. Set each post to a single primary category to get consistent breadcrumb output.
8. RankMath vs Yoast for schema — which is better?
This comes up constantly in SEO communities. Here is an honest comparison:
| Criterion | RankMath | Yoast |
|---|---|---|
| Schema types (free) | More types (Recipe, Event, FAQ, HowTo) | Fewer types (FAQ + HowTo only in Premium) |
| Schema builder UI | ✅ Visual builder (Pro) | ❌ Not available |
| Per-post type defaults | ✅ Granular control | ✅ Granular control |
| Schema graph (linked entities) | ✅ Yes | ✅ Yes |
| WooCommerce schema | ✅ Better in Pro | ✅ Requires separate plugin |
| Recipe schema | ✅ Built in | ❌ Not supported |
| Custom JSON-LD without code | ✅ Pro Schema Builder | ❌ Not available |
| Ease of initial setup | Moderate | Simpler wizard |
For most sites, RankMath free covers more schema types than Yoast free. If you run a food blog, events site, or need custom schema types without writing code, RankMath Pro is the better choice. If you are already deep in the Yoast ecosystem and everything is working, there is no urgent reason to switch — both plugins output valid schema when configured correctly.
Frequently Asked Questions
Does RankMath free include enough schema for most WordPress sites? ▼
Yes — for most content sites, RankMath free covers the essential schema types: Article/BlogPosting, FAQPage, HowTo, Recipe, Event, LocalBusiness, Product (basic), and Person. The key limitations of the free tier are: no custom schema types (no Schema Builder), no JobPosting/Course/Book/SoftwareApplication, and limited WooCommerce product schema depth. If you run a recipe site, local business, or content blog, the free version is sufficient. For e-commerce, job boards, or SaaS products, RankMath Pro is worth the upgrade.
How do I add FAQ schema to a specific WordPress post with RankMath? ▼
In the post editor, open the RankMath panel in the right sidebar. Click the Schema tab. Click "Add Schema" and select FAQPage from the type list. RankMath will then ask you to add each Q&A pair. Each question and answer you enter becomes a Question entity inside the FAQPage JSON-LD. After saving and publishing, validate the post URL using the Rich Results Test to confirm FAQPage is detected. Note: Google has reduced FAQ dropdown display since 2023, but the schema still provides entity signal value.
RankMath is showing duplicate schema with my theme. How do I fix it? ▼
This is a common issue with schema-aware themes (Astra, GeneratePress, Divi, Elementor). Go to your theme's settings panel and look for an SEO or Schema section — most have an option to disable theme-generated schema. Disable it there. If your theme doesn't have this option, install a code snippet plugin and add: remove_action('wp_head', [your_theme_schema_function]). You can identify the duplicate schema type by pasting your page URL into SchemaValidator.org and looking for the same @type appearing twice in the output.
Should I use RankMath's Schema Builder or write custom JSON-LD directly? ▼
The Schema Builder is usually better unless you have very specific requirements. It handles variable mapping automatically (post title, author, image URL all get filled in from WordPress data), validates the schema before saving, and makes fields easy to update without touching code. Write custom JSON-LD directly only when: (1) you need a very specific entity graph structure that the Builder doesn't support well, (2) you need to inject schema on non-WordPress page types, or (3) you're migrating a complex existing schema implementation and want to preserve its exact structure.
My RankMath schema passes validation but Google Search Console shows errors. Why? ▼
The most common reasons: (1) Google's crawler cached an older version of the page — use the URL Inspection tool in GSC to request a fresh crawl. (2) The error is in a schema type that RankMath generates separately from what you validated (e.g. RankMath generates BreadcrumbList separately from Article — validate both). (3) GSC errors can lag by 2–4 weeks after fixes are deployed. (4) A plugin update changed the schema output — always re-validate after plugin updates. Try validating directly from the live URL in SchemaValidator.org rather than copying the code.
Does RankMath automatically add schema to WooCommerce product pages? ▼
RankMath free adds basic Product schema to WooCommerce product pages automatically — including name, price, image, and description pulled from WooCommerce product data. RankMath Pro significantly improves this: it maps product SKU, barcode/GTIN, brand taxonomy, availability based on stock status, and aggregates review ratings from WooCommerce reviews into AggregateRating schema. For a complete WooCommerce product schema, RankMath Pro or Yoast WooCommerce SEO is strongly recommended over the free tier.
How do I set up Organization schema with multiple sameAs social profiles in RankMath? ▼
Go to RankMath → General Settings → Local SEO. Under the "Social Profiles" section near the bottom of the page, you will see fields for Facebook, Twitter, Instagram, YouTube, LinkedIn, Pinterest, and more. Fill in all the profile URLs where your brand has an active official presence. Each URL you add becomes an entry in the sameAs array in your Organization schema. Adding your Wikipedia article URL (if one exists) and official Wikidata entity URL (e.g. https://www.wikidata.org/wiki/Q12345) are particularly valuable for brand entity strength.
Can RankMath generate schema for custom post types? ▼
Yes. Go to RankMath → Titles & Meta. If you have custom post types registered, they appear as separate tabs. Each custom post type has its own Schema Markup section where you can set the default schema type and configure its properties. You can set the default to any built-in type (Service, ItemPage, TechArticle, SoftwareApplication) or use the Schema Builder (Pro) to create a completely custom schema template for that post type. This maps each custom field to schema properties automatically.
Check What RankMath Is Outputting
Enter any page URL from your WordPress site to see the full schema report — errors, warnings, and rich result eligibility.
Validate RankMath Schema →Related Guides
→ Yoast Schema Markup Guide
How Yoast SEO compares for schema and when to choose it
→ Schema Markup for WordPress
Complete WordPress schema strategy beyond just plugins
→ FAQ Schema Markup Guide
How to configure FAQPage schema in RankMath correctly
→ Schema Markup Checker
Tools to validate what RankMath is actually outputting
→ Google Rich Results Guide
What schema types unlock which rich results in search
→ Schema Markup Audit
How to audit your entire WordPress site for schema issues