Quick answer
A WordPress SEO audit checklist starts with Settings > Reading (the "Discourage search engines" box adds noindex sitewide), then checks for two SEO plugins outputting duplicate tags, the permalink structure, attachment and tag archive pages, the sitemap, internal search URLs and page-builder speed.
WordPress powers a huge share of the web, and almost every WordPress SEO problem comes from one of three places: a setting someone ticked during development, two plugins doing the same job, or a theme that outputs markup nobody checked. The generic SEO audit checklist catches the symptoms. This WordPress SEO audit checklist goes straight to the causes.
Why WordPress needs its own audit
WordPress is flexible in ways that create duplicate and thin URLs by default. Every post can appear at its own URL, on category and tag archives, on author archives, on date archives and in paginated lists. Every uploaded image historically had its own attachment page. A fresh install has a sitemap, but the moment you add an SEO plugin it is replaced by a different one.
None of that is a problem if it is configured deliberately. The trouble is that most WordPress sites are built by one person and maintained by another, and settings drift. In audits of small business WordPress sites, the most common critical finding is still the "Discourage search engines from indexing this site" box left ticked after launch.
Insight: Check the plugin list before you crawl. Two SEO plugins, or an SEO plugin plus a theme with built-in SEO options, explain more WordPress audit findings than anything else.
How to audit a WordPress site in 7 steps
- Log in and check Settings > Reading: the "Discourage search engines from indexing this site" box must be unticked on the live site.
- Open Plugins and list every plugin that touches SEO, caching, images or redirects; note duplicates.
- Check Settings > Permalinks is set to "Post name" or a custom structure, not "Plain".
- View the source of the homepage, a post and a category page, and count canonical tags, meta descriptions and robots tags in each.
- Crawl the site and filter for archive URLs (
/tag/,/author/,/page/, date archives) and attachment URLs. - Run PageSpeed Insights on the homepage, a post and the heaviest page-builder page.
- Confirm the sitemap URL in robots.txt matches the one the SEO plugin generates, and that it is submitted in Search Console.
The 15-point WordPress SEO audit checklist
- Search engine visibility setting off. Settings > Reading. Since WordPress 5.3 this box adds a
noindexmeta tag to every page rather than a robots.txt rule, so it removes the whole site from Google once crawled. - Only one SEO plugin active. Yoast SEO, Rank Math, All in One SEO and SEOPress all output titles, descriptions, canonicals and schema. Two at once usually means two of each.
- Theme SEO options disabled if an SEO plugin is active. Some premium themes add their own meta and schema.
- One canonical tag per page, self-referencing on posts and pages you want indexed.
- Permalinks use "Post name", not
?p=123. If you must change a live structure, add 301 redirects for every old URL. - Attachment pages redirect to the file or parent post. WordPress 6.4 turned attachment pages off for new installs; older sites may still have them, each a thin page with one image.
- Tag archives are curated or noindexed. A site with 400 tags used once each has 400 thin pages. Keep tags that group several posts; noindex or remove the rest.
- Author and date archives are noindexed on single-author sites, where they duplicate the blog index.
- Internal search results (
?s=) are noindexed. Most SEO plugins do this by default; confirm it. - The sitemap is the plugin's, not core's. WordPress core generates
/wp-sitemap.xml; SEO plugins replace it, usually with/sitemap_index.xml. robots.txt and Search Console should point to the one that exists. - One H1 per template. Many themes wrap the site logo in an H1 on every page, giving posts two H1s and a sitewide duplicate. See multiple H1 tags and SEO.
- Images are compressed, sized and lazy-loaded below the fold, with the featured image loaded eagerly. WordPress has added
loading="lazy"natively since 5.5 andfetchpriority="high"on the likely hero image since 6.3. - Page builder output is reasonable. Elementor, Divi and similar builders can produce very deep HTML. Check field LCP and INP on builder-made pages specifically.
- Redirects are managed in one place. A redirect plugin, the SEO plugin's redirect manager and
.htaccessrules together create chains and loops. - Plugins and core are updated, and abandoned plugins removed. Outdated plugins are the main route for spam injections, which create hidden pages that damage rankings.
Check your own page
Seotific audits a URL against the keyword it should rank for and lists the fixes in order of impact. Free plan, no card.
Run a free auditThe duplicate-plugin problem in detail
When two SEO plugins are active, the page source often shows two meta descriptions, two canonical tags and two blocks of schema, while the plugins fight over the <title>. Google picks one, and not always the one you edited. The tell-tale symptom in an audit is a title in search results that doesn't match what the client says they wrote.
It also happens with partial overlaps. A schema plugin and an SEO plugin both output Organization markup with different names; a caching plugin minifies HTML and strips a tag the SEO plugin added; a translation plugin adds hreflang the SEO plugin also adds. The check is the same each time: view the source, search for rel="canonical", name="description" and application/ld+json, and count.
The SEO plugins handle overlapping jobs differently, which matters when you decide which one to keep:
| Job | WordPress core | Yoast SEO | Rank Math | All in One SEO | Seotific's role |
|---|---|---|---|---|---|
| XML sitemap | Yes (wp-sitemap.xml) | Yes, replaces core | Yes, replaces core | Yes, replaces core | Checks the sitemap exists and is in robots.txt |
| Title and meta templates | No | Yes | Yes | Yes | Checks keyword, length and duplicates per page |
| Canonical tags | Basic | Yes | Yes | Yes | Flags missing, duplicate or cross-page canonicals |
| Redirect manager | No | Premium | Free module | Pro | Reports redirect chains and links to redirects |
| Schema output | No | Yes | Yes | Yes | Lists types and validates required properties |
Pick one plugin, configure it, and remove the others completely rather than deactivating them, because some leave settings that other plugins read.
WordPress archives: keep, noindex or remove
Archive pages are the main source of thin and duplicate URLs on WordPress, but some are useful landing pages. Decide per type:
- Category archives: usually keep and index. Add an introduction paragraph so each category page has unique text, and make sure the category name is in the title and H1.
- Tag archives: keep only tags with five or more posts and a clear search use. Noindex the rest or merge them into categories.
- Author archives: index on multi-author publications where author pages show expertise; noindex on single-author sites.
- Date archives: noindex almost always.
- Paginated archives (
/page/2/): keep crawlable with plain links, self-canonical (not canonicalised to page 1), so older posts stay reachable.
After changes, watch Search Console's Page indexing report. Noindexed archives move to "Excluded by 'noindex' tag" within a few weeks, which is the expected outcome.
Don't remove archives from internal navigation at the same time as you noindex them unless you also add another route to the posts they list. Google still needs a crawlable path to every post, and archives are often the only one for older content.
Tools for a WordPress SEO audit
Search Console for index status and the Page indexing report. PageSpeed Insights for Core Web Vitals on each template. Query Monitor (a free plugin) shows which plugin or theme function outputs a given tag, which is the fastest way to trace a duplicate canonical.
Seotific audits any WordPress URL from the outside, the way Google sees it, including the rendered version, so it catches duplicate tags no matter which plugin produced them. It weights each issue by impact and writes replacement titles, descriptions and headings you can paste into the SEO plugin. A crawl covers archives and attachment pages at scale. For the crawl-level checks that apply to every platform, see the technical SEO audit checklist; the Shopify SEO audit checklist and Webflow SEO audit checklist cover the other common platforms.
Frequently asked questions
What is the most common WordPress SEO problem?
The "Discourage search engines from indexing this site" setting left on after launch. It adds noindex to every page, and Google drops the whole site from the index as it recrawls. It takes seconds to fix in Settings > Reading, then request indexing for key pages in Search Console.
Can I run two SEO plugins at once on WordPress?
You can, but you shouldn't. Two SEO plugins usually output two titles, descriptions and canonical tags, and Google may pick the one you didn't intend. Choose one, configure it fully, and uninstall the other.
Should I noindex WordPress tag pages?
Noindex tag pages that hold only one or two posts or duplicate a category. Keep tag pages that group several posts on a topic people search for, and give them an introduction. The goal is fewer, stronger archive pages.
Does WordPress create a sitemap automatically?
Yes. Since WordPress 5.5 core generates /wp-sitemap.xml. SEO plugins such as Yoast and Rank Math disable it and publish their own, usually at /sitemap_index.xml. Submit whichever one actually exists to Search Console and list it in robots.txt.
Do WordPress page builders hurt SEO?
Not directly, but heavy builder output can push LCP and INP past Google's thresholds, especially on mobile. Measure field Core Web Vitals on builder-made pages. If they fail, reduce sections, compress images and remove unused widgets before blaming the builder.
How often should I audit a WordPress site?
Audit after every theme change, major plugin update or migration, and do a full audit quarterly. WordPress sites change through updates more often than their owners realise, and a plugin update can add or remove tags across every page.
Check your own page
Seotific audits a URL against the keyword it should rank for and lists the fixes in order of impact. Free plan, no card.
Run a free audit