Loading tutorials…
Loading tutorials…
Yoast outputs JSON-LD schema by default — Organization, WebSite, BreadcrumbList, Article, WebPage. But the defaults assume a one-author blog. Multi-author sites, e-commerce, local businesses, and publishers need configuration to get the schema Google actually rewards with rich results.
Who this is forWordPress site owners who want rich results in Google — review stars, FAQ accordions, sitelinks search box, knowledge panel — and have Yoast SEO installed. Especially relevant for businesses missing rich results despite "having schema."
What you'll need
Step 1
Pick 5 representative URLs. Run each through Rich Results Test. Document which schema types appear and which errors fire.
Open search.google.com/test/rich-results in one tab.
Test these URLs: your homepage, a top blog post, a top page (e.g., About or Services), a category archive, a product/listing if you sell.
For each: paste URL → Test URL → wait for results. Note "Detected items" (what schema fires) and any errors or warnings.
Common baseline detection: Organization (homepage), WebSite, BreadcrumbList, Article (blog posts), WebPage. If any are missing, that is a configuration gap to fix.
Common errors: "Missing field publisher.logo" (Organization logo too small or wrong format), "Missing field image" (Article schema needs a featured image), "Missing field datePublished" (theme is overriding the date field).
Build a spreadsheet: URL, schema detected, errors. This becomes your before/after baseline.
Step 2
Yoast SEO → Settings → Site representation. Re-verify name, logo (696×696+), and social profiles populate the Organization graph.
WordPress Admin → Yoast SEO → Settings → Site representation.
Organization name: match your legal entity exactly. "Acme, Inc." in one place and "Acme Inc" elsewhere splits entity signals.
Organization logo: 696×696px square PNG minimum. Smaller logos fail Google validation silently — they appear in schema but Google rejects the rich-result eligibility.
Other profiles: Facebook, X, Instagram, LinkedIn, YouTube, Pinterest, TikTok, Wikipedia. Full URLs (except X — handle only). Only list active profiles.
Save. Verify on homepage: View Source → search for "@type":"Organization". The JSON-LD block should include name, url, logo, and sameAs array.
Re-test homepage in Rich Results Test. Organization should appear in Detected items with no errors.
Step 3
Yoast SEO → Settings → Content Types → Posts → Schema. Set default schema type per content type.
WordPress Admin → Yoast SEO → Settings → Content Types → Posts. Scroll to "Schema."
Default Page Type: WebPage (almost always correct).
Default Article Type: Article for most blogs. NewsArticle if you publish news (qualifies for Google News). BlogPosting is a subtype of Article with no practical difference.
Repeat for Pages: Default Page Type WebPage, Default Article Type "None" (pages are not articles).
For custom post types (Services, Case Studies, Products): pick the most specific schema. Services typically use WebPage with no article type. Case Studies can use Article. WooCommerce Products use Product schema (handled automatically when WooCommerce is detected).
Save. Open a published post → View Source → confirm the JSON-LD @graph includes an Article entity with the right @type.
Step 4
In the Gutenberg editor, add Yoast FAQ block or HowTo block where appropriate. These auto-generate FAQPage and HowTo schema.
Edit any post where you have a FAQ section. In Gutenberg, click "+" to add a block → search "FAQ" → choose "Yoast FAQ."
The block lets you add questions and answers. Each question becomes a row. Yoast outputs FAQPage schema automatically — every question is an entry in the mainEntity array.
For HowTo content (step-by-step tutorials), use the Yoast HowTo block. Add Total Time, Estimated Cost, Materials, Tools, and Steps. Yoast outputs HowTo schema.
Important: only use FAQ schema on pages where users will actually see the FAQ accordion content. Spammy FAQ schema (on pages with no visible FAQ) violates Google guidelines and can trigger manual penalties.
Save the post. Open in private window → View Source → search for '@type':'FAQPage' or '@type':'HowTo'. Run the URL through Rich Results Test → expect FAQ or HowTo in Detected items.
Step 5
Run Rich Results Test. If you see duplicate Article or BreadcrumbList entries, identify the source (theme or another plugin) and disable one.
Run Rich Results Test on a published post. Click "View Tested Page" → switch to HTML tab.
Search the rendered HTML for application/ld+json. You should see exactly ONE script block from Yoast (contains the comment "This site is optimized with the Yoast SEO plugin" right before).
If you see two JSON-LD blocks: identify the source of the second. Common culprits: theme (Astra Pro, GeneratePress Premium, Avada all output schema), Schema Pro plugin, RankMath standalone schema modules, Site Kit by Google.
Disable the conflicting source. For themes: Customize → Schema settings → toggle off (varies per theme). For plugins: deactivate the conflicting plugin.
Re-run Rich Results Test. Should now show one schema source with no warnings.
Step 6
For brick-and-mortar businesses, install Yoast Local SEO ($99/yr) or add LocalBusiness schema via a separate plugin/code.
Yoast SEO core ships Organization schema but does NOT generate LocalBusiness schema (with address, hours, geo, telephone). For local businesses, you need Yoast Local SEO ($99/yr separate add-on) or another schema source.
Alternative: Schema Pro ($79/yr) or RankMath free (Local SEO module) both generate LocalBusiness. Or hand-write JSON-LD in a custom HTML block on your contact page.
Required LocalBusiness fields: @type (the specific type like Restaurant, Plumber, Dentist), name, address (PostalAddress), telephone, openingHours, geo (latitude + longitude).
Optional but high-value: aggregateRating (pulled from reviews), priceRange ($, $$, $$$), image, sameAs (social profiles), areaServed.
Test the contact page in Rich Results Test → expect LocalBusiness detection with no errors. Combine with Google Business Profile verification for maximum local SEO impact.
Step 7
GSC → Enhancements → check each rich-result report (Breadcrumbs, FAQ, Organization, Articles). Watch Valid counts rise over 14 days.
Open Google Search Console → your property → Enhancements (left sidebar).
You see reports for each rich-result type Google detected on your site: Breadcrumbs, Articles, FAQs, Products, Sitelinks searchbox, Organization.
Click each report. The Valid count should grow over 7-14 days post-deployment as Google recrawls. Invalid items list specific URL + error messages.
Most common errors: 'Missing field image' on Article (post has no featured image), 'Invalid value in field datePublished' (theme is overriding ISO 8601 format), 'Missing field publisher.logo' (Organization logo too small or wrong format).
Fix the underlying issue, click Validate Fix in GSC, wait 7-14 days for re-validation. Schema fixes propagate slower than content fixes.
Common mistakes
Running Yoast schema alongside a theme that also outputs schema
What goes wrong: Two JSON-LD blocks fire on every page with slightly different data. Google logs 'Conflicting structured data' warnings, may show neither rich result. Most users never see this in GSC because the warning is buried under Enhancements → Article.
How to avoid: View Source on top pages. If two application/ld+json blocks appear, disable the theme schema (Customize → Schema → off) or disable Yoast schema for that content type (advanced — usually keep Yoast).
Using FAQ schema on pages without visible FAQ content
What goes wrong: Spammy FAQ schema (just markup, no actual rendered FAQ on the page) violates Google guidelines. Manual penalty risk. At minimum, Google strips the rich result eligibility. At worst, structured data spam manual action.
How to avoid: Only use the Yoast FAQ block where visible Q&A content exists on the page. Audit existing FAQ schema — if a page has FAQ in schema but no visible FAQ section, remove the schema.
Logo under 600×60px or in SVG format
What goes wrong: Organization schema fires but logo field fails Google validation. Branded queries miss the logo display in SERPs. Knowledge Panel may show generic globe icon instead of your logo.
How to avoid: Upload PNG logo at 696×696 minimum (square) via Yoast SEO → Settings → Site representation. Re-test in Rich Results Test → Organization → logo field validates green.
Featured image missing or under 1200×630px on blog posts
What goes wrong: Article schema requires an image. Without one, Google flags 'Missing field image' in GSC and the post becomes ineligible for Article rich results (top stories, news carousel).
How to avoid: Set a featured image on every published post. Minimum 1200×630px (16:9 ratio). Yoast outputs the featured image URL into Article.image automatically.
Mismatched datePublished and dateModified
What goes wrong: Theme outputs datePublished as 'May 26, 2026' (human format) but Article schema requires ISO 8601 ('2026-05-26T10:30:00+00:00'). Google logs invalid date error. Article rich result eligibility revoked until fixed.
How to avoid: Use Yoast schema (which formats dates correctly). Disable theme schema. If you must keep theme schema, edit theme code to output ISO 8601 dates.
Not adding LocalBusiness schema for brick-and-mortar businesses
What goes wrong: Local search results favor businesses with full LocalBusiness schema. Without it, you miss local 3-pack visibility, knowledge panel features, and 'near me' query eligibility. Competitors with schema outrank you locally.
How to avoid: Install Yoast Local SEO ($99/yr) or add LocalBusiness via Schema Pro / hand-coded JSON-LD on contact page. Combine with verified Google Business Profile.
Recap
Done — what's next
How to configure Yoast SEO with the first-time configuration wizard
Read the next tutorial
Hand it off
Schema is the highest-leverage 60 minutes of technical SEO on most WordPress sites — done right, it unlocks rich results that lift CTR 15-40%. Done wrong, it silently disqualifies you. A vetted technical SEO specialist audits, configures, validates, and monitors GSC Enhancements for 30 days — typically $80-160 total at $14-16/hr.
See specialist rates
For most sites no — Yoast covers Organization, WebSite, WebPage, Article, BreadcrumbList, and FAQ/HowTo via blocks. Add a separate plugin only for schema types Yoast does not cover well — LocalBusiness (use Yoast Local SEO add-on or Schema Pro), Product (use WooCommerce native + Yoast WooCommerce SEO), Recipe, Course, Event, Job Posting.
Schema eligibility ≠ guaranteed rich result. Google chooses which rich results to show based on query intent, page quality, and competition. Common reasons no rich result appears: query does not trigger rich-result feature, your page authority is lower than competitors, Google has deprecated the rich result for your category (e.g., HowTo for desktop).
NewsArticle only if you are a registered Google News publisher or publish breaking-news content. Misusing NewsArticle on a non-news blog can trigger manual penalties. Default to Article for blog posts. BlogPosting is a subtype with no practical difference.
WooCommerce ships its own native Product schema (recently improved). Yoast WooCommerce SEO add-on ($79/yr) extends this with Brand, GTIN, MPN fields. Validate in Rich Results Test → Product detected with no errors. Avoid disabling either — they complement each other.
Three most common: (1) post has no featured image — Article requires image; (2) datePublished format is wrong (theme overrides Yoast) — needs ISO 8601; (3) Organization logo too small (under 600×60px). Fix the underlying issue, click "Validate Fix" in GSC, wait 7-14 days for re-validation.
Yoast SEO
Yoast's first-time configuration wizard is six clicks long and quietly makes 30+ decisions about how your site appears in search. Most owners rush it and ship the wrong indexing defaults, wrong schema type, and wrong social profile links. This is the slow version.
Yoast SEO
Title tags and meta descriptions drive your CTR in the SERP. Yoast templates use variables (%%title%%, %%sitename%%, %%excerpt%%) to set defaults at scale — but defaults are only as good as the patterns you choose. This is the per-content-type setup that works for most sites.
Yoast SEO
Yoast fails in predictable patterns: plugin conflicts, REST API blocks, cache layers, theme schema duplication, license activation issues, and indexable corruption. This is the diagnostic playbook to find which one you have — without trial-and-error.
Google Search Console
GSC's Indexing report shows you what's broken — in language that often hides what to actually do about it. This is the field-tested decoder: every error type, what causes it, and the specific fix that works.
Yoast SEO
Most WordPress site owners can install and configure Yoast themselves. But some scenarios — migrations, schema deep-debugging, 5+ year old sites with technical debt — burn more DIY time than the specialist would cost. This is the honest signals list.