Technical SEO Audit for WordPress: 8 Proven Critical Fixes
WordPress can be configured for excellent SEO performance. But out of the box, it is not.
The default settings were designed for ease of use, not for search engine visibility. The same platform that makes publishing effortless also automatically creates hundreds of thin archive pages, enables a setting that can make your entire site invisible to Google, and invites plugin installations that progressively bloat page load times without any single obvious failure point.
Most WordPress sites running standard technical audits find the same category of issues: a setting somewhere that should be Off is On, or a setting that should be On is Off, and it has been that way since the site launched.
A technical SEO audit for WordPress is about knowing exactly which defaults need overriding, in which order, and with which tools.
If your site is ranking below where its content quality suggests it should, if you have published consistently but organic growth has stalled, or if you have simply never looked under the hood of your WordPress installation, you are about to find out why.
Table of Contents
Why WordPress Sites Need a Specialist Audit Approach
Default settings designed for staging environments end up on live sites. The “Discourage search engines from indexing this site” checkbox under Settings, then Reading, exists for development environments. It is left checked on live sites after CMS migrations with alarming regularity. One checkbox. Entire website invisible to Google.
Auto-generated thin content at scale. WordPress creates tag archives, author archives, date archives, category archives, and media attachment pages automatically. On a site with 200 posts and freely used tags, there may be 150 tag archive pages, each containing a small subset of posts already indexed elsewhere at their individual URLs. This dilutes crawl allocation and splits ranking signals across thin, near-duplicate pages.
Plugin interactions are unpredictable. Every active plugin adds code to your site. Many add scripts and stylesheets to every page regardless of whether that page uses the plugin. Some plugin combinations create direct technical conflicts: two caching plugins, two SEO plugins, two redirect managers all operating simultaneously on the same rules.
Technical SEO Audit for WordPress: 8 Critical Areas
Area 1: The Single Most Important Check on Any WordPress Site
Navigate to Settings, then Reading in your WordPress admin panel.
Find the checkbox labelled: “Search Engine Visibility: Discourage search engines from indexing this site.”
This must be unchecked on every live website.
If it is checked, visit yourdomain.com/robots.txt immediately. You will see Disallow: /. Every search engine crawler is blocked from every page on your site. If this has been active for any length of time, your entire domain has been invisible to Google during that period.
This check takes 30 seconds. It should be the very first action on every WordPress technical audit. The potential severity is too high to defer.
Area 2: Audit and Configure Your SEO Plugin
Every WordPress site needs exactly one SEO plugin. The two dominant options are Yoast SEO and Rank Math. Both are capable and free for core functionality.
The critical rule: never run both simultaneously. Both plugins write to the same page-level metadata, canonical tags, and schema output. Running them together produces duplicate and conflicting directives. Google receives contradictory signals and resolves them arbitrarily, often incorrectly.
Yoast SEO audit checks:
- SEO, then Search Appearance, then Content Types: every content type you want indexed must show “Show in search results: Yes”
- SEO, then Search Appearance, then Taxonomies: review tag and category archive settings carefully
- SEO, then Features: XML sitemap must be enabled
- Confirm the sitemap URL is submitted in GSC under Indexing, then Sitemaps
Rank Math audit checks:
- Schema module active, configured with correct default schema type per content type
- Sitemap module active, set to auto-update on publish
- 404 Monitor active under Tools: this catches new broken links as they appear after publication
- Redirection module active: manages redirect rules without requiring a separate plugin
If both plugins are currently active on your site, deactivate one immediately. Verify in GSC that metadata, canonicals, and schema output are correct after the deactivation.
Area 3: Noindex All Auto-Generated Thin Content
This is where WordPress creates its most pervasive technical SEO problem, silently, at scale, from day one.
Tag archives:
A tag used on three blog posts creates an archive page containing those three posts, all already fully indexed at their individual URLs. The archive provides no unique value. It competes with individual posts for crawl allocation and ranks for nothing.
Fix in Yoast: SEO, then Search Appearance, then Taxonomies, then Tags. Set “Show tag archives in search results” to No.
Fix in Rank Math: Titles and Meta, then Tags. Enable noindex.
Author archive pages:
On single-author sites, the author archive duplicates every single post on the site. Google indexes the archive, splits crawl attention between it and individual posts, and ranks neither as well as it would with consolidated signals.
Fix in Yoast: SEO, then Search Appearance, then Archives. Set “Author archives” to “Show in search results: No.”
Date archives:
Daily, monthly, and yearly archives have no search value on any site that does not publish breaking news with time-sensitive queries.
Fix in Yoast: SEO, then Search Appearance, then Archives. Disable date-based archives.
Media attachment pages:
WordPress creates a unique URL for every uploaded image. These pages live at paths like /2024/03/hero-image/ and contain essentially nothing except the image file. They are crawled, indexed occasionally, and rank for nothing.
Fix in Yoast: SEO, then Search Appearance, then Media. Enable “Redirect attachment URLs to the attachment itself.” This 301 redirects every attachment page to the image file directly, eliminating the thin page permanently.
Area 4: Fix the Permalink Structure
Navigate to Settings, then Permalinks.
The default “Plain” setting produces URLs like /?p=123. These are unreadable to users, provide no topical signal to search engines, and are a clear indicator that a site has never been technically reviewed.
Change to “Post name” for clean, descriptive URLs: /how-to-fix-redirect-chains/.
The warning that most guides skip: changing the permalink structure on an established site is a URL migration. Every existing URL changes. Every page loses its URL history. Every external link to your old URLs becomes a broken link.
Before making this change on any live site with existing rankings:
- Export your current URL list from Screaming Frog
- Plan 301 redirects from every old URL format to the new one
- Test on a staging environment first
- Deploy the redirect rules before or simultaneously with the permalink change
Changing permalink structure without redirects on an established site destroys accumulated ranking history and link equity for every existing page. This is irreversible without the redirect plan in place.
Area 5: Diagnose and Fix Performance Problems
WordPress sites have a specific performance failure pattern: performance degrades gradually and invisibly as plugins accumulate and theme framework files grow.
The most common finding in WordPress performance audits: a premium theme framework (Divi, Avada, Elementor) loading its full CSS and JavaScript library on every page, including pages that use 5% of its features. Combined with five or six plugins each adding their own scripts, a page that should load in 1.5 seconds is loading in 4 or 5 seconds on mobile.
The four fixes that resolve most WordPress performance problems:
1. Page caching. An uncached WordPress page generates a database query on every request, typically producing TTFB of 500ms to 1,200ms. A cached page serves pre-built HTML: typically 20ms to 80ms. WP Rocket (paid) and W3 Total Cache (free) both handle this. Install one and configure it before any other performance work.
2. Image compression and WebP conversion. Install ShortPixel, Imagify, or Smush. Run bulk optimisation on your entire existing media library. These plugins also automatically convert new uploads to WebP format. A 300KB JPEG hero image typically becomes 120 to 150KB WebP at equivalent visual quality.
3. CDN configuration. Cloudflare’s free tier provides global CDN delivery. Static assets (images, CSS, JavaScript) load from Cloudflare’s edge servers closest to each visitor rather than from your origin server. Setup takes under 30 minutes for most WordPress sites.
4. JavaScript deferral. WP Rocket and Perfmatters both automate the application of defer and async attributes to non-critical scripts. This eliminates render-blocking JavaScript without requiring any custom code changes.
Full CWV guide: How to Improve Core Web Vitals: 12 Proven LCP, INP Fixes
Area 6: Audit and Reduce Plugin Bloat
For every active plugin on your site, answer three questions honestly:
- Is this plugin actively used and providing value right now?
- Does another active plugin already provide this functionality?
- Has this plugin been updated within the last 6 months?
A “No” to any of these is a reason to deactivate and delete.
The most damaging conflict patterns found in WordPress audits:
Two caching plugins active simultaneously (WP Rocket + W3 Total Cache): conflicting caching logic producing unpredictable and inconsistent page delivery.
Two SEO plugins active (Yoast + Rank Math): duplicate and contradictory metadata, canonicals, and schema on every page.
Two image optimisation plugins running (Imagify + ShortPixel): redundant processing, potential file corruption, and no performance benefit over either alone.
Multiple redirect management plugins: conflicting redirect rules that can create loops or chains without any single plugin being aware of the others’ rules.
The safe way to audit plugins: deactivate suspected problem plugins on a staging environment first. Test thoroughly. Never deactivate untested combinations on a live site unless the issue is critically urgent.
Area 7: Fix Duplicate Content from URL Variants
WordPress sites commonly create structural duplicate content through URL variant problems that persist across the entire site.
www vs. non-www: Settings, then General. WordPress Address and Site Address must both use the identical format. Your server must 301 redirect the non-preferred variant. If your WordPress Address shows https://yourdomain.com but https://www.yourdomain.com returns a 200, both versions are accessible and Google is crawling duplicate content.
HTTP vs. HTTPS: Every page must serve HTTPS. All internal links, images, stylesheets, and scripts must reference HTTPS URLs. After migrating from HTTP to HTTPS, use Better Search Replace to update all database references from http:// to https://. Any remaining HTTP internal links create mixed content warnings and inconsistent canonical signals.
Area 8: Validate Schema Markup Output
Both Yoast and Rank Math auto-generate schema markup. But auto-generated schema requires validation because defaults do not always match your specific content type requirements.
Test at Google Rich Results Test:
- Homepage: should show Organization or WebSite schema
- Blog posts: should show Article or BlogPosting schema
- WooCommerce products: should show Product schema with price and availability
- Pages with FAQ sections: should show FAQPage schema
For key commercial pages where FAQ schema would improve CTR, use Rank Math’s per-page schema builder to add FAQ markup manually. The visual interface allows adding questions and answers without writing JSON-LD.
WordPress Technical SEO Audit Checklist (25 Points)
Settings and Configuration:
- “Discourage search engines” is unchecked under Settings, Reading
- Permalink structure uses /post-name/ format
- One SEO plugin only (Yoast or Rank Math, never both)
- XML sitemap active and submitted in GSC
Thin Content Elimination:
- Tag archives noindexed
- Author archives noindexed (single-author sites)
- Date archives disabled
- Media attachment pages redirecting to attachment files
Performance:
- Caching plugin active with page caching enabled
- Images compressed and serving in WebP format
- CDN configured
- Render-blocking JavaScript deferred
- TTFB under 200ms on key pages
- All three Core Web Vitals passing on mobile in GSC
Duplicate Content:
- www and non-www variants redirect to one canonical format
- HTTP URLs redirect to HTTPS equivalents
- WordPress Address and Site Address match in Settings, General
- All internal links use HTTPS URLs throughout the database
Schema:
- Article or BlogPosting schema on all blog posts
- Organization schema on homepage
- Product schema on WooCommerce products
- FAQ schema on pages with question-and-answer sections
Crawl and Index Health:
- No important pages accidentally blocked in robots.txt
- No accidental noindex on any page intended to rank
- All published pages have at least one internal link
- No 4XX errors in Screaming Frog crawl
For local businesses using WordPress: Local SEO Audit Checklist: 35 Proven Checks to Rank #1
Full audit reference: Technical SEO Audit: 14 Proven Steps to Dominate Rankings
Frequently Asked Questions
What is the very first thing to check in a WordPress technical audit?
The “Discourage search engines from indexing this site” checkbox under Settings, then Reading. If it is checked on a live site, nothing else in the audit matters until it is unchecked. The entire site is invisible to Google.
Should I use Yoast SEO or Rank Math?
Both cover all essential WordPress SEO requirements. Rank Math offers a more feature-rich free tier, including built-in schema management, 404 monitoring, and a redirect manager. Yoast SEO has a longer track record and a larger documentation library. Choose one based on your workflow preference. Never activate both.
How many plugins are too many?
There is no fixed number. One poorly written plugin that loads 200KB of JavaScript on every page does more damage than ten well-coded, lightweight plugins. Audit each plugin’s actual performance impact using Chrome DevTools, not just its description. Deactivate anything that is not actively earning its overhead.
Should I noindex all WordPress archive pages?
Noindex tag archives and date archives on virtually all sites. Noindex author archives on single-author sites. Keep category archives indexed if they contain curated content with genuine search value. Review each archive type’s actual search performance in GSC before making blanket decisions.
Key Takeaways
- A technical SEO audit for WordPress must specifically address: the staging mode checkbox, auto-generated thin archives, SEO plugin configuration, and accumulated performance problems.
- Check the “Discourage search engines” setting first, every time, without exception. The stakes are too high to defer this check.
- Noindex tag archives, author archives on single-author sites, and date archives. These generate thin, near-duplicate content at scale automatically and permanently unless you override them.
- The four performance fixes in order: page caching, image WebP conversion, CDN, and JavaScript deferral. These resolve the majority of WordPress speed problems without custom code.
- Use the 25-point checklist as your standard reference for every new WordPress site and every quarterly review.
Start with the complete foundation audit to catch everything this guide addresses and more: Technical SEO Audit: 14 Proven Steps to Dominate Rankings



















