WordPress SEO Checklist
I start every WordPress project by unchecking one checkbox, and once I stopped ignoring performance until after content was live. That order matters.
How I’d prioritise
- Uncheck 'Discourage search engines from indexing this site' under Settings > Reading before you do anything else.
- Set permalinks to Post name and verify the XML sitemap is generated and submitted to Google Search Console.
- Run a crawl with Screaming Frog before and after launch to catch broken links, redirect loops, and orphaned pages.
- Add unique title tags and meta descriptions to every post and page—your SEO plugin can handle the defaults, but customise them.
- Test mobile friendliness and Core Web Vitals after you fix the foundation, not before.
The list
I keep a core set of checks that I run on every new WordPress site. The order is deliberate: anything that blocks crawling or indexing comes first.
This list looks long, but most items are one-time fixes. The real cost is forgetting a step, not doing the work.
When to stop
The checklist tempts you to keep tweaking. I stop when the answer to each question is yes: Is the site crawlable? Are the indexable pages accessible? Are canonical tags present and correct? Do most pages load within 2.5 seconds of First Contentful Paint? If yes, I ship it.
I draw the line before image compression obsession. Shaving 10 KB off a photo that appears on one page is less impactful than writing a paragraph that earns a featured snippet. Performance matters, but perfect scores on Lighthouse can lure you into diminishing returns. I aim for a 'good' LCP and First Input Delay, not a perfect 100.
Duplicate content is another stopping point. I check for thin or near-duplicate pages with a [technical SEO audit](/technical-seo/), but I don't rewrite every two‑sentence product description unless it's in a competitive niche. Google handles minor duplication better than it used to.
Finally, I stop because the checklist is a foundation, not a ranking guarantee. Once the technical basics are solid, I shift time to content quality and user intent. If the site has a clear URL structure, unique titles, and a working sitemap, the remaining gains come from the words on the page, not the settings behind it.
What I got wrong
I left the 'Discourage search engines' checkbox ticked for three weeks after launching a client site. I had assumed the SEO plugin would override it. It doesn't. Now I check that setting first and confirm with Google Search Console's URL Inspector that the page is indexable.
I blocked /wp-includes/ in robots.txt without realising it also blocked some CSS and JavaScript files Google needed to render page layouts. The result: Google saw blank pages for weeks. Now I only disallow directories I've verified don't affect rendering. I use the robots.txt testing tool in Search Console to check.
I obsessed over meta keywords for months in 2018. I added comma-separated lists to every post, believing they were still a ranking factor. They weren't. The time spent on keywords could have fixed redirect chains or cleaned up [duplicate content](/duplicate-content/) on tag archives.
I also ignored [pagination](/pagination/) on my first large WordPress site. Category pages stacked thousands of posts without rel=next/prev. Google indexed every page, but none of them ranked because each was a weak page of excerpts. Now I set the 'break pages' limit in the reading settings and use proper pagination markup.
The pattern: big mistakes come from assumptions. Assume nothing. Verify everything with a crawl and a search console check.
Next step
Quick answers
Do I need an SEO plugin like Yoast or Rank Math for WordPress?
You can handle titles, sitemaps, and schema manually, but an SEO plugin saves time and reduces errors. I use one because it centralises the controls and prevents common mistakes like missing meta descriptions. The built-in WordPress options are not enough for competitive sites.
Should I use Yoast or Rank Math?
I have used both. Rank Math is more feature-rich out of the box and offers better schema control. Yoast has a simpler interface and stronger redirection management. Pick whichever feels cleaner to you—both meet the same baseline requirements. I currently lean toward Rank Math for its built-in 301 redirect manager.
How often should I regenerate my XML sitemap?
Your SEO plugin should regenerate it automatically when you publish or update a post. I revisit the sitemap in Google Search Console after any major content migration or site structure change. If you are adding hundreds of pages at once, force a manual regeneration and resubmit the sitemap URL.
Is it safe to block WordPress admin folders like /wp-admin/ in robots.txt?
Yes, blocking /wp-admin/ is safe because search engines do not need to index your login page or dashboard. Blocking /wp-includes/ is riskier because it may contain CSS, JS, and images that help Google render the page. I block /wp-admin/ and leave /wp-includes/ open. Test using the robots.txt tester in Search Console.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Search Central — Authoritative guidance on indexing, crawling, sitemaps, and canonical tags.
- Yoast SEO Help — Practical implementation details for WordPress-specific checklist items like sitemaps and title tags.
- WordPress Developer Resources — Reference for permalink settings, reading settings, and platform-specific behaviour.
- Google Search Console Help — Used to verify sitemap submission, crawl errors, and URL inspection results.
Notes from Callum Bennett.