All articles

WordPress SEO Checklist: Technical and On-Page Steps That Matter

A practical WordPress SEO checklist covering indexing, permalinks, sitemap, robots.txt, canonical, hreflang, titles and internal links, plus fixes for indexing issues.

Cover: SEO checklist card with completed items and a magnifier
In this article

A WordPress SEO checklist should cover three layers in this order: make sure Google can crawl and index your pages, fix the technical foundations (permalinks, sitemap, robots.txt, canonical tags, hreflang), and then optimize each page’s title, content and internal links. Skipping the first two layers is the most common reason good content never shows up in search.

Use the sections below as a working checklist. Each one explains what to check, why it matters and where the usual traps are. None of it guarantees a ranking, but it removes the avoidable obstacles.

Key takeaways

  • Indexing comes before optimization: if Google cannot crawl or index a page, nothing else on it matters.
  • WordPress already generates a sitemap, canonical tags and a virtual robots.txt. Your job is to verify them, not to rebuild them.
  • Every important page needs a unique title, a clear meta description, one H1, descriptive URLs and internal links pointing to it.
  • Google Search Console is the source of truth for indexing problems. Check it regularly.
  • A single SEO plugin is enough. Choose Yoast SEO or Rank Math, not both.

Section 1: Foundation checks (do these first)

  • Turn off “Discourage search engines”. In the dashboard open Settings, then Reading, and make sure “Discourage search engines from indexing this site” is unchecked. Developers often tick it on staging and forget to clear it at launch.
  • Use HTTPS everywhere. Your site and all internal links should load over HTTPS, with HTTP redirecting to HTTPS in one step.
  • Pick one domain version. Choose either the www or non-www address and redirect the other to it, so you do not split signals between two copies of the site.
  • Verify the site in Google Search Console. Add the domain property, then check the Page indexing and Sitemaps reports. Bing Webmaster Tools is a worthwhile extra.
  • Install one SEO plugin. Yoast SEO and Rank Math are both established options. They manage titles, meta descriptions, robots directives and sitemap settings. Running two creates duplicate tags.

The official Google Search Central documentation is the best reference for how crawling and indexing work.

Section 2: Technical WordPress SEO checklist

In Settings, then Permalinks, choose the “Post name” structure so URLs look like /wordpress-seo-checklist/ instead of /?p=123. Short, readable URLs help users and search engines understand the page. Decide this before launch: changing the structure on a live site requires 301 redirects from every old URL, or you lose traffic.

Rules for good slugs:

  • Use lowercase words separated by hyphens.
  • Include the main topic, drop filler words, and keep it short.
  • Do not change a published URL without a redirect.

XML sitemap

WordPress core generates a sitemap automatically at /wp-sitemap.xml, and SEO plugins provide their own, often at /sitemap_index.xml. Use one, not both: if your SEO plugin takes over, it normally disables the core sitemap.

  • Open the sitemap in your browser and confirm it lists your real pages.
  • Make sure it does not list noindex pages, thin tag archives or utility pages.
  • Submit it in Search Console under Sitemaps.

robots.txt

WordPress serves a virtual robots.txt unless you upload a physical file. A safe, typical version looks like this:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

Two warnings. First, never block CSS or JavaScript folders, because Google needs them to render your pages. Second, robots.txt controls crawling, not indexing. To keep a page out of search results, use a noindex robots meta tag and leave the page crawlable so Google can see the tag. On WooCommerce sites, also keep cart, checkout and account pages out of the index.

Canonical tags

A canonical tag tells Google which URL is the preferred version when the same content is reachable at several addresses (tracking parameters, filtered lists, pagination, www versus non-www). WordPress and SEO plugins add self-referencing canonicals to normal pages. Check three things:

  • Each important page has a canonical pointing to itself on the correct HTTPS domain.
  • Filtered and parameter URLs canonicalize to the clean version.
  • You are not setting conflicting canonicals through both a plugin and a theme.

Hreflang for multilingual sites

If you publish the same content in more than one language, such as English and Arabic, hreflang annotations tell Google which version to show to which audience. A translation plugin like Polylang or WPML generally adds them; confirm that the output is correct.

<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="ar" href="https://example.com/ar/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />

Annotations must be reciprocal: the English page points to the Arabic one and the Arabic page points back. For right-to-left and bilingual builds, see how to build an Arabic RTL WordPress website.

Speed, mobile and structured data

Pages should work well on phones and load quickly. The step-by-step approach is in how to speed up WordPress and pass Core Web Vitals. For rich results such as product ratings and breadcrumbs, read schema markup for WordPress and WooCommerce.

Redirects and errors

  • Redirect changed or deleted URLs with a single 301 to the most relevant live page.
  • Avoid redirect chains (A to B to C).
  • Return a proper 404 page for missing content instead of sending everything to the homepage.

Section 3: On-page WordPress SEO checklist

Title tags and meta descriptions

  • Give each page a unique title that puts the main keyword near the start and describes the page honestly. Aim for roughly 50 to 60 characters so it is less likely to be truncated.
  • Write a meta description that reads like a short pitch with a reason to click. Google may rewrite it, but a good one often gets used.
  • Never use the same title or description on multiple pages.

Headings and content structure

  • One H1 per page, usually the title. Use H2s for main sections and H3s for sub-points.
  • Answer the searcher’s question near the top, then add depth: steps, examples, comparisons and FAQs.
  • Write for people first. Use the main keyword and natural variants where they fit, and skip mechanical repetition.
  • Update old posts when facts change, rather than publishing thin new ones.

Images

  • Use descriptive file names and meaningful alt text that explains what the image shows.
  • Compress images and set width and height to avoid layout shifts.
  • Do not use an image where real text would do, for example for headings.

Internal linking

Internal links tell Google which pages matter and how topics relate. They also keep visitors moving through your site.

  • Link new articles from older, related ones, and link back.
  • Use descriptive anchor text instead of “click here”.
  • Make sure every important page is reachable within a few clicks from the homepage.
  • Build topic clusters: one broad guide supported by narrower articles that link to it. For store pages specifically, see WooCommerce product page SEO.

URLs, categories and tags

Keep categories few and meaningful. Use tags sparingly, because dozens of near-empty tag archives create thin duplicate pages. Consider noindex for archives that offer no value to searchers.

Section 4: Search Console and indexing issues

Open Search Console, go to Pages (the Page indexing report) and read the reasons listed for pages that are not indexed. The most common ones:

StatusWhat it usually meansWhat to do
Crawled, currently not indexedGoogle saw the page but did not think it worth indexing yetImprove depth and uniqueness, add internal links, then request indexing
Discovered, currently not indexedGoogle knows the URL but has not crawled itImprove internal linking and site quality, check server speed
Duplicate, Google chose different canonicalGoogle prefers another URLReview canonicals and consolidate duplicates
Excluded by noindex tagA noindex directive is presentRemove it if the page should rank
Blocked by robots.txtCrawling is disallowedEdit robots.txt if the block is unintended
Page with redirectThe URL redirects elsewhereUsually fine; make sure only final URLs are in your sitemap

Use the URL Inspection tool to see how Google views a single page and to request indexing after a meaningful update. Requesting indexing does not guarantee it, and repeated requests do not speed things up.

Section 5: Ongoing maintenance

  • Review Search Console monthly for new errors, indexing drops and queries that are almost ranking well.
  • Re-check the sitemap, robots.txt and noindex settings after any redesign, migration or plugin change.
  • Run a crawl with a tool such as Screaming Frog or a plugin-based audit to find broken links and missing titles.
  • Keep WordPress, themes and plugins updated; a hacked or slow site hurts search visibility.
  • Read the WordPress documentation when core settings change.

Frequently asked questions

What is the best SEO plugin for WordPress?

Yoast SEO and Rank Math are the two most widely used, and both handle titles, meta descriptions, sitemaps and schema well. Pick one based on interface preference and the features you need, and run only one at a time.

How do I know if my WordPress site is indexed by Google?

Open Search Console and check the Page indexing report, or paste a URL into the URL Inspection tool. You can also search site:yourdomain.com in Google for a rough view, but Search Console is more reliable.

Do I need to edit robots.txt in WordPress?

Usually not. The default virtual robots.txt is fine for most sites. Edit it only to add your sitemap line or to block sections that should not be crawled, and be careful never to block CSS or JavaScript.

“Post name” is the common choice because the URLs are short and readable. Whatever you choose, set it before launch and avoid changing it later without 301 redirects.

How long does WordPress SEO take to work?

It varies with competition, site age and content quality, and nobody can promise a timeline. Technical fixes can be picked up within days or weeks, while ranking improvements from content and links usually build over months.

Conclusion

Work through this WordPress SEO checklist in order: indexing first, technical foundations second, on-page optimization third, and Search Console monitoring ongoing. Doing the basics well is more valuable than chasing advanced tricks.

I am Hossam Hamdy, a Front-End and WordPress developer in Mansoura, Egypt, with 4+ years of experience and 25+ websites and stores delivered for clients in Saudi Arabia, the UAE and Egypt. If you want a technical SEO review or a clean, fast build, contact me through the contact section and tell me about your site. You can also read more about me and my work.