Free Resource

WordPress SEO Checklist 2026

47 items across 6 categories: initial setup, technical settings, on-page optimization, content quality, schema markup, and ongoing optimization. Each one says why it matters, where to check it, and how to fix it in WordPress.

The WordPress SEO Checklist 2026, with items being worked through and checked off across its six categories

How to use this checklist

Work top to bottom the first time. Initial Setup and Technical Settings are site-wide: a mistake there reaches every post, so fix them before any per-post work.

On-Page SEO and Content Quality apply to each post. Use them before publishing, and on existing posts in order of Search Console impressions: pages Google already shows are where a fix changes clicks soonest. Schema Markup is configured once; Ongoing Optimization recurs weekly and monthly.

This page covers settings, plugins, themes and content. Crawling, indexing, rendering, speed and HTTPS are on the technical SEO checklist. Plugin menu paths match recent versions as of October 2026; if one has moved, search the plugin’s settings for the setting name.

New site or established site: where to start

New site

Finish Initial Setup and Technical Settings before publishing much: permalinks and archives cost nothing to change now and redirects later.

Then run the per-post sections on every post. Ongoing Optimization can wait for a few weeks of Search Console data.

Established site

First note which pages earn impressions in Search Console: those are the pages you must not break.

Check the site-wide sections against them, then work On-Page items on pages with the most impressions and the lowest CTR.

Initial Setup

Site-wide settings you set once. On a site with traffic, treat any change here as a small migration.

Two SEO plugins print duplicate meta tags, canonicals and schema that contradict each other.

Check: Plugins → Installed Plugins. A post’s source should hold exactly one canonical tag.

Fix: Import the old plugin’s titles first (Yoast SEO: Tools; Rank Math: Status & Tools), then deactivate it.

Canonical checker →

It noindexes every page, and is often left on after launch.

Check: Settings → Reading → Search engine visibility.

Fix: Untick it, then request indexing for the homepage in Search Console’s URL Inspection tool.

Indexability checker →Noindex explained →

Most checks here read Search Console reports, which only verified owners see.

Check: Search Console’s property list. A Domain property covers http, https, www and subdomains at once.

Fix: Add a Domain property by DNS record, or paste the HTML tag into Yoast’s Site connections or Rank Math’s Webmaster Tools.

Search Console then shows how many of the listed URLs are indexed.

Check: Search Console → Indexing → Sitemaps. Status should read Success.

Fix: Yoast SEO and Rank Math use /sitemap_index.xml, WordPress alone uses /wp-sitemap.xml, and SEOPress lists its URL in its sitemap settings. Submit it once: Google retired sitemap pings in 2023.

Sitemap checker →

Short URLs without dates or ID numbers stay readable and never need changing.

Check: Settings → Permalinks.

Fix: Choose Post name on a new site. On an established site it changes every post URL, so add a 301 from each old one.

Browsers flag HTTP pages as not secure, and duplicate host versions split each page’s signals.

Check: Settings → General: both addresses on https:// and one host. Then test http:// in the redirect checker.

Fix: Install your host’s certificate, update both addresses and redirect at server level.

Redirect checker →

The site title feeds every title template and your schema. The timezone sets scheduled times and datePublished.

Check: Settings → General.

Fix: Use your brand as the title, not a keyword list. Pick a city as the timezone so daylight saving is handled.

Technical Settings

WordPress settings that decide which URLs exist and get indexed. Crawling, rendering and speed diagnostics are on the technical SEO checklist.

Most tag, author and date archives are thin lists that compete with your posts.

Check: Search Console → Indexing → Pages: look for /tag/, /author/ and date URLs.

Fix: Keep curated categories. Noindex tags, date archives, and author archives on one-author sites, under Yoast SEO → Settings → Categories & tags and Advanced, Rank Math → Titles & Meta, or SEOPress’s Titles & Metas.

Indexability checker →Not-indexed statuses →

Older sites give every upload its own page holding one image: a thin duplicate.

Check: Visit yourdomain.com/?attachment_id= plus an image ID. A theme page means they are live.

Fix: Off on sites installed with WordPress 6.4 or later. Otherwise: Yoast SEO → Settings → Advanced → Media pages, or Rank Math → General Settings → Links → Redirect Attachments.

Page 2 is how Google reaches older posts; a canonical to page 1 or a noindex cuts them off.

Check: Run /category/name/page/2/ through the canonical checker. It should point to itself.

Fix: Plugins do this by default; a theme function is the usual culprit. Leave any “noindex paginated pages” option off.

Canonical checker →

A copied Disallow: /wp-content/ blocks the CSS, scripts and images Google needs to render pages.

Check: Search Console → Settings → robots.txt shows the copy Google last fetched.

Fix: Edit it in Yoast SEO (Tools → File editor) or Rank Math (General Settings). A physical robots.txt file overrides both.

Robots.txt validator →WordPress robots.txt →

Some themes and page builders add their own. When two disagree, Google picks a URL itself.

Check: Run a post and a page through the canonical checker.

Fix: Turn off the theme’s or builder’s SEO output. Use the per-post canonical field only for real duplicates.

Canonical statuses →

WordPress redirects a changed post slug, but not a changed page slug or a deleted post. Those become 404s.

Check: Search Console → Indexing → Pages → Not found (404).

Fix: Add a 301 to the closest page with Rank Math’s Redirections, Yoast SEO Premium or the free Redirection plugin, never to the homepage (Google can treat that as a soft 404).

Redirect checker →Fixing 404s →

Some themes wrap the logo in an H1 or hide content on phones, and Google indexes the mobile version.

Check: Inspect a post: one h1, the post title. URL Inspection → Test live URL shows the mobile render.

Fix: Block themes: Appearance → Editor → Templates. Classic themes: theme options or a child theme.

Uncached pages are rebuilt on every visit, and unresized photos can weigh megabytes.

Check: Search Console → Experience → Core Web Vitals, and PageSpeed Insights per URL.

Fix: Use your host’s page cache or one caching plugin. Convert images to WebP or AVIF. Don’t let a slider lazy-load the main image.

Plugins add scripts to every page, and outdated ones are a common route for hacks and spam pages.

Check: Dashboard → Updates, and Tools → Site Health.

Fix: Delete what you don’t use rather than deactivating it. Turn on auto-updates for maintained plugins on the Plugins screen.

On-Page SEO

For every post and page: before you publish, and on existing posts in order of impressions.

Two posts on one query split clicks and links. Google doesn’t read your plugin’s focus keyword field.

Check: Search Console → Performance → filter the query → Pages. Two of your URLs there means they compete.

Fix: Merge the weaker post into the stronger one with a 301, or re-aim it.

It is the link in search results. Google cuts long titles by pixel width and rewrites vague ones.

Check: The title and meta description checker shows where it gets cut.

Fix: Yoast SEO: Search appearance. Rank Math: Edit Snippet. SEOPress: Titles settings. Topic first, brand last.

Title checker →Changing titles →

They don’t affect rankings, but they are often the snippet that earns the click.

Check: Start with pages that have many impressions and a low CTR for their position.

Fix: Use the same snippet editor. Say what the reader gets in about 150 characters.

Description generator →

Themes print the title as the H1. A second one in the content muddles the page outline.

Check: Block editor → Document Overview → Outline.

Fix: Change any H1 block in the content to H2.

Readers scan by headings, and Google uses them to find sections it can link to directly.

Check: The same Outline view.

Fix: One H2 per subtopic, H3 only inside one. Change size with typography settings, not heading level.

WordPress redirects a changed post slug, but not a changed page slug.

Check: The Slug field in the post settings sidebar (Link or URL before WordPress 6.8).

Fix: Use a few words, like /sourdough-starter/. Changing a page slug later needs a 301.

Screen readers announce it and Google Images reads it. Decorative images get empty alt text.

Check: Run the post through the alt text checker.

Fix: Use the image block’s Alternative text field. Editing it in the Media Library doesn’t update images already in posts.

Alt text checker →

Internal links are how Google finds posts and judges which ones matter.

Check: Run the internal link checker from the post.

Fix: Select text, press Ctrl+K (Cmd+K on a Mac) and search your posts. Anchor text should name the target’s topic.

Internal link checker →Linking audit →

Plugins use it in Article schema and social previews, and Google Discover needs it wide for large previews.

Check: Post sidebar → Featured image, and its size in the Media Library.

Fix: Upload a landscape image 1200px or wider, and keep the max-image-preview:large setting WordPress and SEO plugins add.

Google asks for rel="sponsored" or nofollow on paid links, and unmarked ones risk a manual action.

Check: Search Console → Security & Manual actions → Manual actions.

Fix: Use your plugin’s sponsored toggle if it has one, or Edit as HTML and add rel="sponsored".

Content Quality

The bar for every post before it goes live, and for refreshing old ones.

Searchers decide in seconds. An answer buried under an intro sends them back to the results.

Check: Read the opening against the page’s top query in Search Console.

Fix: Lead with the answer, then the detail. Do the same under each H2.

Google has no minimum word count, but posts that add nothing rarely rank, and Google uses some site-wide quality signals.

Check: Performance → Pages over 16 months: look for near-zero impressions.

Fix: Merge overlaps with 301s, expand the ones worth ranking, and noindex reader-only pages like announcements.

They are easier to scan, and text inside an image can’t be read by search engines.

Check: Look for table screenshots and for steps written as one paragraph.

Fix: Use the List and Table blocks, with a header row.

It keeps readers on your page. Do it for them: Google stopped showing FAQ rich results on May 7, 2026.

Check: Filter the page’s queries in Search Console for how, why, can and does.

Fix: Add them as H2 or H3 questions with short answers.

Readers check dates, and Google’s guidance warns against freshening dates without changing content.

Check: Is a modified date visible, and does it match dateModified?

Fix: Block themes: add it to the Single Posts template (recent versions offer it in the Post Date block). Classic themes: a theme setting.

Your own data, photos and results set a post apart, and Google’s guidance asks for first-hand experience.

Check: Name what in the post a competitor couldn’t copy. If nothing, that is the gap.

Fix: Add your numbers and screenshots, and fill in Users → Profile → Biographical Info for author boxes.

Google’s scaled content abuse policy covers publishing many pages mainly to rank, however they were produced.

Check: Users → All Users: who can publish without review?

Fix: Give writers the Contributor role, which can’t publish, so an Editor checks every fact first.

Schema Markup

Your SEO plugin writes most of this. Re-test after theme or plugin changes. Validation is in the technical checklist.

That Organization or Person becomes every Article’s publisher and gives Google your name and logo.

Check: Rich Results Test on your homepage for Organization; the Schema Markup Validator for Person and WebSite, which the test doesn’t report.

Fix: Yoast SEO → Settings → Site representation, Rank Math → Titles & Meta → Local SEO, or SEOPress’s Social Networks settings. Use a logo at least 112px square.

Plugins build it from WordPress data, so gaps mean missing data: no featured image, or an author called “admin”.

Check: Rich Results Test: author, datePublished, dateModified and image.

Fix: Set a featured image on every post and a real display name in Users → Profile.

Article schema generator →

Google shows the path in desktop results (mobile shows only the domain since January 2025), and visible breadcrumbs link posts to categories.

Check: Rich Results Test on a post.

Fix: Enable them in Yoast SEO → Settings → Advanced, Rank Math → General Settings, or SEOPress PRO, then add the plugin’s breadcrumb block or shortcode to your post template.

Google needs name plus one of offers, review or aggregateRating to show price, stock or ratings.

Check: The WooCommerce SEO checker, then Search Console’s Product snippets and Merchant listings reports.

Fix: WooCommerce outputs basic markup; Yoast’s WooCommerce add-on and SEOPress PRO add fields such as GTIN and brand, and Rank Math replaces it with its own. Keep one source.

WooCommerce SEO checker →WooCommerce SEO →

It states your address, phone and hours in a form search engines don’t have to guess.

Check: Rich Results Test on your contact page.

Fix: Use Rank Math’s Local SEO, Yoast Local SEO (part of Yoast SEO Premium) or our generator, and match your Business Profile exactly.

LocalBusiness generator →

Google ignores ratings a business gives itself in Organization or LocalBusiness markup, and fake ones risk a manual action.

Check: Search Console’s Review snippets report and Manual actions.

Fix: Let real WooCommerce reviews feed aggregateRating. Skip FAQ and HowTo markup too: Google no longer shows either rich result.

Ongoing Optimization

Weekly and monthly tasks that keep a set-up site improving.

Positions 5 to 15 already have Google’s attention, so small fixes can move them.

Check: Performance, last 28 days: sort queries by position and pick those at 5 to 15 with the most impressions.

Fix: Run the On-Page items on the page that ranks.

Striking distance keywords →

Impressions without clicks are traffic you have earned but aren’t getting.

Check: Upload a Search Console export to the CTR calculator.

Fix: Rewrite the title and description, note the date, and compare 28 days before and after.

CTR calculator →

Pages dropping out of the index are an early sign of a setting, theme or content problem.

Check: Indexing → Pages: compare the reasons with last month.

Fix: Most WordPress causes are in Technical Settings above.

Search Console errors →

Facts date and competitors publish. Updating a ranking post is usually quicker than ranking a new one.

Check: Performance → Pages → Compare the last 3 months with the 3 before.

Fix: Update facts and screenshots, cover the new queries it gets, and keep the URL.

Google finds new posts through pages it already crawls often.

Check: Search Console → Links → Top linked pages (internal).

Fix: Search Posts for the topic and add links from two or three older posts.

Updates can add scripts or break caching, and field data takes about a month to show it.

Check: PageSpeed Insights on the homepage and a typical post.

Fix: Roll back or reconfigure the update behind a drop.

Broken links, redirect chains and missing titles pile up as you edit.

Check: The broken link checker, or Screaming Frog’s free version for up to 500 URLs.

Fix: Fix broken links in the post itself rather than adding redirects.

Broken link checker →

As of October 2026, Search Console’s Generative AI report shows them by page, country, device and date, without queries or clicks. Sites with few AI impressions may not see the report yet.

Check: Search Console’s Performance section, under Generative AI.

Fix: Google says the usual practices apply: direct answers, first-hand detail and clear structure.

AI Overviews playbook →

Worked example: a short audit of a 140-post food blog

A composite of a typical site, not a client: a five-year-old recipe blog with one author, Rank Math and a page-builder theme. The audit found six problems.

  1. Tag archives were indexable, and most of its 600 tags held one post.
  2. Attachment pages were live: the site predates WordPress 6.4.
  3. A theme function canonicalized category page 2 onward to page 1.
  4. Three posts competed for “sourdough starter” and took turns ranking.
  5. Forty titles were cut off because the brand appeared twice, typed by hand and added by the template.
  6. Most images uploaded before 2023 had no alt text.

They were fixed in that order. The three site-wide settings took minutes and affect every URL, so they went first, each verified with the canonical checker or indexability checker. The sourdough posts were merged into the strongest with 301s, since no title rewrite fixes two pages splitting one query. Titles followed, highest impressions first. Alt text came last: slow work, done in batches from the most-visited posts.

Every change went into a dated log, so the next Performance report could be read against it.

What this checklist does not cover

  • Server, CDN and rendering diagnostics, Core Web Vitals in depth, HSTS and hreflang: see the technical SEO checklist.
  • Keyword research and content strategy. The checklist assumes you know what a post is for.
  • Link building and digital PR.
  • WooCommerce SEO beyond Product markup: see the WooCommerce SEO guide.
  • Google Business Profile and local rankings, multisite networks, and headless WordPress.

Frequently asked questions

Does it matter whether I use Yoast SEO, Rank Math or SEOPress?

Not for this checklist. All three handle titles, descriptions, canonicals, robots meta, sitemaps and schema. They differ in paid extras: Rank Math’s free version includes a redirect manager, while Yoast SEO and SEOPress keep theirs for paid tiers (SEOPress’s free version can still redirect a single post). Pick one and never run two.

Should I chase a green SEO score in my plugin?

No. Google reads neither the focus keyword nor the score. The score checks fixed rules, such as the keyword in the slug. Use it as a reminder, then write for the queries Search Console shows the page ranking for.

Should I still add FAQ or HowTo schema?

Not for rich results. Google stopped showing FAQ rich results on May 7, 2026, and deprecated HowTo rich results in 2023. A visible FAQ can still help readers.

How often should I rerun the whole list?

Run the ongoing items on their schedule. Rerun Initial Setup and Technical Settings after a theme change, an SEO plugin switch, a migration or a permalink change, and once a year otherwise.

Can a tool do the ongoing items for me?

Partly. RankHive reads Search Console data for a WordPress site connected through its free plugin, drafts fixes such as titles, meta descriptions, internal links and alt text, and writes each one into your SEO plugin’s fields or the post only after you approve it. It covers posts and pages, not WooCommerce products.

Get title, link and refresh fixes drafted for you

RankHive helps with several of the ongoing items. It reads your Search Console data, finds titles and meta descriptions that underperform, missing internal links and posts due a refresh, drafts each fix, and waits for your approval before changing WordPress.

Find my SEO fixes

Nothing changes on your site until you say yes.