Content and backlinks get the attention. Technical SEO is what lets Google actually find, understand, and rank the pages you have already built.
Most WordPress SEO advice focuses on keywords, content, and backlinks — the visible layer. Technical SEO is the invisible layer underneath it: whether Google can actually find your pages, understand what they are about, and serve them without hitting friction along the way. Get the technical layer wrong and even excellent content struggles to rank.
We run some version of this checklist on every WordPress project we touch, whether it is a new build or an existing site we are auditing. None of it is exotic. Most of it is discipline — the kind of thing that gets skipped under deadline pressure and then quietly costs months of rankings to fix.
Indexing and crawlability
Before anything else, Google needs to be able to find and crawl your pages without obstruction. This is the foundation everything else in this checklist sits on top of.
XML sitemap present and submitted to Search Console
Your XML sitemap is the list of pages you want Google to know about. Yoast SEO and Rank Math both generate one automatically, usually at /sitemap_index.xml. Confirm it exists, confirm it only lists pages you actually want indexed (not tag archives, thin author pages, or internal search results), and submit it in Google Search Console under Sitemaps. Check back after a few days to confirm it reads 'Success' rather than 'Couldn't fetch'.
robots.txt correctly configured
robots.txt tells search engines which parts of the site they should not crawl. The most common failure we see is a staging robots.txt that never got updated — Disallow: / — silently blocking the entire live site from being crawled. Check yoursite.com/robots.txt directly after every launch and confirm nothing important is blocked. It should disallow admin areas and internal search result pages, never marketing or product pages.
Canonical tags on every page
Canonical tags tell Google which version of a page is the authoritative one when duplicates or near-duplicates exist — common with WooCommerce filter combinations, print views, or tracking parameters. Every page should carry a self-referencing canonical tag by default, and any parameterized or duplicate variant should canonicalize back to the clean URL. Check this in the page source or with a crawler like Screaming Frog before launch.
Structured data and schema markup
Schema markup does not directly move rankings, but it changes how Google understands and displays your pages — often the difference between a plain blue link and a rich result with a star rating, FAQ dropdown, or breadcrumb trail.
- ✓Organization schema — name, logo, contact details, social profiles
- ✓BreadcrumbList schema — lets Google display the page's breadcrumb path in results instead of the raw URL
- ✓FAQPage schema on pages with genuine Q&A content — can trigger expandable rich results directly in search
- ✓Article schema on blog posts — headline, author, and date published
- ✓LocalBusiness schema for location-based businesses — address, hours, service area
Rank Math and Yoast Premium both include schema generators for the common types. Validate every schema block in Google's Rich Results Test before considering it done — a single missing required field can invalidate the whole thing silently.
Core Web Vitals in the green
Google has used Core Web Vitals as a ranking signal since 2021. Run every template through PageSpeed Insights — homepage, a blog post, a product or service page — and check LCP (under 2.5s), INP (under 200ms), and CLS (under 0.1). We build to this standard by default on every project rather than treating it as a post-launch fix.
Mobile score matters more than desktop
Google indexes and ranks primarily using the mobile version of your site. A fast desktop score with a poor mobile score is not a pass — it is a site that will underperform in search regardless of what the desktop number says.
Mobile-friendliness
Beyond raw speed, check that tap targets are large enough, text is readable without zooming, navigation works without hover, and nothing causes horizontal scroll on a real phone. Google's Mobile-Friendly Test is a fast first check, but testing on an actual device catches issues the automated tool misses.
HTTPS across the entire site
HTTPS has been a baseline ranking signal for years, and it is table stakes for user trust. Confirm every page loads over HTTPS with a valid certificate, that HTTP requests redirect to HTTPS, and that there is no mixed content — images, scripts, or stylesheets still loading over HTTP and triggering browser warnings.
Clean, logical URL structure
- ✓Short, readable URLs that reflect the page's actual content — /services/seo, not /?p=482
- ✓Consistent structure across similar page types (all blog posts under /blog/, all services under /services/)
- ✓Lowercase, hyphenated slugs — never underscores or spaces encoded as %20
- ✓No unnecessary nesting — three levels deep is usually the practical maximum before it hurts both users and crawl efficiency
No orphaned pages or broken internal links
An orphaned page — one with no internal links pointing to it — is much harder for Google to find and rank, even if it is in the sitemap. Crawl the site with Screaming Frog or a similar tool and check for pages with zero inbound internal links. Fix broken internal links (usually caused by old page titles or slugs changing) the same way — a full crawl will surface every 404 the site is quietly serving to its own visitors.
Redirect hygiene
Every time a URL changes or a page is removed, it needs a 301 redirect to the most relevant replacement — never a blanket redirect to the homepage, and never left as a 404 for a page that used to rank.
- ✓Use 301 (permanent) redirects for anything that has moved for good — 302s tell Google the move is temporary and pass less link equity
- ✓Redirect straight to the final destination — a chain of three redirects to reach one page wastes crawl budget and slows the request
- ✓Audit redirects periodically — plugins and theme changes can quietly break redirect rules over time
- ✓Never redirect unrelated pages to the homepage purely to avoid a 404 — Google treats this as a soft 404 and it rarely helps rankings
Heading hierarchy — one H1 per page
Every page should have exactly one H1 that describes what the page is about, followed by a logical H2/H3 structure underneath it. Page builders make it easy to accidentally create multiple H1s or to skip straight from H1 to H4 for a visual size, not a structural reason. Check heading structure with a browser extension like SEO Meta in 1 Click or in DevTools — it is a two-minute check that catches a surprisingly common mistake.
Image optimization and alt text
Every image needs descriptive alt text — not for keyword stuffing, but because it is how screen readers and Google's image crawler understand what the image contains. Beyond alt text, compress and resize images to their actual display dimensions, convert to WebP where possible, and lazy-load anything below the fold. This overlaps directly with Core Web Vitals — unoptimized images are the single most common cause of a poor LCP score.
Avoiding duplicate and thin content
WordPress sites accumulate duplicate and near-duplicate content more easily than people expect: tag and category archives that duplicate a post's content, printer-friendly versions, staging content that never got removed, or a dozen near-identical location pages built from the same template with only a city name swapped. Google can struggle to know which version to rank, and sometimes ranks none of them well.
Set thin archive pages to noindex where they add no unique value, consolidate near-duplicate pages where possible, and make sure any templated pages (location pages, product variants) have genuinely unique content — not just a find-and-replace of a place name into an otherwise identical paragraph.
Internal linking strategy
Internal links tell Google which pages matter most and help it understand the relationships between them. Link from high-authority pages (usually the homepage and top blog posts) down to important pages you want to rank, use descriptive anchor text rather than 'click here', and make sure every page is reachable within a few clicks of the homepage.
Technical SEO is not a one-time project. A plugin update, a theme change, or a new page template can quietly reintroduce a blocked robots.txt rule, a missing canonical, or a broken heading structure. Re-run this checklist after any significant change to the site.
The full checklist
- 1.XML sitemap present, accurate, and submitted to Search Console
- 2.robots.txt reviewed — nothing important accidentally blocked
- 3.Self-referencing canonical tags on every page, duplicates canonicalized correctly
- 4.Organization, BreadcrumbList, and Article/FAQPage schema implemented and validated
- 5.Core Web Vitals green on mobile for every key template
- 6.Mobile-friendly test passed on a real device, not just the simulator
- 7.HTTPS enforced site-wide with no mixed content
- 8.Clean, consistent, lowercase URL structure
- 9.No orphaned pages — every page reachable via internal links
- 10.No broken internal links or unresolved 404s
- 11.301 redirects for every moved or removed URL, no redirect chains
- 12.One H1 per page with a logical H2/H3 hierarchy underneath
- 13.Descriptive alt text and compressed, correctly sized images
- 14.No thin or duplicate content across near-identical templated pages
- 15.Deliberate internal linking from high-authority pages to priority pages
Want your technical SEO handled properly?
Every Webicode build ships with Core Web Vitals green, clean schema, and a technical SEO foundation done right from day one. Our monthly SEO retainers pick up from there.
Talk to our SEO teamW. — Founder & Lead Designer, Webicode
10+ years building WordPress sites and UI/UX products for startups and agencies worldwide. Webicode has delivered 1,500+ custom projects across the UK, US, and Australia.