The five most critical technical SEO checks every developer should run in 2026 are crawlability validation through robots.txt and sitemaps, Core Web Vitals optimization targeting sub-2.5s LCP, structured data implementation with JSON-LD, HTTPS enforcement with security headers and mobile-first responsive verification. Miss any one of these and Google deprioritizes your pages regardless of content quality.
How Do You Audit Crawlability and Indexing?
Search engines can’t rank what they can’t find. Crawlability is the foundation of every technical SEO strategy. Before optimizing content or building links, confirm that Googlebot can discover, crawl and index your pages without obstruction.
robots.txt Configuration
Your robots.txt file controls which URLs search engine crawlers can access. A misconfigured directive can block your entire site from indexing. Place this file at your domain root and validate it in Google Search Console under the robots.txt Tester tool.
# robots.txt - Place at domain root (e.g., https://example.com/robots.txt)
# Allow all crawlers access to public content
User-agent: *
Allow: /
# Block admin, login and internal search result pages
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
# Allow CSS and JS so Google can render pages correctly
Allow: /wp-includes/*.js
Allow: /wp-includes/*.css
Allow: /wp-content/*.js
Allow: /wp-content/*.css
# Point to XML sitemap
Sitemap: https://example.com/sitemap_index.xmlKey rules: never block CSS or JavaScript files. Google needs these to render your pages. If Googlebot can’t render, it can’t evaluate layout, content priority or Core Web Vitals.
XML Sitemap Setup and Validation
Your XML sitemap tells search engines which pages exist and when they last changed. WordPress plugins like Yoast SEO or Rank Math generate sitemaps automatically. Validate yours by loading /sitemap_index.xml in a browser and checking for HTTP 200 responses on every nested sitemap URL.
Critical checks for your sitemap:
- Every indexed page appears in the sitemap
- No
noindexpages are listed in the sitemap lastmoddates reflect actual content changes, not build timestamps- Total URLs stay under 50,000 per sitemap file (split into multiple if needed)
- Submit the sitemap URL in Google Search Console and Bing Webmaster Tools
Canonical Tags Implementation
Canonical tags tell search engines which version of a URL is the “official” one. Every indexable page needs a self-referencing canonical. Without it, duplicate content from URL parameters, pagination or HTTP/HTTPS variants dilutes your ranking signals.
Set canonicals with <link rel="canonical" href="https://example.com/page-slug/"> in your <head>. In WordPress, your SEO plugin handles this automatically. Verify by inspecting the page source and confirming the canonical URL matches the page you want indexed.
Noindex and Nofollow Usage
Use noindex on pages that provide no search value: tag archives, author pages on single-author sites, internal search results and staging environments. Use nofollow on outbound links to untrusted sources or paid placements. Never noindex a page while simultaneously including it in your sitemap.
Internal Linking Architecture
Internal links distribute page authority and help crawlers discover content. Every blog post should link to 3-5 related internal pages using descriptive anchor text. Avoid orphan pages (pages with zero internal links pointing to them). Tools like Screaming Frog surface orphan pages in seconds. Build a logical site structure where important pages sit within three clicks of the homepage.
How Do You Optimize Site Speed and Core Web Vitals?
Google uses Core Web Vitals as a ranking signal. Three metrics matter: Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) and Interaction to Next Paint (INP). Failing any of these pushes your pages below competitors who pass. Measure real-user data in Chrome UX Report (CrUX) and lab data in Lighthouse.
LCP Optimization
LCP measures how fast the largest visible element (usually an image or heading) renders. Target under 2.5 seconds. Three fixes handle 90% of LCP issues:
- Preload the LCP image: Add
<link rel="preload" as="image" href="hero.webp" fetchpriority="high">in your<head> - Use
fetchpriority="high"on the hero image element to tell the browser to prioritize it - Serve WebP/AVIF formats with the
<picture>element for 30-50% smaller file sizes than JPEG
For WordPress sites, our performance optimization guide covers inlining critical CSS and deferring non-essential stylesheets to eliminate render-blocking resources.
CLS Prevention
CLS measures unexpected layout shifts during page load. Target under 0.1. The two biggest causes:
- Images without dimensions: Always set
widthandheightattributes on<img>elements so the browser reserves space before the image loads - Web fonts causing FOIT: Use
font-display: swapin your@font-facedeclarations so text renders immediately with a system font and swaps in the custom font once loaded
INP (Interaction to Next Paint)
INP replaced FID in March 2024 as the responsiveness metric. It measures the delay between a user interaction (click, tap, keypress) and the next visual update. Target under 200ms. Reduce main thread work by deferring non-critical JavaScript with defer or async attributes. Break long tasks into smaller chunks using requestIdleCallback() or scheduler.yield().
TTFB (Time to First Byte)
TTFB measures server response time. Target under 800ms. Enable server-side caching (page cache, object cache with Redis or Memcached), use a CDN for static assets and ensure your hosting provider delivers fast response times. On WordPress, SG Optimizer or WP Super Cache handles page caching. For dynamic pages, implement stale-while-revalidate cache headers.
Gzip and Brotli Compression
Compression reduces transfer size by 60-80% for text-based assets (HTML, CSS, JavaScript). Brotli delivers 15-25% better compression than Gzip. Enable both with this .htaccess configuration:
# Enable Brotli compression (requires mod_brotli)
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html
AddOutputFilterByType BROTLI_COMPRESS text/css
AddOutputFilterByType BROTLI_COMPRESS text/javascript
AddOutputFilterByType BROTLI_COMPRESS application/javascript
AddOutputFilterByType BROTLI_COMPRESS application/json
AddOutputFilterByType BROTLI_COMPRESS application/xml
AddOutputFilterByType BROTLI_COMPRESS image/svg+xml
</IfModule>
# Fallback to Gzip if Brotli is unavailable
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>Structured Data Implementation
Structured data helps search engines understand your content and enables rich results (review stars, FAQ dropdowns, breadcrumbs) in SERPs. Google recommends JSON-LD as the preferred format. It lives in a <script> tag, stays separate from your HTML markup and is easier to maintain than microdata or RDFa.
JSON-LD vs Microdata
JSON-LD wins. Microdata embeds schema attributes directly in HTML elements, coupling your markup to your structured data. When you redesign a template, microdata breaks. JSON-LD sits in a standalone script block. You can generate it server-side, inject it through a plugin or manage it in a centralized function. Google explicitly prefers JSON-LD.
Essential Schema Types
Every site should implement these five schema types as a baseline:
- Organization or LocalBusiness: Defines your brand, logo, contact info and social profiles
- Article: Required for blog posts and news content to appear in Google News and Discover
- FAQPage: Enables FAQ rich results and increases SERP real estate
- BreadcrumbList: Shows breadcrumb navigation in search results and improves click-through rate
Article Schema Code Snippet
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Technical SEO Checklist 2026 for Developers",
"description": "Complete technical SEO checklist covering crawlability, Core Web Vitals, structured data and security headers.",
"author": {
"@type": "Organization",
"name": "Quake Media",
"url": "https://quakemedia.ca"
},
"publisher": {
"@type": "Organization",
"name": "Quake Media",
"url": "https://quakemedia.ca",
"logo": {
"@type": "ImageObject",
"url": "https://quakemedia.ca/images/logo.png"
}
},
"datePublished": "2026-04-09",
"dateModified": "2026-04-09",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://quakemedia.ca/technical-seo-checklist-2026/"
}
}
</script>Validation with Google Rich Results Test
After implementing structured data, validate every page at search.google.com/test/rich-results. The tool parses your JSON-LD, flags errors and shows which rich result types your page qualifies for. Run validation after every template change. Schema errors silently disqualify pages from rich results with no warning in Search Console.
Security as an SEO Factor
Google confirmed HTTPS as a ranking signal in 2014. In 2026, the bar is higher. Browsers flag HTTP sites as “Not Secure.” Missing security headers expose your site to clickjacking, MIME sniffing and protocol downgrade attacks. A compromised site gets deindexed. Security is not optional for SEO. For a deeper look at hardening WordPress, read our REST API security guide.
HTTPS and SSL
Every page must load over HTTPS. Obtain an SSL/TLS certificate (Let’s Encrypt provides free certificates) and force all HTTP requests to redirect to HTTPS with a 301. Verify there are no mixed content warnings where HTTPS pages load HTTP resources.
Security Headers
Security headers instruct browsers to enforce security policies. Three headers every site needs:
- Strict-Transport-Security (HSTS): Forces HTTPS connections for a set duration, preventing protocol downgrade attacks
- X-Content-Type-Options: Prevents MIME type sniffing, blocking attacks that disguise executable files as harmless content types
- X-Frame-Options: Prevents your site from being embedded in iframes, blocking clickjacking attacks
Security Headers via .htaccess
# Security headers - Add to .htaccess in domain root
<IfModule mod_headers.c>
# Force HTTPS for 1 year, include subdomains
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# Prevent MIME type sniffing
Header always set X-Content-Type-Options "nosniff"
# Block iframe embedding (prevents clickjacking)
Header always set X-Frame-Options "SAMEORIGIN"
# Control referrer information sent with requests
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# Basic Content Security Policy
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;"
</IfModule>Test your headers at securityheaders.com. Aim for an A or A+ grade.
Mobile Optimization
Google uses mobile-first indexing, meaning it crawls and indexes the mobile version of your site. If your mobile experience is broken, your rankings drop on both mobile and desktop results.
Viewport Meta Tag
Every page needs the viewport meta tag: <meta name="viewport" content="width=device-width, initial-scale=1">. Without it, mobile browsers render the page at desktop width and scale it down, making text unreadable and buttons impossible to tap.
Responsive Design Testing
Test at multiple breakpoints, not just “mobile” and “desktop.” Chrome DevTools device mode simulates specific devices, but real device testing catches issues that emulators miss. Verify that no content is hidden on mobile that exists on desktop. Google indexes the mobile version. Hidden content means missing content in the index.
Touch Target Sizing
Interactive elements (buttons, links, form fields) need minimum touch targets of 48×48 CSS pixels with at least 8px spacing between adjacent targets. This is a Core Web Vitals audit item in Lighthouse. Small touch targets increase accidental taps and frustrate users.
Mobile-First Indexing Implications
Ensure your mobile site has the same content, structured data and meta tags as your desktop version. Lazy-loaded content must be accessible to Googlebot. Use loading="lazy" on images instead of JavaScript-based solutions that may not fire for crawlers.
HTML and Semantic Structure
Semantic HTML gives search engines explicit signals about your content’s structure and meaning. It also improves accessibility, which is increasingly tied to web development best practices and legal requirements.
Heading Hierarchy
Use a single H1 per page (your post title). Follow with H2s for major sections and H3s for subsections. Never skip levels (H2 directly to H4). Search engines use heading hierarchy to understand content structure and topic relationships. A broken hierarchy signals disorganized content.
Semantic HTML5 Elements
Use the right element for the job:
<article>for self-contained content (blog posts, product cards)<section>for thematic groupings with a heading<nav>for navigation blocks (primary menu, breadcrumbs, pagination)<main>for the primary content area (one per page)<aside>for supplementary content (sidebars, related links)
These elements provide machine-readable structure that <div> elements cannot. Screen readers and search engine crawlers use them to parse page anatomy.
Alt Text on Images
Every <img> element requires descriptive alt text that explains what the image shows in context. Write “Lighthouse performance audit showing 98 score after optimization” instead of “screenshot” or “image.” Decorative images get an empty alt="" attribute so screen readers skip them.
Meta Title and Description Optimization
Keep titles under 60 characters with the primary keyword near the front. Write meta descriptions under 155 characters that include the target keyword and a clear value proposition. These are your SERP ad copy. A well-written meta description lifts CTR by 5-10% even without a ranking change.
Frequently Asked Questions
How often should I run a technical SEO audit?
Run a full technical SEO audit quarterly and a targeted crawl monthly. After major site changes (redesigns, migrations, CMS updates), run an immediate audit. Automated monitoring tools like Screaming Frog scheduled crawls or Ahrefs Site Audit can catch issues between manual reviews.
Which Core Web Vital has the biggest impact on rankings?
LCP has the strongest correlation with ranking improvements because it directly measures perceived load speed. However, all three metrics (LCP, CLS, INP) must pass their thresholds for the page to receive the full Core Web Vitals ranking boost. Failing one metric negates the others.
Does structured data directly improve rankings?
Structured data does not directly boost rankings. It enables rich results (FAQ dropdowns, star ratings, breadcrumbs) that increase click-through rate. Higher CTR sends positive engagement signals to Google, which indirectly improves rankings. Pages with rich results see 20-30% higher CTR on average.
What is the difference between noindex and disallow in robots.txt?
A robots.txt Disallow directive prevents crawlers from accessing a URL. A noindex meta tag tells crawlers they can access the page but should not add it to their index. If you Disallow a URL, the crawler never sees the noindex tag. To truly deindex a page, use the noindex tag and allow crawling so the directive gets processed.
How do security headers affect SEO performance?
Security headers do not directly influence ranking algorithms. However, a site without proper headers is vulnerable to attacks that lead to defacement, malware injection or phishing redirects. Google deindexes compromised sites rapidly. Security headers prevent the incidents that cause deindexing. They protect your rankings indirectly by protecting your site.
Should I use Brotli or Gzip compression?
Use both. Configure Brotli as the primary compression method with Gzip as a fallback. Brotli delivers 15-25% better compression ratios than Gzip for text assets and is supported by all modern browsers. Older browsers and some bots fall back to Gzip automatically through content negotiation.
Is mobile-first indexing still relevant in 2026?
Yes. Google completed the shift to mobile-first indexing in 2023. All sites are now crawled and indexed using the mobile version. If your mobile site has less content, fewer internal links or missing structured data compared to desktop, your rankings reflect that reduced mobile version. There is no separate desktop index.
Get Your Free Technical SEO Audit
Running through this checklist yourself takes time. Our team at Quake Media audits crawlability, Core Web Vitals, structured data, security headers and mobile performance for Vancouver businesses every day. We find the issues. We fix them. No fluff, no filler reports.
Request your free technical SEO audit or call us directly at 604-901-7668.
Related: SEO guide and SEO FAQ
Related Guides
Related: affordable SEO in Vancouver
Related: managed WordPress hosting
Related: professional web development
Need help with this?
Quake Media helps businesses across Vancouver and Canada with SEO, PPC and custom web development. Get a free audit and see where your site stands.


