Platforms: WordPress

WordPress SEO Auditingand Quality Assurance

A WordPress site can have its SEO plugin set up correctly and still ship broken pages. Plugin updates, theme changes, new content types, permalink edits, and migrations all change what crawlers actually receive.

This hub treats WordPress SEO as ongoing validation. You crawl the rendered site, run the same checks on every page type, and compare the result with an earlier crawl.

Learn the audit workflow here, then open the guide that matches what just changed on your site.

Technical audit focus. Works with any WordPress SEO plugin, theme, or page builder.

Definition

What is a WordPress SEO audit?

A WordPress SEO audit checks what the site delivers, not what the settings screen says. It looks at the rendered HTML a crawler receives, the URLs and status codes behind it, and the metadata, indexability signals, internal links, and structured data on each page.

It also looks at how each template behaves. WordPress builds most pages from a small set of templates, so one change in a template can affect hundreds of URLs at once.

A plugin can report that a setting is on. Only a crawl shows whether the page output matches it.

Two different jobs

Configuring is not validating

  • ConfigureSet title templates, canonical rules, robots directives, and schema in the plugin, theme, or server. This records what you intend.
  • ValidateCrawl the live or staging site and check the HTML, headers, and URLs across every page type. This shows what was actually delivered.

Why it matters

Why WordPress websites need SEO quality assurance

WordPress changes constantly, and most of those changes happen outside the page editor. These are the five situations that cause repeat problems.

  1. 01

    Plugins and themes can change page output

    An update can alter title templates, canonical tags, robots meta tags, or schema without touching your content. The editor looks the same, so nobody notices until rankings or indexing move.

  2. 02

    Templates reproduce one defect across many URLs

    A single template with two H1 tags or a missing canonical repeats the problem on every post, page, or product that uses it. Fixing it once fixes the whole group.

  3. 03

    Archives can create duplicate, thin, or unintended indexable pages

    Category, tag, author, date, and paginated archives are generated automatically. Without a check, they can add pages you never planned to rank.

  4. 04

    Permalink changes can leave broken links and redirect problems

    A new URL structure can strand internal links, create redirect chains, and leave old URLs in the XML sitemap.

  5. 05

    Redesigns and migrations change many signals at once

    Metadata, canonicals, URL structures, and indexability can all shift on launch day. Without a comparison, you find out from a traffic drop.

Reference

What to check in a WordPress SEO audit

The checks are grouped by technical category, not by plugin, so the same list works whichever SEO plugin or theme the site uses.

01Access

Indexability and crawlability

Confirm that the right pages can be crawled and indexed, and that the signals agree with each other.

  • HTTP status codes
  • Robots meta
  • X-Robots-Tag
  • robots.txt
  • XML sitemaps
  • Canonical URLs

WordPress note: the “Discourage search engines from indexing this site” setting is easy to leave on after a staging launch. Check the robots meta on live pages.

02Metadata

Titles and meta descriptions

Find metadata that is missing, duplicated, changed unexpectedly, or generated incorrectly by a template.

  • Missing titles
  • Duplicate titles
  • Title templates
  • Meta descriptions
  • Before and after changes
03Structure

Heading structure

Look for missing or multiple H1 headings, inconsistent page headings, and problems the theme introduces through its templates.

  • Missing H1
  • Multiple H1
  • Heading order
  • Theme-generated headings
04URLs

URL structure and redirects

Check that permalinks are consistent, redirects go straight to the right destination, and internal links point at live URLs.

  • Permalink consistency
  • Redirect chains
  • Broken internal links
  • Wrong destinations
05Templates

WordPress templates and archives

Test each page type once, then confirm the result across every URL that uses the template.

  • Posts
  • Pages
  • Categories
  • Tags
  • Author archives
  • Pagination
  • WooCommerce products
06Markup

Structured data

Validate the schema in the rendered page, not only the plugin settings, and check that the type matches the page.

  • Schema presence
  • Duplicated markup
  • Wrong page type
  • Rendered JSON-LD
07Content

Images and internal links

Find images without alt text, broken assets, pages that are hard to discover, and inconsistent internal linking.

  • Missing alt text
  • Broken assets
  • Orphan-like pages
  • Anchor text
08Output

Rendered HTML and page output

Check whether the important SEO elements appear in the HTML delivered to crawlers, including when a theme or builder adds them with JavaScript.

  • Raw HTML
  • Rendered HTML
  • JavaScript-injected tags
  • Cached output

Related: JavaScript SEO explains how rendering affects what crawlers see.

Workflow

How to audit a WordPress website step by step

Follow the same seven steps every time. A repeatable process is what makes two crawls comparable.

  1. Establish the current state with a baseline crawl

    Crawl the site before you change anything and save the result. This is the record every later crawl is measured against.

  2. Check representative URLs from each page type

    Open one post, page, category, tag, author archive, and product if you run WooCommerce. View the rendered source and confirm title, canonical, robots, headings, and schema.

  3. Crawl the website and look for site-wide patterns

    Run a full crawl and sort by issue type. Patterns across many URLs usually point to one template, plugin, or setting.

  4. Group findings by severity, affected URLs, and likely cause

    Ten thousand URLs with one cause is one task, not ten thousand. Grouping keeps the fix list short and ordered by impact.

  5. Fix the cause in WordPress, the theme, a plugin, or the server

    Change the source of the problem rather than patching individual pages, then note what you changed and where.

  6. Crawl again and compare against the baseline

    Confirm that fixed issues are gone and that the fix did not introduce new ones elsewhere.

  7. Record unresolved issues and schedule the next check

    Write down what remains open and set the next crawl date, ideally tied to the next planned update or release.

Change-based QA

How to audit WordPress SEO after changes

Different changes break different things. Each guide answers one question and starts from the workflow above.

01Update QA

Plugin and theme updates

What broke after an update?

Titles, canonicals, indexability, headings, and schema can all change when code updates.

Unique angle: pre-update baseline, post-update checks, regression detection.

Read the update guide
02Template QA

Templates and archives

Which page types share the same defect?

Recurring problems show up across posts, categories, tags, author pages, and product pages.

Unique angle: template-level testing, archive behavior, representative URL sampling.

Read the template guide
03URL QA

Permalink changes

Did the URL changes break SEO signals?

Redirects, internal links, canonical URLs, and sitemap URLs all depend on the permalink structure.

Unique angle: redirect mapping, internal link validation, canonical and sitemap checks.

Read the permalink guide
04Migration QA

Redesigns and migrations

What changed between the old and new sites?

Lost metadata, changed URLs, new errors, and indexability shifts are easiest to find by comparing crawls.

Unique angle: URL mapping, metadata preservation, crawl comparison, launch QA.

Read the migration guide

Regression detection

How to compare WordPress SEO before and after changes

A single crawl tells you what is wrong today. Two crawls tell you what changed, which is usually the faster route to the cause.

Keep a crawl record from before each update, redesign, or permalink change. After the change, compare the same URLs and the same SEO elements. New issues point to regressions, and issues that disappear confirm your fixes.

SiteAuditLint keeps audit history and shows new, fixed, and changed issues between crawls, so the comparison does not depend on spreadsheets. See Audit Comparison for how it works.

Illustrative example: crawl before and after a plugin update
CheckBaselineAfter updateChange
Indexable URLs1,4201,563+143
Pages with a canonical tag1,4181,275-143
Tag archives set to index0143+143
Pages with exactly one H11,4021,4020
Internal links to 4xx pages330

Numbers are made up to show the method. In this example, one update made 143 tag archives indexable and dropped their canonicals.

Examples

Common WordPress SEO audit findings

These six problems come up again and again. Each one is easy to miss in the dashboard and obvious in a crawl.

Frequent findings and what a crawl shows
FindingLikely causeWhat the crawl shows
A plugin update removes or changes canonical tagsChanged plugin defaults or a conflict between two SEO sourcesPages with no canonical, or canonicals pointing at a different URL than before
A template creates duplicate H1 headingsTheme prints the title as H1 and the content also contains an H1Many URLs of one page type with more than one H1
A category archive becomes indexable unintentionallyArchive setting reset or changed in a plugin updateArchive URLs with index robots meta that were noindex in the baseline
A permalink change creates broken internal linksHard-coded links in content, menus, or widgets still use old URLsInternal links returning 404, or passing through redirects
A redesign removes metadata or changes status codesNew theme ignores existing title and description fieldsMissing titles and descriptions, and URLs whose status changed from 200
A sitemap keeps URLs that now redirect or errorSitemap cached or generated from outdated rulesSitemap URLs returning 3xx, 4xx, or 5xx responses
Before the update
<head>
  <title>Blue Widget | Example Store</title>
  <link rel="canonical"
    href="https://example.com/blue-widget/">
  <meta name="robots" content="index, follow">
</head>

Canonical present and matching the page URL.

After the update
<head>
  <title>Blue Widget | Example Store</title>
  <!-- canonical tag missing -->
  <meta name="robots" content="index, follow">
</head>

Same page, no canonical. Only a crawl of the rendered HTML catches it across every URL.

Checklist

WordPress SEO audit checklist

Reuse this list for every audit. It covers the baseline, the main technical checks, and verification after a change. For a full version, see the technical SEO checklist.

Baseline crawl

  • Crawl before any change
  • Save the results
  • Note the date and the plugin and theme versions

Indexability

  • Status codes are correct
  • Robots meta and headers match intent
  • Canonicals point to the right URL
  • Search visibility setting is off

Metadata

  • No missing or duplicate titles
  • Descriptions present on key pages
  • Title templates produce correct output

Templates

  • One sample URL per page type
  • One H1 per page
  • Archive indexing set deliberately

Links

  • No broken internal links
  • No links to redirected URLs
  • Important pages are linked internally

Schema

  • Markup present in rendered HTML
  • No duplicate blocks
  • Type matches the page

Redirects and sitemaps

  • No redirect chains or loops
  • Sitemap lists only 200, indexable URLs
  • Old URLs redirect to the closest match

After the change

  • Crawl again with the same settings
  • Compare with the baseline
  • Log open issues and the next check date

Tooling

WordPress SEO auditing tools

Four kinds of tools each answer a different question. They work together, and none of them replaces the others.

Configure

WordPress SEO plugins

Set titles, canonicals, robots rules, sitemaps, and schema, and get content-level suggestions while editing.

Does not show: what the finished pages look like across the whole site.

Observe

Google Search Console

Shows search performance and the indexing status Google reports for your URLs.

Does not show: every on-page technical signal, or problems before Google recrawls.

Inspect

Site crawlers

Fetch every URL and report status codes, metadata, headings, links, and technical signals the way a crawler sees them.

Does not show: what changed, unless you keep and compare earlier crawls.

Verify

Crawl comparison

Sets two crawls side by side to expose regressions and confirm that fixes worked.

Needs: a saved baseline from before the change.

Audit the output, then compare it

WordPress SEO problems rarely come from a single page. They come from templates, plugins, and site changes, so the reliable check is a full crawl before and after each change. SiteAuditLint runs that crawl from your own computer and keeps the history for comparison.

Free version audits up to 100 URLs per crawl. Pro adds audit history and comparison.