FREE SEO AUDIT
WordPress SEO Audit: The 12 Checks That Matter
A practical WordPress SEO audit framework covering the 12 issues that actually hurt rankings — from slow theme bloat to plugin-generated duplicate content.
Published July 12, 2026 · 8 min read
WordPress powers 43% of the web, which means Google has seen every mistake it can generate. After auditing hundreds of WordPress sites, the same 12 issues surface again and again — and they're different from what generic SEO audits flag on a static site.
This guide walks through each one in order of severity, explains why WordPress specifically tends to create the problem, and tells you what to fix.
Does your WordPress site have an indexation problem?
Before anything else: confirm Google can actually reach your content.
Go to Settings → Reading and verify "Discourage search engines from indexing this site" is unchecked. This checkbox — meant for staging sites — gets left on after migrations more often than you'd think. A single checkbox can de-index an entire site.
Also run site:yourdomain.com in Google Search. If you see far fewer pages than exist, something is blocking crawlers upstream.
Relevant check: technical SEO → robots-noindex-directive in any audit engine will catch this at the HTTP level.
Is your WordPress theme generating Core Web Vitals failures?
Themes are the leading cause of WordPress Core Web Vitals failures. Page builders like Elementor, Divi, and WPBakery front-load CSS and JavaScript for every element type regardless of what's on a given page.
The signs:
- LCP (Largest Contentful Paint) > 2.5s — usually a render-blocking stylesheet or unoptimized hero image
- CLS (Cumulative Layout Shift) > 0.1 — fonts loading after text, or image dimensions not declared
- INP (Interaction to Next Paint) > 200ms — heavy JavaScript parsing on load
What to do: run a real-user field-data check (not a lab-only Lighthouse run). CrUX data from Google shows actual Chrome user experience — lab tests miss CDN caching, server location, and real network conditions.
If LCP is failing in field data, look at:
- Your largest above-the-fold image — add
fetchpriority="high"and ensure it's preloaded - Remove unused CSS by switching to a leaner theme or using a critical-CSS plugin
- Defer non-essential JavaScript
Are WordPress plugins creating duplicate content?
WordPress plugins regularly generate duplicate URLs without telling you. Common culprits:
- WooCommerce creates
/product-category/uncategorized/pages for every uncategorized product, plus paginated archive variants - Yoast / AIOSEO with wrong canonical settings can generate
?replytocom=URLs indexed alongside the canonical - Multilingual plugins (WPML, Polylang) create language-switched variants that may lack proper hreflang or get indexed twice
Check: look for canonical tags that point elsewhere, or pages with the same title across different URLs. An audit engine will flag duplicate-title and canonical-mismatch at scale.
Does your WordPress site structure cause orphan pages?
WordPress organizes posts chronologically by default. Without intentional internal linking, category pages become the only bridge between a post and the homepage — and many posts get no inbound links at all.
Orphan pages (zero inbound internal links) don't get crawled reliably and rarely rank. WordPress-specific sources:
- Draft-to-published transitions without updating related posts
- Products removed from category listings but not deleted
- Landing pages built with a page builder and never linked from nav or footer
Fix: audit internal links per URL. Pages with zero inbound links need either to be linked from relevant content, added to the sitemap prominently, or consolidated into a stronger page.
Is your XML sitemap outdated or bloated?
The default WordPress sitemap (/wp-sitemap.xml) includes every public post type, including things you may not want indexed — author archives, tag archives, custom post type entries for options pages.
Common problems:
- 404 pages still listed in the sitemap after content deletion
- Thousands of tag archive URLs diluting crawl budget
lastmoddates set to the same timestamp for every URL (useless for Googlebot)
If you use Yoast or Rank Math, configure them to exclude low-value post types and set real lastmod values per URL.
What does WordPress do to your title tags and meta descriptions?
WordPress themes often append the site name to every title with a separator ("Post Title | Site Name"). That's fine. But many themes also let the CMS auto-generate meta descriptions from the first 160 characters of post content — which leads to cut-off descriptions that start mid-sentence.
Audit every title for:
- Length violations — titles wider than ~580px get truncated in SERPs
- Keyword in title — the primary keyword should appear in the first 60 characters
- Duplicate titles — category pages and their first post often share near-identical titles
And every description for:
- Auto-generated fragments that don't read as a coherent call to action
- Missing descriptions — WordPress doesn't generate them by default, so many posts ship with no description at all
How well does WordPress handle structured data?
WordPress has three common structured-data failure patterns:
- Double Schema — a theme outputs
Articleschema, and a plugin like Yoast outputs its own. Google sees two competing graphs on the same page. - Missing Schema on the types that matter — e-commerce sites without
Product/Offerschema, blogs withoutArticle, local businesses withoutLocalBusiness - FAQ schema not used — FAQ content exists in the page body, but no
FAQPageJSON-LD is present, so Google can't surface rich results
An audit engine validates JSON-LD structure, detects conflicts, and flags required properties that are missing. A schema generator tool can produce the correct JSON-LD for copy-paste.
Is WordPress exposing security issues that affect SEO?
Google Safe Browsing can de-index or warn-label a site that's serving malware — even if the malware was injected through a plugin vulnerability. WordPress security issues that surface in SEO audits:
- Exposed
/wp-admin/without 2FA — not a ranking factor directly, but compromised sites lose rankings fast /wp-json/wp/v2/users/endpoint returning author usernames — used in credential-stuffing attacks; disable via the API if you don't use headlessX-Content-Type-OptionsandX-Frame-Optionsheaders missing — flagged in technical security audits and some SEO tools
Are your WordPress images slowing down the crawl?
WordPress generates multiple image sizes (thumbnail, medium, large, full) for every uploaded image. Most themes use only one or two, leaving the rest as dead weight in the uploads directory.
For SEO:
- Every image served without an
altattribute is a missed relevance signal - Images served in JPEG at full resolution instead of WebP cost load time
- Images without declared
widthandheightcause CLS
Quick wins: install a WebP conversion plugin, enforce alt attributes through your page builder, and declare dimensions in templates.
What does Google see when it crawls your WordPress pages?
Server-side rendering is WordPress's biggest SEO advantage over JavaScript-heavy frameworks — but page builders undermine it. Elementor and Divi render some dynamic elements client-side, including countdown timers, tab content, and accordion sections. That content may not be indexed.
Check: request your page via curl without JavaScript and compare it to what a browser renders. If content appears in the browser but not in the raw HTML response, it's not reliably indexed.
How does your WordPress site perform on mobile?
Google indexes the mobile version of your site first. WordPress-specific mobile failures:
- Touch targets smaller than 48×48px (common with nav menus built for desktop first)
- Horizontal scrolling caused by fixed-width containers in page builder rows
- Hero images sized for desktop, not resized for mobile
A viewport meta tag misconfiguration (user-scalable=no) also disables pinch-to-zoom — Google flags this as a usability issue.
Is your WordPress URL structure hurting rankings?
WordPress defaults to ?p=123 URLs on installation — most sites switch to a slug-based structure immediately, but the change needs to be done before you have indexed content. Post-migration redirects are often incomplete.
Common URL structure mistakes:
- Dates in URLs (
/2024/03/post-title/) make content look stale and are hard to remove later without redirects - Category prefixes (
/category/news/post-title/) add path depth without adding value - Tags that generate paginated archives (
/tag/seo/page/2/) can generate hundreds of low-value URLs
The best WordPress URL structure for SEO: /%postname%/ for posts, /category-slug/post-slug/ only if the category adds genuine context.
Run a full WordPress SEO audit
Generic audits miss WordPress-specific patterns: WooCommerce duplicate URLs, page-builder JavaScript rendering, plugin-generated schema conflicts. A purpose-built audit engine with CMS detection will name the plugin or template setting causing each issue instead of just flagging the symptom.
Run a free WordPress SEO audit — no signup required, full report in about 60 seconds.
Frequently asked questions
How often should you run a WordPress SEO audit? After every major theme update, plugin update affecting rendering, or content migration. For active sites, a monthly crawl catches regressions before Google does.
Can WordPress SEO plugins replace a full audit? No. Yoast, Rank Math, and AIOSEO handle meta tags and basic schema. They don't test Core Web Vitals from real field data, validate internal link structure, detect rendering issues, or check AI-visibility signals. Use them alongside an audit, not instead of one.
Does changing your WordPress permalink structure hurt SEO? Yes, if done without proper redirects. Every URL that changes needs a 301 redirect from the old path. Missing redirects mean lost links and ranking signals for changed pages.
Which WordPress plugins most commonly cause SEO problems? WooCommerce (duplicate product URLs), caching plugins with misconfigured exclusions (blocking CSS/JS from the cache), outdated SEO plugins using deprecated schema formats, and page builders that render content client-side.
What is the fastest WordPress SEO win? Check whether "Discourage search engines" is unchecked, then fix title tags and meta descriptions for your top 10 traffic pages. Those changes take under an hour and directly affect how you appear in search results.
MORE FROM THE BLOG
Related articles
6 min read
Website SEO Checker: How Ours Works and Why It's Free
A transparent look at how the DeepSEOAnalysis website SEO checker works — what it checks, how it scores results, and why the full audit is free with no email gate.
Read →7 min read
SERP Preview: How Google Displays Your Title and Meta Description
How Google renders title tags and meta descriptions at pixel widths — not character counts — and how to preview and fix truncation before it hurts your CTR.
Read →9 min read
Schema Markup Generator: JSON-LD for Every Page Type
How to generate schema markup (JSON-LD) for articles, products, FAQs, how-tos, breadcrumbs, and local businesses — with a free schema generator tool.
Read →Run DeepSEOAnalysis on your own site.
Free, no signup. Technical SEO, Core Web Vitals, structured data, and AI visibility in one report.
Run a free audit →