Loading tutorials…
Loading tutorials…
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.
Who this is forWordPress site owners with Yoast SEO installed and something not working — sitemap returning 404, title tags showing literal variables, GSC errors piling up, license deactivating randomly, indexable rebuild stuck, or schema warnings in Rich Results Test.
What you'll need
Step 1
Yoast SEO → General → Dashboard → Problems and Notifications. Yoast self-reports common issues — read these before deep-debugging.
WordPress Admin → Yoast SEO → General → Dashboard.
Two panels: Problems (red, blocking) and Notifications (yellow, advisory).
Common problems Yoast self-detects: WordPress is set to discourage search engines, another SEO plugin is active, indexable rebuild incomplete, license not activated (Premium), database tables missing.
Each problem has a 'Fix' link or a brief explanation. Resolve every Problem (red) before moving to deeper diagnostics — they block correct operation.
Notifications (yellow) are advisory: suggest installing Premium, request a review, prompt to mark cornerstone content. Dismissable.
Step 2
Clear: WordPress page cache, object cache (Redis/Memcached), CDN cache (Cloudflare/Fastly), browser cache. Then private-window retest.
Page cache: WP Rocket → Settings → Clear Cache. LiteSpeed → Toolbox → Purge All. W3 Total Cache → Performance → empty all caches. WP Super Cache → Settings → Delete Cache. WP Engine: Cache → Purge All. Kinsta: Tools → Clear Site Cache. Cloudways: Application Settings → Application Management → Purge.
Object cache: if Redis or Memcached is active (check Yoast SEO → Tools → System info → Object Cache), flush it via host control panel or WP-CLI: wp cache flush.
CDN cache: Cloudflare → Caching → Configuration → Purge Everything. Fastly → Services → your service → Purge All. KeyCDN: Zones → Purge zone.
Browser cache: hard refresh (Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows). Or test in a private/incognito window which bypasses cache entirely.
Retest the issue in private window. About 70% of "Yoast is broken" reports vanish after a complete cache purge.
Step 3
Backup → deactivate ALL plugins except Yoast → test. If issue fixes, reactivate plugins one by one until issue returns. The last activated plugin is the conflict.
Take a database backup before this step. UpdraftPlus, BlogVault, or host control panel.
Plugins → Installed Plugins → bulk select all EXCEPT Yoast SEO (and Yoast Premium if licensed) → Bulk Actions → Deactivate → Apply.
Test the issue. If Yoast now works correctly, you have a plugin conflict.
Reactivate plugins one at a time, testing after each. The plugin that, when reactivated, reintroduces the issue is the conflict.
Common conflicts: WP Rocket (caches Yoast meta incorrectly — fix via WP Rocket → Settings → Add-ons), All in One SEO (still installed but deactivated — delete it), Cloudflare (purge required), security plugins blocking REST API (Wordfence Premium especially), schema plugins firing duplicate JSON-LD.
Document the conflict + your fix. Yoast has a curated list of known conflicts at developer.yoast.com — search the conflict plugin name.
Step 4
Activate a default WordPress theme (Twenty Twenty-Five) temporarily. Test the issue. If it fixes, your theme is the conflict.
WordPress Admin → Appearance → Themes → activate Twenty Twenty-Five (or any default WP theme).
Test the issue. If Yoast now works correctly, your current theme is the conflict.
Common theme conflicts: Astra/Astra Pro (outputs duplicate schema — disable via Customize → Schema), GeneratePress Premium (same), Avada (hardcodes <title> tags in header.php overriding Yoast), Divi (similar), older themes still using deprecated WordPress hooks.
Fix path 1 — disable conflicting theme features: most premium themes have a "Disable schema" or "Disable SEO" toggle in Customize → SEO settings.
Fix path 2 — child theme + remove the conflict code: copy header.php to a child theme → remove hardcoded <title> line → save. Updates to the parent theme no longer break Yoast.
Switch back to your real theme after the test. Apply whichever fix path works for the conflict.
Step 5
Visit yoursite.com/wp-json/ in private window. 404 = REST API blocked. Allow listing /wp-json/yoast/ routes is usually the fix.
Open yoursite.com/wp-json/ in a private/incognito window.
Expected: JSON response listing API routes. Got: 404 or "REST API disabled" — your REST API is blocked.
Common blockers: Wordfence Premium (Firewall → Blocking → custom rules), iThemes Security (Security → Settings → WordPress Tweaks → REST API → restrict), Cloudflare Firewall rules disallowing /wp-json/, server-level mod_security rules.
For Wordfence: Firewall → Rules → search "REST API" → ensure Yoast routes (/wp-json/yoast/) are allowed.
For iThemes: Security → Settings → WordPress Tweaks → REST API → set to "Default Access" (not "Restricted") OR allowlist Yoast endpoints.
For Cloudflare: WAF → Custom Rules → check for rules blocking /wp-json/ patterns.
Verify fix: revisit yoursite.com/wp-json/ — should now return JSON. Then yoursite.com/sitemap_index.xml — should load.
Step 6
Yoast SEO → Tools → Optimize SEO data. If stuck, increase WP_MEMORY_LIMIT or run via WP-CLI: wp yoast index --reindex.
Yoast SEO → Tools → Optimize SEO data. Click Start SEO data optimization.
If progress bar hangs at the same percentage for 5+ minutes: PHP is timing out or running out of memory.
Increase memory: edit wp-config.php → add line: define('WP_MEMORY_LIMIT', '512M'); — above the /* That's all */ line.
Increase execution time: ask your host to set PHP max_execution_time to 300 seconds. WP Engine and Kinsta have UI controls; shared hosting requires php.ini edit.
Run via WP-CLI for big sites: SSH into the server → wp yoast index --reindex. Bypasses browser timeout entirely.
Verify completion: Yoast SEO → Tools → Optimize SEO data should show 100% complete. Indexables table now has accurate counts.
Step 7
Yoast SEO → General → Premium. If license shows Inactive: check my.yoast.com → Sites → reactivate. If "already in use": deactivate on the other site first.
Yoast SEO → General → Premium tab.
License status: Active (green) or Inactive (red).
If Inactive: re-enter the license key from my.yoast.com → Downloads → copy key → paste → Activate.
If "License key already in use": you have used this license on another site. my.yoast.com → Subscriptions → Sites → find the old site → Deactivate. Then reactivate on the current site.
If activation fails with no error: check that outbound connections to my.yoast.com are allowed (some hosts block outbound HTTP from PHP). Ask the host to whitelist *.yoast.com.
If license shows Active but Premium features still missing: deactivate Yoast SEO Premium plugin, then reactivate. This re-checks the license and reloads Premium hooks.
Common mistakes
Skipping cache purge and assuming Yoast is broken
What goes wrong: 70% of 'Yoast is broken' reports trace to stale cached HTML. You spend 2-4 hours debugging plugin conflicts when the fix was a single cache-clear button.
How to avoid: Always purge ALL caching layers (page + object + CDN + browser) and retest in private window BEFORE deeper debugging.
Deactivating plugins on live site without backup
What goes wrong: Bulk deactivation can break form submissions, payment processing, integrations. Live users hit errors during the diagnostic window. Worst case: you cannot reactivate cleanly and need a database restore.
How to avoid: Take a fresh database backup before bulk-deactivating. Better: do the diagnostic on a staging environment cloned from production.
Editing theme files directly instead of using a child theme
What goes wrong: You remove a hardcoded <title> tag from header.php to fix a Yoast conflict. Theme updates the next week and restores the line. Yoast breaks again silently — you do not notice for 4-8 weeks.
How to avoid: Create a child theme (or use the Code Snippets plugin for theme-level changes that survive updates). Edits live in the child theme directory.
Disabling Wordfence completely "to fix Yoast"
What goes wrong: Yes, the issue resolves. But your security posture drops to zero. Brute-force attacks on /wp-login.php, malicious file uploads, and bot traffic all become possible.
How to avoid: Configure Wordfence to allowlist Yoast REST API routes (/wp-json/yoast/*) instead of disabling Wordfence entirely. Specific is safer than nuclear.
Running the indexable rebuild repeatedly without changing the cause
What goes wrong: Rebuild hangs at 47%. You restart. Hangs at 47% again. Restart again. Same result. The cause (PHP memory limit too low) was never addressed — you just keep retrying.
How to avoid: When the rebuild fails, diagnose: check Yoast SEO → Tools → System info for PHP memory limit. Increase to 512M via wp-config.php. Then retry.
Ignoring Yoast notifications until they pile up
What goes wrong: Yoast dashboard shows 8 notifications and 3 problems. None get addressed. Real issues (license deactivated, indexable rebuild failed, sitemap not generating) hide in the noise. Weeks pass before you investigate.
How to avoid: Address every Problem (red) within 24 hours. Review Notifications (yellow) weekly. Set a recurring calendar reminder.
Recap
Done — what's next
How to install the Yoast SEO plugin on WordPress
Read the next tutorial
Hand it off
Yoast troubleshooting can devour a full day when you do not know the diagnostic order. A vetted technical SEO specialist runs the playbook above in 45-60 minutes, identifies the exact failure layer, and ships a fix — typically $40-100 in talent time at $14-16/hr. Worth it if your business depends on the site and the issue has lasted more than a few hours.
See specialist rates
Yoast SEO → Tools → Database tools (or run via WP-CLI: wp yoast index --reindex). This recreates the indexables table from current WordPress data. If the create-table action fails, your database user lacks CREATE TABLE permission — ask your host to grant it temporarily.
Deactivated plugins remain in the database until deleted. Yoast scans the active_plugins option but also checks for installed-but-not-active plugins in some scenarios. If you have permanently moved off the plugin, delete it via Plugins → Installed Plugins → Delete — the notification clears.
Three most common causes: (1) WordPress core auto-updated to a new minor version that broke a plugin (check Updates page); (2) your host pushed a security rule update that blocks REST API routes (ask host support); (3) cache plugin rotated keys and is serving stale HTML. Run the cache purge + private window retest first.
Common causes: (1) license expired (check my.yoast.com → Subscriptions); (2) you exceeded the site count for the license tier; (3) PHP cannot reach my.yoast.com (host firewall blocking outbound HTTP). Yoast rechecks the license periodically — a transient network failure can flip it to Inactive.
Yes, but carefully. WP-CLI: wp db query 'DROP TABLE wp_yoast_indexable;' then run wp yoast index --reindex. Or use Yoast SEO → Tools → Database tools → Reset SEO data (Premium feature). This nukes the table and rebuilds it from scratch. Useful when the table is corrupted but rebuilds keep failing.
Yoast SEO
Yoast SEO powers SEO on 13M+ WordPress sites. The install itself takes five minutes — but doing it on a live site with a competing plugin, a caching layer, and a paid license is where most owners corrupt their meta data. This is the clean-install path.
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
Yoast generates a multi-file sitemap_index.xml automatically — but the default output usually includes content you do not want indexed and excludes content you do. This is the audit + submit workflow that produces a sitemap Google actually trusts.
Yoast SEO
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.
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.