A technical SEO checklist covers crawlability, indexability, Core Web Vitals (LCP, INP, CLS), site architecture, structured data, and AI-crawler access. Run through these in order – crawl and index issues first, then performance, then schema – because fixing page speed on a page Google can’t index wastes your time.
I run some version of this checklist on every client site before I touch a single word of content, and here’s why that order matters: I once spent two weeks improving a client’s Core Web Vitals scores on a product category page that Google had already dropped from its index six months earlier. The speed fixes were real. They just didn’t matter, because the page wasn’t eligible to rank in the first place. Sequence isn’t a formality here – it’s the difference between fixing something and polishing something invisible.
What Technical SEO Actually Covers in 2026
Technical SEO is the set of non-content factors that determine whether search engines can access, understand, and want to serve your pages. It sits underneath your content and your backlinks, not beside them.
The scope has grown. In 2022, a technical audit meant robots.txt, sitemaps, and page speed. In 2026, it also means whether GPTBot and PerplexityBot can reach your content, whether your JSON-LD schema still matches what’s on the page after a redesign, and whether your server logs show Googlebot actually crawling the pages you think it’s crawling.
How It’s Different From On-Page and Off-Page SEO
On-page SEO is about the content itself – keywords, headings, readability. Off-page SEO is about signals from outside your site – backlinks, mentions, social shares. Technical SEO is the plumbing underneath both. You can write the best article on a topic and still lose to a weaker competitor if your site has a redirect chain eating your crawl budget or a robots.txt file accidentally blocking your CSS.
Crawlability – Can Search Engines Reach Your Pages
If a search engine can’t reach a page, nothing else on this list matters. Crawlability comes first for a reason.
Robots.txt Setup and Common Mistakes
Your robots.txt file tells crawlers which paths to skip – admin panels, checkout flows, internal search results, staging environments. The most common mistake I see isn’t a missing robots.txt file. It’s an overly aggressive one that blocks /wp-content/ or /assets/ and accidentally hides your CSS and JS from Googlebot, which then can’t render your page properly and misjudges your Core Web Vitals.
Check your robots.txt with Google Search Console‘s robots.txt tester before you assume it’s fine. A single misplaced Disallow: / on a staging subdomain that got copied into production has taken down more sites than any algorithm update.
Crawl Budget and Log-File Analysis
This is the step most checklists skip, and it’s the one that separates a surface-level audit from a real one. Crawl budget is the number of pages a search engine is willing and able to crawl on your site within a given timeframe. For a 50-page site, this rarely matters. For a 50,000-page e-commerce catalog, it’s often the single biggest lever.
Server log files show you exactly which URLs Googlebot requested, how often, and what status code came back – not what you assume it’s crawling based on your sitemap. Pull your raw access logs, filter for the Googlebot user agent, and cross-reference against your actual URL list. You’ll usually find one of two problems: Googlebot wasting requests on parameter-heavy duplicate URLs, or Googlebot barely touching your most important pages because internal links point everywhere else first.
The 2025 Rendering Update: Why Broken Pages Get Dropped Entirely
Google clarified in late 2025 that pages returning non-200 status codes – 404s, 503s, soft errors – may be excluded from the rendering queue entirely, not just excluded from the index. That distinction matters: a broken page with a friendly custom “Sorry, not found” message that still returns a 200 status code is worse than a properly-coded 404, because Google may keep trying to crawl and index content that was never meant to rank.
Audit your 4xx and 5xx errors in Google Search Console monthly, not quarterly. This one is cheap to check and expensive to ignore.
Indexability – Which Pages Actually Make It Into Google
Crawling gets a bot to the door. Indexing decides whether it walks in.
Fixing “Discovered – Currently Not Indexed”
This Search Console status means Google found the URL but chose not to crawl or index it yet, usually because of weak internal linking or thin, duplicate-feeling content. The fix isn’t submitting the URL again through Search Console – that treats a symptom, not the cause. Strengthen internal links pointing to the page from already-indexed, relevant pages, and make sure the content on the page earns its own place rather than rehashing a category page one level up.
Canonical Tags and Duplicate Content Cleanup
Duplicate content – the same or near-identical content living on multiple URLs – forces search engines to guess which version deserves to rank, and they often guess wrong or split ranking signals between both. E-commerce sites with filterable product listings (?color=blue&size=M) hit this constantly.
A rel=”canonical” tag pointing to your preferred URL fixes most of this. For content you’ve genuinely retired, a 301 redirect to the closest living equivalent is cleaner than a canonical tag, because it also passes along any link equity the old page had built up.
Site Architecture and Internal Linking
Flat Structure vs. Deep Nesting
Site architecture is how your pages connect to each other – your navigation, your categories, your internal links. A flat structure, where any page is reachable within three or four clicks from the homepage, generally outperforms a deep one, where users and crawlers have to click through six layers of categories to reach a product page.
This is one of the quieter ranking factors. A site with mediocre content but a tight, intentional link structure can outrank a site with better content and no internal linking strategy, because search engines use internal links to judge which pages you consider important.
URL Structure Best Practices
Keep URLs short, readable, and free of unnecessary parameters or ID strings. /blog/technical-seo-checklist tells a user and a crawler exactly what to expect. /blog/?p=4821 tells them nothing. If you’re on WordPress, this is a permalink setting, not a redesign – fix it once and move on.
Core Web Vitals in 2026 (LCP, INP, CLS)
Core Web Vitals are Google’s real-user performance metrics, and in 2026 the thresholds are: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1 – all measured at the 75th percentile using field data from the Chrome User Experience Report, not lab data alone.
Metric | Measures | Good | Poor |
LCP | Loading speed of the largest visible element | Under 2.5s | Over 4.0s |
INP | Responsiveness to every user interaction | Under 200ms | Over 500ms |
CLS | Visual stability during load | Under 0.1 | Over 0.25 |
Why INP Is the Metric Most Sites Still Fail
INP replaced First Input Delay in March 2024, and it’s a stricter test. FID measured how fast a page responded to the first click. INP measures every interaction across the entire session – every click, tap, and keypress, including the ones that happen ten seconds after the page loads once your third-party scripts have finished loading. A page that felt responsive on the first tap and then froze for half a second on the second tap fails INP even though it would have passed FID.
Heavy third-party scripts – chat widgets, ad tags, analytics snippets – are the usual culprit. On one WordPress site I worked on, removing a single unused marketing pixel cut the main-thread blocking time enough to move INP from “needs improvement” to “good” without touching a line of the site’s own code.
Practical Fixes for Each Metric
For LCP: compress and preload your hero image, defer non-critical CSS, and improve server response time – a slow Time to First Byte caps every other loading metric no matter what you optimize on the front end.
For INP: break long JavaScript tasks into smaller chunks, defer scripts that don’t need to run immediately, and audit third-party scripts ruthlessly – most sites are running at least one tracking tag nobody currently uses.
For CLS: set explicit width and height attributes on images and embeds, and reserve space for ads and dynamically injected content before it loads, so the layout doesn’t jump once it arrives.
XML Sitemaps and IndexNow
An XML sitemap is a direct list of the URLs you want indexed, submitted straight to search engines rather than relying on them to find every page through links alone. It matters most for large or frequently-updated sites, and less for a five-page brochure site that’s fully linked from the homepage.
IndexNow is a protocol that pushes new or updated URLs to supporting search engines (Bing, Yandex, and others) the moment they change, instead of waiting for the next crawl cycle. It doesn’t replace a sitemap – it supplements it for time-sensitive content like news or price changes.
Mobile-Friendliness, HTTPS, and Security
Google indexes the mobile version of your site by default, so a page that looks fine on desktop but breaks on mobile is effectively broken for ranking purposes, not just for mobile users. Test your key pages with Google’s Mobile-Friendly Test and actually load them on a phone – automated tools miss things like a menu that covers half the screen or a form field that’s impossible to tap accurately.
HTTPS is both a trust signal and a baseline ranking factor at this point. Mixed content – an HTTPS page still loading one HTTP resource – quietly breaks the padlock icon and erodes the trust signal you thought you already had. Run a mixed-content scan after any redesign or plugin update.
Structured Data and Schema Markup
Schema markup, delivered as JSON-LD, is structured data that tells search engines exactly what a page contains – a recipe, a product with a price, an FAQ, an article with an author – in a format machines can parse without guessing.
Schema Drift – When Your JSON-LD Lies About Your Page
Schema drift happens when your structured data and your visible content disagree – your JSON-LD claims a product is in stock at ₹2,499, but the page itself shows it’s out of stock at ₹2,999 after a price update that never touched the schema. This isn’t a minor technical footnote. Search engines that catch the mismatch can suppress your rich results entirely, and in the worst cases treat it as a trust signal problem rather than a bug.
Audit schema after every content update that touches price, availability, or review counts – not just when you first implement it.
Schema’s Growing Role in AI Overviews and AI Citations
Schema doesn’t move your ranking position directly, but it’s increasingly how AI-generated answers – Google’s AI Overviews, Perplexity, AI Mode – decide what to cite and quote. A well-structured FAQPage or Article schema gives these systems a clean, unambiguous chunk of content to pull from. An unstructured wall of text forces them to guess, and they often guess in favor of a competitor who made it easier.
JavaScript SEO and Rendering
Modern frameworks – React, Vue, Next.js, Nuxt, Angular – can put SEO at risk if content only appears after JavaScript executes client-side, because search engines need to render that JavaScript before they see the content, and rendering is a slower, more resource-limited process than parsing plain HTML.
Server-side rendering or static generation avoids this entirely by sending fully-formed HTML to the crawler. If a full rewrite isn’t realistic, dynamic rendering – serving a pre-rendered HTML snapshot specifically to crawlers while users get the full JavaScript experience – is a reasonable middle ground, though it adds a layer of infrastructure you’ll need to maintain.
Test this directly: fetch a page’s rendered HTML through Google Search Console’s URL Inspection tool and check whether your actual content shows up in what Google says it rendered. If it doesn’t, no amount of on-page optimization will help, because Google literally can’t see the content you wrote.
Managing AI Crawlers (GPTBot, PerplexityBot, and llms.txt)
Alongside Googlebot, your server logs now show requests from GPTBot, PerplexityBot, ClaudeBot, and similar AI crawlers indexing content for AI search tools and chat assistants. Some sites block these reflexively, treating them the way they’d treat a scraper.
Why Blocking Them Costs You Citation Traffic
Informational queries increasingly get answered directly inside ChatGPT, Perplexity, or Google’s AI Mode, with a citation link back to the source – and industry estimates now put a meaningful share of informational search behavior happening through these AI surfaces rather than a traditional search results page. Blocking AI crawlers in robots.txt means you’re not eligible to be that cited source at all, even for queries where you’d otherwise be the best answer.
A newer file, llms.txt, is emerging as a way to guide AI crawlers toward your most important content, similar in spirit to how a sitemap guides traditional crawlers – it’s not yet a universal standard the way robots.txt is, but it costs little to add and signals that you’ve thought about this surface deliberately.
The trade-off is real: if your business model depends on direct site visits and ad impressions rather than brand visibility, blocking specific AI crawlers is a defensible choice. For most content and service businesses, though, the citation reach outweighs the traffic you’re protecting.
Running the Audit – Cadence and Tools
A technical SEO audit isn’t a one-time project. Run a full pass quarterly, and check Core Web Vitals and crawl errors monthly in between — waiting for a traffic drop to trigger your next audit means you’re already behind the problem, not ahead of it.
For tools: Google Search Console and PageSpeed Insights cover the essentials for free. For ongoing monitoring at scale, a dedicated Core Web Vitals tracking tool that combines field and lab data over time catches regressions between your quarterly audits, which matters most on sites that ship frequent code or design changes.
FAQ
What is technical SEO in simple terms? Technical SEO is making sure search engines can find, understand, and load your website properly – separate from the quality of your writing or the number of links pointing to you. It’s the foundation everything else on your site stands on.
What’s the difference between technical SEO and on-page SEO? Technical SEO covers the site’s infrastructure – crawlability, speed, schema, mobile-friendliness. On-page SEO covers the content itself – keywords, headings, and how well a specific page answers a specific query.
What are the Core Web Vitals thresholds in 2026? LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1, all measured using real-user field data at the 75th percentile rather than lab tests alone.
How often should I run a technical SEO audit? A full audit quarterly, with monthly checks on Core Web Vitals and crawl errors in Search Console. Sites that ship frequent design or code changes benefit from continuous monitoring rather than waiting for the next scheduled audit.
Does blocking AI crawlers hurt my SEO? It doesn’t affect traditional Google rankings directly, but it removes you from consideration as a cited source in AI Overviews, ChatGPT, and Perplexity answers – a growing share of informational search traffic that a blocked site simply can’t capture.
What causes “Discovered – currently not indexed”? Usually weak internal linking to the page combined with content that reads as thin or duplicate relative to what’s already indexed. Strengthening internal links and content depth fixes it more reliably than resubmitting the URL.
Do I need schema markup if I’m not an e-commerce site? Yes, in some form. Article and FAQPage schema apply to almost any content site, and BreadcrumbList schema helps search engines and AI tools understand your site structure regardless of industry.
What to Fix First If You Only Have a Week
If you can only work through part of this list, fix in this order: crawl errors and robots.txt issues first, since they block everything downstream; then indexability problems on your highest-value pages; then INP, since it’s the Core Web Vital most sites fail and the one with the clearest, most contained fixes. Schema and AI-crawler access matter, but they compound gains rather than unblock them – do them once the foundation is solid, not instead of it.