Skip to content
SEO

The WordPress SEO Checklist for 2026

Twenty checks across settings, content, speed and structure that catch most of what breaks WordPress SEO, in the order to run them.

By Jeremy ZavaAI-assisted, reviewed by Ibrahem Helal5 min read

A WordPress SEO checklist covers four areas in order: indexing settings, on-page metadata, technical health such as speed, sitemaps and duplicate pages, and content structure. Run the indexing check first, because one wrong toggle in Reading settings can block the entire site and make everything else on this list pointless.

This is the working list version of the full WordPress SEO guide — shorter, ordered to run in sequence, and built for you to actually check off rather than read once.

On this page

Is the site actually allowed to be indexed?

Check this before anything else on the list. Go to Settings → Reading and confirm "Discourage search engines from indexing this site" is unchecked [2]. Sites launched from staging keep this box checked more often than you'd expect, and every other item below is wasted effort while it is on.

While you are there, confirm robots.txt (usually at yourdomain.com/robots.txt) is not blocking /wp-content/ entirely, which some security plugins do by default and which can hide your images and some assets from crawlers along with the parts you actually meant to protect.

This check takes thirty seconds and it is worth doing on a recurring basis, not just once. Staging sites get cloned to production with the setting still on, security plugins reset it during an update, and a developer troubleshooting something unrelated sometimes flips it and forgets to flip it back. None of those show up as an error anywhere in WordPress; the only symptom is that the site quietly stops appearing in search results over the following weeks.

Does every page have a unique title and description?

Not by default — core WordPress has no field for a meta description, and without a plugin every page can inherit the same site-wide title tag [1]. One SEO plugin (Yoast, Rank Math or similar; see our comparison of WordPress SEO plugins) adds the fields; filling them in per page is still manual work.

The plugin does the technical part — it adds the field and writes the tag into the page's <head>. It does not write the description for you, and a page left with the plugin's auto-generated fallback, usually the first sentence of the post pulled verbatim, reads worse in search results than one written on purpose. Budget time for this per page, not just once for the plugin setup.

  1. Write a unique title for every page and post

    Under 60 characters, with the primary keyword near the front. A plugin can pull a default from the page title, but a default is not the same as written for search.

  2. Write a unique meta description

    150-160 characters, a real sentence that earns the click. An empty field lets Google pull a snippet from the page instead, which is unpredictable.

  3. Set the canonical tag on any page reachable at more than one URL

    With and without a trailing slash, through a filter parameter, or duplicated by an AMP or print version.

  4. Confirm the H1 matches the page's actual topic

    One H1 per page, and it should read like the answer to the query the page targets, not a generic template string.

Is there a working XML sitemap submitted to Google?

Yes, if a plugin is generating one — WordPress core does not ship a full sitemap by default [4]. Most SEO plugins add one automatically at /sitemap_index.xml or similar; confirm it exists, loads without an error, and only lists pages you actually want indexed.

What belongs in the sitemap, and what usually sneaks in by accident
Belongs in the sitemapUsually should not be there
Published posts and pagesDraft or password-protected pages
Product and category pages that rank on their ownTag archives with two or three thin posts
The homepage and core navigation pagesAuthor archive pages on a single-author blog
Images you want in Google ImagesInternal search result pages

Submit the sitemap URL in Google Search Console once, and confirm Search Console reports it as processed without errors rather than assuming it worked because the file loads in a browser. A sitemap that returns a 200 status can still list the wrong pages, or list pages that themselves return an error, and neither of those shows up unless you actually read what Search Console reports back.

Revisit this whenever you change SEO plugins. Switching from one plugin to another often regenerates the sitemap at a new URL, which leaves the old one either gone or stale, and Search Console still pointed at whichever address you submitted first. Update the submitted URL at the same time you make the switch, not after you notice traffic has dropped.

If you're running this checklist on HubSpot instead of WordPress, most of the same checks apply, but the sitemap and indexing settings live in different places — HubSpot's SEO tooling covers where to find them.

Are pages loading fast on a real phone, not just your laptop?

Test with a throttled connection or a mid-range device, because your office wifi and a new laptop will hide almost every WordPress speed problem. Core Web Vitals are measured on real user devices, and a WordPress site with a bloated theme and no caching can look fine locally and fail badly in the field.

Run the homepage and your two or three highest-traffic pages through a lab tool that lets you simulate a slower connection, and note the result rather than trusting a gut feeling of "it seems fast." A theme demo that felt instant on a fiber connection in an office is a different product on a mid-range phone over mobile data, and that gap is exactly where most WordPress sites quietly lose both rankings and conversions.

Is duplicate content leaking out through default archives?

Almost certainly some, unless someone has already addressed it — WordPress generates a category page, a tag page and a date archive automatically for every post, and a small site can end up with thin, near-duplicate archive pages outnumbering its real content. This is default behavior, not something you did wrong.

Noindex the archive types you do not need for navigation (most SEO plugins have a toggle for this), and make sure post excerpts, not full posts, appear on the archives you keep, so the search engine sees the full post as the canonical version of that content once, not twice.

Is every image doing its share of the work?

Mostly not, on a site nobody has audited for this specifically. Uploaded images straight from a phone or a stock library are usually two to ten times larger than they need to be for how they are displayed, and WordPress does not compress them for you on upload by default.

Set alt text on every image that carries meaning — not the filename, a plain description of what the image shows, which is also what makes it eligible for Google Images. Resize images to the dimensions they are actually displayed at before upload rather than shrinking a full-resolution photo with CSS, and use a plugin or host-level setting to serve modern formats like WebP automatically. None of this is complicated; it is simply easy to skip because a page still looks correct with an oversized image on it.

Check that every important page is reachable within two or three clicks from the homepage, and that new posts link back to relevant older ones rather than sitting as orphans. WordPress's default "related posts" behavior, where it has one, is usually too thin to carry this on its own.

A simple habit closes most of the gap: every time you publish a post, add two or three links to it from older, related posts, and one link from it back to a cornerstone page. Our Next.js SEO checklist covers the same internal-linking logic for a site built without WordPress at all, if that comparison is useful.

Questions people also ask

  • How often should I run a WordPress SEO checklist?

    Once fully at launch, then the indexing and settings checks again after any theme, plugin or hosting change. A lighter content and link pass once a quarter catches most of what decays on its own.

  • What is the single most common WordPress SEO mistake?

    Leaving 'Discourage search engines from indexing this site' checked after launch. It is one setting, it blocks the whole site from every search engine, and it is easy to forget because nobody revisits Reading settings later.

  • Do I need a plugin to complete this checklist?

    For most of it, yes. WordPress core has no field for a meta description or a way to set schema, so one SEO plugin — not two at once — covers the checks that core cannot.

  • How long does it take to work through the whole checklist?

    A first pass on a small site is two to four hours once you know where each setting lives. Fixing what it finds, especially speed and duplicate content, usually takes longer than finding it.

Sources

  1. Search engine optimization — WordPress.org Documentation (checked 23 September 2026)
  2. Reading Settings screen — WordPress.org Documentation (checked 23 September 2026)
  3. SEO starter guide — Google Search Central (checked 23 September 2026)
  4. Build and submit a sitemap — Google Search Central (checked 23 September 2026)

Run this checklist against your own WordPress site

Book a free 30-minute consultation with Ibrahem and Jeremy. We look at your site while we talk, and you leave with a prioritised plan.

Who wrote this

Jeremy ZavaCo-founder

Leads growth and client partnerships.

Works on: CRO, SEO

Reviewed before publishing by Ibrahem Helal, Co-founder.

Posts by Jeremy Zava

More on this