Technical SEO Checklist
A comprehensive technical SEO checklist covering crawlability, indexing, Core Web Vitals, structured data, sitemaps, robots.txt, canonicalization, HTTPS, and mobile SEO — organized by priority and site type.
1 evidence signal on this page
- Related live toolGoogle Index Checker
A technical SEO checklist confirms the technical conditions a site must meet for search engines and AI answer engines to crawl, render, index, and serve its pages — Google's four load-bearing conditions are crawlable, indexable, understandable, renderable. It's the technical-only slice; the broader full-site version lives in the SEO Audit Checklist. Work it in priority order — crawlability, indexing, HTTPS, mobile parity, sitemaps, structured data, Core Web Vitals — and gate whole sections by site type: most small sites can skip crawl-budget engineering entirely, which Google confirms in its own docs. Two myths to kill on sight: robots.txt does not deindex a page, and structured data is not a ranking factor. Meeting the checklist is necessary but not sufficient — Google says indexing still isn't guaranteed.
TL;DR — A technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. checklist is the list of technical boxes your site has to tick so search engines can find, read, and show your pages. Google’s short version: a page has to be crawlable, indexable, understandable, and renderable. Work the list in priority order, and skip the sections that don’t apply to your size of site — a 20-page brochure site does not need to worry about the same things a 500,000-product store does.
Evidence for this claim Google's minimum technical requirements include accessible Googlebot crawling, a successful HTTP response, and indexable content. Scope: Eligibility prerequisites, not a guarantee of indexing or ranking. Confidence: high · Verified: Google Search Essentials: Technical requirements Evidence for this claim Meeting technical requirements does not guarantee that Google will crawl, index, or serve a page. Scope: Google Search eligibility and selection behavior. Confidence: high · Verified: Google Search Essentials: Technical requirements
What this checklist is (and isn’t)
Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. is the plumbing. Before your content can rank, search engines have to be able to reach your pages, download them, understand them, and file them away. A technical SEO checklistA technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit. is just the ordered list of things that make that possible.
It is not the whole of SEO. It doesn’t cover writing good content, targeting the right keywords, or earning links. Those matter enormously — they’re just a different job. If you want the everything-at-once version, that’s a full SEO auditAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. checklist, and it’s a separate, broader thing. This page stays technical.
The priority order
Do these roughly top to bottom. The higher up the list, the more it can quietly break everything below it.
- Can search engines crawl your site? Check your
robots.txtisn’t blocking pages you want foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.. Fix broken pages (404s) and server errors (5xx). - Can your pages be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.? Make sure you’re not accidentally telling Google
to
noindeximportant pages, and that duplicate versions of a page point to one preferred version. - Is your site on HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'? The little padlock. It’s a baseline expectation now.
- Does it work well on phones? Google indexes the mobile version of your site, so your phone version has to have the same content as your desktop version.
- Do you have an XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.? A simple list of your URLs you hand to Google and Bing so they don’t have to find everything by following links.
- Is your structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. valid? Optional, but it can earn you richer-looking search results. (It won’t boost your rankings — more on that myth below.)
- How’s your page speed? Google’s Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. measure loading, response, and visual stability.
The two myths to know
- Blocking a page in
robots.txtdoes not remove it from Google. It just stops Google reading it. To actually remove a page, let Google crawl it and add anoindextag. (Blocking it inrobots.txtand addingnoindexis a classic trap — the botA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can’t crawl the page, so it never sees thenoindex.) - Structured data is not a ranking boost. It can make your result look richer, which can help clicks — but adding schema doesn’t move you up the results.
Not everything applies to you
The single most useful thing about this checklist is knowing what to skip. If you run a small site, you can ignore crawl-budget management entirely — Google itself says most sites don’t need to think about it. Want the full picture, including who does need those advanced sections? Switch to the Advanced tab.
TL;DR — Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. is the floor, not the ceiling: pages must be crawlable → indexable → understandable → renderable before content work can pay off. Run the checklist in priority order and gate sections by site type — most small sites can skip crawl budgetThe number of URLs an engine will crawl in a timeframe., faceted-nav control, log analysis, and JS-renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. engineering, which Google’s own crawl-budget doc confirms. Kill two myths on sight:
Evidence for this claim Google's minimum technical requirements include accessible Googlebot crawling, a successful HTTP response, and indexable content. Scope: Eligibility prerequisites, not a guarantee of indexing or ranking. Confidence: high · Verified: Google Search Essentials: Technical requirements Evidence for this claim Meeting technical requirements does not guarantee that Google will crawl, index, or serve a page. Scope: Google Search eligibility and selection behavior. Confidence: high · Verified: Google Search Essentials: Technical requirementsrobots.txtdoesn’t deindexDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist., and structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. isn’t a ranking factor. Treat Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. as targets, not pass/fail gates — that’s Google’s own “strive to” language. And meeting every box still doesn’t guarantee indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
The mental model: four conditions
Google frames the whole of technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. around four load-bearing conditions — a page
has to be crawlable, indexable, understandable, and renderable. Its
Search Essentials technical requirements
boil that down to three minimums: “GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. isn’t blocked,” “The page works” (served
with an HTTP 200 status), and “The page has indexable content.” Everything on this
checklist is really in service of those.
The critical caveat, straight from the same doc: “Just because a page meets these requirements doesn’t mean that a page will be indexed; indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed.” Technical SEO is a gate you have to pass through, not a lever that guarantees results. This is why I’ve always argued the technical checklist is the floor — you clear it so content and links can do their job, not instead of them.
Before you start: which sections even apply to you?
Every competing checklist organizes by topic and runs the whole thing on every site. That’s the wrong default. The better organizing axis is site type, because Google itself gates its most advanced guidance by site size. From the large-site crawl-budget guide: “If your site doesn’t have a large number of pages that change rapidly, or if your pages seem to be crawled the same day that they are published, you don’t need to read this guide.”
Google’s own (deliberately rough) thresholds for when crawl budgetThe number of URLs an engine will crawl in a timeframe. starts to matter:
- Large sites — 1 million+ unique pages with content changing about weekly.
- Medium-or-larger sites — 10,000+ unique pages with very rapidly changing (daily) content.
- Sites with a big share of URLs stuck in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s “Discovered - currently not indexed” state.
So here’s the split I’d actually run:
Starter track — small / brochure / local-business sites (< ~10K URLs): crawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. sanity check, indexing/canonical sanity check, HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', mobile parity, one XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags., one round of Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., valid structured data where it earns a rich result. Skip crawl budget, faceted-nav control, log-file analysis, and JS-renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. engineering entirely.
Advanced track — large / ecommerce / JS-heavy / enterprise sites: everything in the Starter track plus crawl-budget management, faceted-navigation control, JavaScript rendering audits, server-log analysis, and (if international) hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others..
1. Crawlability
robots.txtcorrectness. Confirm you aren’t disallowing anything you want indexed. Google: “A robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. file tells search engine crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. which URLs the crawler can access on your site. This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google.” Use it to keep bots out of low-value spaces (internal search, infinite parameter combinations), not as a deindexingDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. tool. This is the same territory the robots.txt deep dive covers in full.- The
robots.txt+noindexcontradiction trap. Do not block a URL inrobots.txtand rely on anoindexon it. Google: “While Google won’t crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web.” The bot can’t crawl the page, so it never sees thenoindex, and the URL can still surface bare in results. To remove a page: allow crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. +noindex, or password-protect it. - Crawl errors. Fix unexpected 4xx and 5xx. Google only indexes pages served with
a
200, and “Client and server error pages aren’t indexed.” - Redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency. and loops. Collapse A→B→C→D down to A→D. Chains waste crawl and leak a little on every hop. The crawling and redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. material goes deeper here.
2. Indexability
- Index coverage. In Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.’s Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., reconcile what you want indexed against what actually is. Investigate large “Discovered/Crawled - currently not indexed” buckets.
- CanonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it.. Point duplicate and near-duplicate URLs at one preferred
version. Google calls
rel="canonical"“a strong signal that the specified URL should become canonical” — a signal, not a directive it must obey. And crucially: “Don’t use the robots.txt file for canonicalization purposes.” Check you aren’t sending conflicting canonical signals across HTML tag, HTTP header, and sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — the canonicalization deep dive walks through consolidating them. - Duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.. Parameters, print versions, staging leaks,
http/httpsandwww/non-wwwsplits all create duplicates. Pick one, canonicalize or redirect the rest.
3. HTTPS
Baseline, not optional. Serve the whole site over HTTPS, redirect http to
https, and hunt down mixed contentMixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable. (a secure page loading an insecure image,
script, or stylesheet). Chris Green’s SEO in 2026 reality-check pegs HTTPS adoption
at “91%+” — you don’t want to be in the trailing 9%.
4. Mobile SEO
Google uses mobile-first indexingGoogle's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost.: “Google uses the mobile version of a site’s content, crawled with the smartphone agent, for indexing and ranking.” The parity checklist, straight from Google’s mobile-first doc:
- “Make sure that your mobile site contains the same content as your desktop site.”
- “Make sure that the title element and the meta descriptionThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through. are equivalent across both versions of your site.”
- “Make sure that your mobile and desktop sites have the same structured data.”
- “Use the same robots meta tagsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen. on the mobile and desktop site.”
- “Don’t lazy-load primary content upon user interaction.”
- “Make sure that the mobile site has the same alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. for images as the desktop site.”
The most common failure is a stripped-down mobile template that quietly drops content, links, or structured data present on desktop — Google indexes the thinner version.
5. Sitemaps and discovery
- XML sitemap hygiene. Use absolute, canonical URLs; stay under the 50 MB /
50,000-URL per-file limit; list only indexable, canonical URLs; keep
lastmodaccurate. Reference it inrobots.txt(Sitemap: https://example.com/sitemap.xml) so engines discover it automatically. Full treatment in the XML sitemaps material. - Bing still cares. From Bing’s July 2025 guidance: “Sitemaps remain a foundational signal for ensuring comprehensive URL coverage across your site,” “XML remains the preferred format for sitemaps,” and “The lastmod field in your sitemap remains a key signal, helping Bing prioritize URLs for recrawling.”
- IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.. Most Google-centric checklists omit it, but it’s a live, free, one-line win: Bing’s advice is to “Use IndexNow for real-time URL submission, instantly notifying Bing and participating search engines” when content changes. It complements sitemaps rather than replacing them. (Note: Google does not use IndexNow for general pages.)
6. Structured data
- What it does: earns rich-result eligibility and helps machines (and LLMs) understand your page. “Adding structured data can enable search results that are more engaging to users… which are called rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show..”
- What it does not do: boost rankings. Google’s docs frame schema strictly as rich-result eligibility and machine understanding — not a ranking signal. Do not sell it, or budget for it, as a ranking play.
- Format: “In general, Google recommends using JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale.” Validate with the Rich Results Test. The structured data material covers the specific types worth implementing.
7. Core Web Vitals and page experience
Targets, not gates — Google’s actual wording is “strive to,” which most checklists overstate as hard pass/fail cutoffs:
- LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. — “strive to have LCP occur within the first 2.5 seconds of the page starting to load.”
- INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. — “strive to have an INP of less than 200 milliseconds.”
- CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. — “strive to have a CLS score of less than 0.1.”
And the relationship to ranking, which people badly over-weight: “Google Search always seeks to show the most relevant content, even if the page experience is sub-par.” Good Core Web VitalsWeb Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. are a tiebreaker among relevant results, not an override of relevance. Measure with real-user (CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program./field) data, not just lab scores.
8. Advanced additions (large / ecommerce / JS-heavy only)
- Crawl budget. Only if you cleared Google’s thresholds above. Capacity + demand; you gain budget by removing waste (parameter explosions, faceted-nav combinations, spider trapsA spider trap (also called a crawler trap) is a site structure that generates an effectively infinite number of URLs — from faceted filters, calendars, session IDs, or redirect loops — so crawlers waste their budget on low-value, near-duplicate pages instead of your real content., duplicate URLs) far more than by trying to make Google crawl “more.” See the crawl budget deep dive.
- JavaScript rendering. Confirm critical content and links exist in the rendered
HTML and are reachable via real
<a href>links, not click-only navigation. This is JavaScript SEOMaking sure search engines can crawl, render, and index content that depends on JavaScript. territory. - Faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals. control. Decide which filter/sort combinations are crawlable/indexable and control the rest.
- Log-file analysis. The ground truth for what bots actually fetch, how often, and what status codes they hit.
- hreflang — only if you’re genuinely multi-regional/multilingual. That’s a big enough topic to live in its own international-SEO material; don’t bolt it on half-done.
9. AI / LLM crawler access (short, scoped)
Two table-stakes items in 2026, and no more — the deep GEOGenerative Engine Optimization — visibility inside AI answer engines./AEO work lives in the AI-search material, not here:
- Decide AI-crawler access in
robots.txt. Explicitly allow or disallow the AI user-agents you care about (training vs. AI-search vs. user-triggered fetchers are different bots). Chris Green’s framing: “Robots.txt is no longer just crawl housekeeping. It’s becoming a policy surface.” - Structured data doubles as machine context for LLMs — a bonus reason to get your schema valid, not a new workstream.
10. How to prioritize what you find
This is where most checklists fail: they hand you 90 items with no weighting. Don’t fix everything — fix what moves the needle. My buddy Patrick’s advice on client audits, which I keep coming back to: “If clients are coming to you asking for an audit, they already have a pain point. Talk to them. Solve that one thing and they’ll be happy with the audit.” The same SEO Audit Template frames it as “sweating the small stuff rarely does much for your rankings” — better to spend “80% of your time fixing the 20% of things that matter.”
And zoom out on the whole exercise: a checklist gets you to okay. Google’s John Mueller has repeatedly made the point that fundamentals alone get you fine-but-not-great results — real dominance comes from topical depth and authority, not from ticking every technical box. The checklist clears the floor; content and links build the house.
This raw-HTML baseline helps find repeatable technical patterns. It does not evaluate rendered JavaScript, Search Console index state, or AI visibility.
Run the checklist’s crawl layer with my free Scout Site Audit Free Free
- Crawl the site or a representative section and note the discovered-versus-crawled scope.
- Group issues by detector and affected template instead of treating every URL as a separate task.
- Validate the highest-impact patterns in rendered pages and Search Console before shipping the fix.
The sample report has an 82 out of 100 raw-HTML score. It crawled 24 of 31 discovered URLs, labels the crawl partial, reports two missing-title warnings across 24 checked pages, and says rendered JavaScript and AI checks were not evaluated.
Want the full-site version?
This page is technical-only by design. If you want the broader audit — technical plus on-page, content, and off-page — that’s the SEO Audit ChecklistAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory., a separate, wider thing. Don’t try to make this one page do both jobs.
AI summary
A condensed take on the Advanced version:
- Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. = the floor. Google’s four conditions: crawlable, indexable, understandable, renderable. Meeting them is necessary but not sufficient — “indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed.”
- Gate by site type, not just topic. Most small sites can skip crawl budgetThe number of URLs an engine will crawl in a timeframe., faceted-nav control, log analysis, and JS-renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. engineering. Google’s own thresholds: 1M+ pages changing weekly, or 10K+ changing daily, or lots of “Discovered - currently not indexedA Google Search Console Page Indexing status meaning Google knows the URL exists but hasn't crawled it yet — the Last Crawl date is empty. Often a crawl-capacity or crawl-demand (site-quality) signal..”
- Priority order: crawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. (
robots.txt, 4xx/5xx, redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency.) → indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. (coverage, canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it., duplicates) → HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' + mixed contentMixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable. → mobile-first parity → XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. + IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. → structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. → Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.. - Two myths to kill:
robots.txtdoes not deindex (blocked-but-linked URLs can still appear bare); structured data is not a ranking factor (rich-result eligibility only). - CWV are targets, not gates — Google’s “strive to” language: LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. < 2.5s, INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. < 200ms, CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. < 0.1. And “Google Search always seeks to show the most relevant content, even if the page experience is sub-par.”
- Mobile-first parity: same content, titles/meta, structured data, robots meta tags, and alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. across mobile and desktop; don’t lazy-load primary content on interaction.
- Prioritize by impact (solve the client’s actual pain point; 80/20). A checklist gets you “okay”; topical depth wins.
- Full-site version (technical + content + links) = the separate SEO Audit ChecklistAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory..
Official documentation
Primary-source documentation from the search engines.
- Google Search technical requirements — the crawlable/works/indexable minimums, and the “indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed” caveat.
- Introduction to robots.txt — what robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. does and doesn’t do.
- Build and submit a sitemap — formats, the 50MB/50,000-URL limit, and referencing it in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere..
- Consolidate duplicate URLs — canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. signals and “don’t use robots.txt for canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it..”
- Intro to structured data markup — rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show., and the JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. recommendation.
- Understanding Core Web Vitals — the “strive to” LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good./INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good./CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. targets.
- Page experience in Google Search results — relevance vs. page experience.
- Mobile-first indexing best practices — the mobile/desktop parity requirements.
- Optimize your crawl budget — who actually needs crawl-budget management, with thresholds (formerly titled “Large site owner’s guide to managing crawl budgetThe number of URLs an engine will crawl in a timeframe.”; the doc moved under Google’s CrawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. Infrastructure docs).
Bing / Microsoft
- Keeping Content Discoverable with Sitemaps in AI-Powered Search — Bing’s July 2025 sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. guidance.
- Bing Webmaster Guidelines — crawling, indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., ranking, and quality (cite by reference; the page is JS-rendered).
Quotes from the source
On-the-record statements from Google and Bing. Where a link is a deep link, it jumps to the quoted passage on the source page.
Google — the minimum requirements
- “Client and server error pages aren’t indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..” — Google Search Central, Google Search technical requirements. Jump to quote
- “Just because a page meets these requirements doesn’t mean that a page will be indexed; indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed.” Jump to quote
Google — robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. and canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it.
- “A robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. file tells search engine crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. which URLs the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. can access on your site. This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google.” Jump to quote
- “rel=“canonical” link annotations are a strong signal that the specified URL should become canonical… Don’t use the robots.txt file for canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. purposes.” — Google, Consolidate duplicate URLs. Read the doc
Google — structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. and Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.
- “Adding structured data can enable search results that are more engaging to users… which are called rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show..” — Google, Intro to structured data markup. Read the doc
- “In general, Google recommends using JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale.” Read the doc
- “strive to have LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. occur within the first 2.5 seconds”; “strive to have an INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. of less than 200 milliseconds”; “strive to have a CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. score of less than 0.1.” — Google, Understanding Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.. Read the doc
- “Google Search always seeks to show the most relevant content, even if the page experience is sub-par.” — Google, Page experience. Read the doc
Google — mobile-first indexingGoogle's practice of using the mobile version of a page's content — crawled by Googlebot smartphone — for indexing and ranking. It is not a separate index and not a ranking boost.
- “Google uses the mobile version of a site’s content, crawled with the smartphone agent, for indexing and ranking.” — Google, Mobile-first indexing best practices. Read the doc
Google — crawl budgetThe number of URLs an engine will crawl in a timeframe. (who needs it)
- “If your site doesn’t have a large number of pages that change rapidly, or if your pages seem to be crawled the same day that they are published, you don’t need to read this guide.” — Google, Optimize your crawl budget. Jump to quote
Bing — sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. and IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. (July 2025)
- “XML remains the preferred format for sitemaps.” / “The lastmod field in your sitemap remains a key signal, helping Bing prioritize URLs for recrawling.” — Fabrice Canel & Krishna Madhavan, Bing Webmaster Blog. Read the post
Patrick Stox — how to prioritize an audit
- “If clients are coming to you asking for an audit, they already have a pain point. Talk to them. Solve that one thing and they’ll be happy with the audit.” — Patrick Stox, quoted in Ahrefs’ Free SEO Audit Template. Jump to quote
Which checklist should I actually run?
Don’t run the same 90-item list on every site. Start here.
Q1. How many URLs does your site have, and how fast does content change?
- Under ~10,000 URLs, changing occasionally → run the Starter track and stop: crawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index. sanity check, indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed./canonical sanity check, HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', mobile parity, one XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags., one round of Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., valid structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. where it earns a rich result. Skip crawl budgetThe number of URLs an engine will crawl in a timeframe., faceted-nav control, log analysis, and JS-renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. engineering. Go to Q3.
- 10,000+ URLs changing daily, or 1M+ changing weekly, or lots of “Discovered - currently not indexed” → run the Advanced track (Starter + crawl budgetThe number of URLs an engine will crawl in a timeframe. + faceted nav + JS renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. + logs). Go to Q2.
Q2. Is the site JavaScript-heavy or international?
- JS-heavy (SPA, client-rendered content/links) → add a rendering audit: confirm
critical content and
<a href>links exist in the rendered HTML. This is the item most likely to be silently costing you indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. - Genuinely multi-region / multi-language → add hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., done properly, in its own workstream. If you’re not truly international, skip it.
- Neither → proceed to Q3.
Q3. What did the audit surface — and what should you fix first?
- A crawl/index blocker (robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. disallow on important pages, mass
noindex, wrong canonical, site-wide 5xx) → fix first, always. These gate everything below. - Lots of medium issues, limited time → apply the 80/20: fix the ~20% that moves the needle, and if it’s a client, fix the specific pain point they came to you with first. Don’t hand over 90 undifferentiated line items.
- Only cosmetic/edge issues left → you’ve cleared the floor. Stop optimizing plumbing and go do content and links.
Q4. Do you actually want the full-site version?
- Yes — technical + content + on-page + links → this technical checklist isn’t it. Run the broader SEO Audit ChecklistAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. instead; this page is technical-only by design.
- No — just the technical floor → you’re on the right page.
One-line version: small + stable → Starter track only; big/JS/international → add the advanced sections; then fix crawl/index blockers first and prioritize the rest by impact.
The technical SEO checklist
Two tracks. Run the Starter track on any site; add the Advanced items only if you cleared the site-type gate (10K+ URLs changing daily, 1M+ weekly, or JS-heavy/international).
Starter track — every site
CrawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index.
-
robots.txtdoesn’t disallow anything you want indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. (and does block low-value spaces like internal search). - No important URL is blocked in
robots.txtand relying on anoindex(the trap). - Unexpected 4xx/5xx fixed; important pages return
200. - Redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency./loops collapsed to a single hop.
Indexability
- Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. reconciled — what you want indexed actually is.
- Canonicals point to one preferred version; no conflicting signals across HTML tag, HTTP header, and sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
-
http→httpsandwww/non-wwwconsolidated to one version.
HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.'
- Whole site on HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.';
httpredirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. tohttps. - No mixed contentMixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable. (secure page loading insecure assets).
Mobile
- Mobile version has the same content, titles/meta, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., robots meta tags, and alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. as desktop.
- Primary content isn’t lazy-loaded on user interaction.
SitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.
- XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. lists only canonical, indexable URLs; accurate
lastmod; under 50MB/50,000 URLs per file. - Sitemap submitted in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility., and referenced in
robots.txt.
Structured data
- Schema (JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) valid in the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test, and only used where it earns a rich result.
Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data.
- LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good., INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good., CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. reviewed on field/CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. data against Google’s targets (2.5s / 200ms / 0.1) — treated as targets, not pass/fail gates.
Advanced track — large / ecommerce / JS-heavy / international only
- Crawl budgetThe number of URLs an engine will crawl in a timeframe. reviewed (only if past Google’s thresholds); waste removed (parameters, facets, traps, duplicates).
- JS renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. audited — critical content and
<a href>links present in rendered HTML. - Faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals.: decided which combinations are crawlable/indexable.
- Server logs analyzed for crawl waste and uncrawled important URLs.
- IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. wired up for real-time change submission to Bing and participating engines.
- hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. correct and reciprocal (only if genuinely multi-region/multilingual).
- AI-crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. access explicitly decided in
robots.txt.
The mental models
1. The four conditions — crawlable → indexable → understandable → renderable. Every technical item serves one of these. When a page isn’t performing, find which condition it’s failing before you touch anything: is it even crawlable? Indexable? Understood? Rendered?
2. Floor, not ceiling. Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. clears the floor so content and links can do their work. “IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed” even when you pass — so don’t treat a green technical audit as “SEO done.”
3. Gate by site type. The single most useful move: decide up front which sections don’t apply. Small/stable site → Starter track, skip the advanced plumbing. Large/JS/international → add it. Google gates its own crawl-budget guidance this way; you should too.
4. Signals vs. directives.
Know which controls Google must obey and which are merely strong signals. noindex is a
directive; rel=canonical is “a strong signal” Google can override; CWVGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. targets are
“strive to” goals, not gates. Mislabeling a signal as a guarantee is where most bad
advice comes from.
5. Impact over completeness (80/20). A 90-item checklist is a menu, not a to-do list. Fix the ~20% that moves the needle, solve the actual pain point first, and stop optimizing plumbing once the floor is clear.
6. This is the technical slice. Crawl/index/render/serve mechanics live here; content quality, keyword targeting, and links live in the broader SEO AuditAn SEO audit checklist is the structured set of things you review across a site's technical health, on-page elements, content quality, and off-page authority — used to produce a short, prioritized action plan, not an exhaustive 100–200 item inventory. Checklist. Keep the boundary clean so neither job gets half-done.
Technical SEO — quick-reference
What each control does
| Control | Stops crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.? | Stops indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.? | Use it for |
|---|---|---|---|
robots.txt disallow | Yes | No | Keeping botsA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. out of low-value URL spaces |
noindex (meta/header) | No (must be crawlable) | Yes | Removing a page from the index |
rel=canonical | No | Consolidates (a signal, not forced) | Pointing to the preferred duplicate |
| 301/308 redirectA 308 Permanent Redirect is the HTTP status code for a permanent move that strictly preserves the request method — a POST stays a POST — and, because a compliant client repeats the same request, the body normally travels with it. For SEO it's equivalent to a 301; the difference is the method guarantee, which matters for APIs, webhooks, and form/POST traffic. | Consolidates | Old URL drops | Permanently moving a URL |
| Password protection | Yes (to public bots) | Yes | Actually keeping content private |
Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. targets (Google’s “strive to” numbers)
| Metric | Target | Measures |
|---|---|---|
| LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. | < 2.5s | Loading — largest element painted |
| INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good. | < 200ms | Responsiveness to interaction |
| CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. | < 0.1 | Visual stability (layout shift) |
Crawl-budget “do I care?” thresholds (Google’s own, deliberately rough)
- ~1M+ pages changing about weekly → yes.
- 10K+ pages changing daily → yes.
- Big “Discovered - currently not indexed” bucket → yes.
- Otherwise → “you don’t need to read this guide.”
Fast facts
- SitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. limit: 50 MB / 50,000 URLs per file; XML preferred; reference it in
robots.txt. - Structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.: rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show., not rankings. JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. recommended.
- IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.: Bing/Yandex/others — not Google. Google indexes the mobile version.
- Mobile parity: same content, titles/meta, structured data, robots meta tagsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen., alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search..
Myths and mistakes to avoid
The traps that come up most — several are widely-repeated myths worth correcting:
- “Blocking a URL in
robots.txtkeeps it out of Google.” No. Google: “it is not a mechanism for keeping a web page out of Google.” A disallowed URL can still be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. (bare, no snippet) if it’s linked externally. Usenoindexor password protection. - “Block it in
robots.txtandnoindexit for extra safety.” The single most common self-inflicted wound. If the URL is blocked, GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. never crawls it, so it never sees thenoindex— and the URL can still surface bare. Pick one: allow crawl +noindex, or disallow (accepting it may still appear). - “Adding schema boosts rankings.” No. Google frames structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. purely as rich-result eligibility and machine understanding — not a ranking signal. Sell it as richer results, not higher positions.
- “Passing Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. beats a more relevant competitor.” No. “Google Search always seeks to show the most relevant content, even if the page experience is sub-par.” CWV is a tiebreaker-ish signal, not an override of relevance.
- “CWV thresholds are hard pass/fail gates.” Google’s own word is “strive to” — they’re targets. Chasing a perfect lab score at the expense of everything else is misspent effort.
- “Crawl budgetThe number of URLs an engine will crawl in a timeframe. matters for every site.” No. Google gates its own guide to 1M+ pages (weekly changes) or 10K+ (daily). Most sites are told outright “you don’t need to read this guide.” Don’t burn a small-site engagement on crawl-budget theater.
- “
rel=canonicalis a directive Google must obey.” No — it’s “a strong signal.” Google can and does pick a different canonical when other signals conflict. Reduce conflicting signals rather than assuming the tag wins. - “A green technical audit means SEO is done.” No. “IndexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed” even when you pass. Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. is the floor; content and links still have to show up.
- “Run the same 90-item list on every site.” The differentiator is knowing what to skip. Gate sections by site type, and prioritize by impact, or you’ll drown clients in irrelevant line items.
SOP: run a technical SEO checklist (recurring)
A repeatable pass. Roughly 60–90 minutes for a small site; a day-plus for large/JS-heavy. Run it quarterly, or after any big migration, redesign, or CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. change.
- Confirm the site type and pick a track. Count URLs (Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. → Pages, or a crawl) and note how fast content changes. Under ~10K and stable → Starter track only. Over the thresholds, or JS-heavy/international → add the Advanced sections. This decides what you skip.
- Crawl the site with Screaming Frog, Ahrefs Site Audit, or similar. Capture status codes, redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency., blocked URLs, canonicals, indexability, and depth.
- Check
robots.txtfirst. Fetch/robots.txt, confirm nothing important is disallowed, and check for the disallow-plus-noindextrap. Confirm theSitemap:line is present. - Reconcile indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. In Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.’s Page Indexing reportThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., compare what’s indexed to what you want indexed. Investigate large “Discovered/Crawled - currently not indexedA Google Search Console Page Indexing status meaning Googlebot fetched the page but Google decided not to index it — usually a content- or site-quality signal, not a technical error.” and “Duplicate” buckets.
- Verify HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' and mobile parity. Confirm site-wide HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' with no mixed contentMixed content is when a page served over HTTPS loads a sub-resource — a script, stylesheet, image, iframe, or similar — over insecure HTTP. Browsers' current taxonomy is upgradable versus blockable; active mixed content (scripts, styles, iframes) is blocked, and passive mixed content (images, audio, video) is warned about or increasingly auto-upgraded, with exceptions like CORS-enabled images and srcset/picture candidates that are blockable, not upgradable.. Then compare the mobile-rendered page to desktop for content, titles/meta, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., robots meta tagsThe robots meta tag is an HTML element in a page's head — <meta name=\"robots\" content=\"noindex\"> — that tells search engines how to index and serve that page. It's crawl-then-obey: a page blocked in robots.txt is never fetched, so the tag is never seen., and alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. (Google indexes the mobile version).
- Validate sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. and structured data. Confirm the XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. lists only canonical,
indexable URLs with accurate
lastmod; run key templates through the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test. - Pull Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. from field dataPerformance metrics captured from real users, not lab tests.. Use the CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program./field report in Search Console or PageSpeed InsightsPageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking. — not just lab scores — and compare against the 2.5s / 200ms / 0.1 targets.
- (Advanced track) Analyze logs and crawl budgetThe number of URLs an engine will crawl in a timeframe.. Read server logs for crawl waste and uncrawled important URLs; audit JS renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. and faceted-nav combinations.
- Prioritize the findings by impact, not count. Put crawl/index blockers at the top; apply 80/20 to the rest; if it’s a client, lead with their actual pain point.
- Log a baseline and re-check next cycle. Record the state so next quarter’s pass measures progress, not a fresh start.
Ready-to-use AI prompts
Copy-paste starting points for triaging a technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. checklist with an LLMA large language model (LLM) is a deep-learning model trained on massive text corpora to predict the next token and generate human-like text. LLMs use the transformer architecture and power AI search features like Google's AI Overviews (Gemini) and Bing Copilot (GPT-4).. Always verify LLM output against primary docs and your own crawl data — treat these as drafting aids, not sources of truth.
Pick the right track for a site
I run a website with about [N] URLs, and content changes roughly [how often]. It’s built on [CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms./framework], is [single-language / multi-region], and is [static / JavaScript-rendered]. Based on Google’s own site-size thresholds for crawl budgetThe number of URLs an engine will crawl in a timeframe., tell me which sections of a technical SEO checklistA technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit. genuinely apply to me and which I can safely skip. Be explicit about what to skip and why.
Triage a crawl export by impact
Here is a CSV export from a site crawl [paste columns: URL, status code, indexability, canonical, redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency., robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. status]. Group the issues into (1) crawl/indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. blockers to fix first, (2) medium-impact fixes, (3) cosmetic/low-impact. For each group, explain the SEO consequence in one sentence. Do not tell me to “fix everything” — rank by impact.
Explain a specific indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. status
A batch of my URLs shows “[exact Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. status, e.g. Discovered - currently not indexed]”. Explain the likely causes in priority order, how to diagnose each, and the concrete fix. Flag anything that is a symptom of crawl budgetThe number of URLs an engine will crawl in a timeframe. vs. a per-page problem.
Sanity-check for the robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. + noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. trap
Here is my robots.txt [paste] and a list of URLs I’m trying to keep out of Google [paste]. For each URL, tell me whether my current setup will actually keep it out of the index or fall into the “blocked in robots.txt but still indexable via links” trap, and give the correct fix (allow-crawl + noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed., or password protection).
Draft a prioritized remediation plan
Turn these confirmed technical findings [paste] into a prioritized remediation plan for a developer: blockers first, then impact-ranked, each with the specific change to make and a one-line rationale. The client’s stated pain point is [X] — surface fixes related to that first.
Patrick's relevant free tools
- Scout Site Audit Free — Run a bounded same-site raw-HTML crawl, group technical SEO findings by detector, and export an honest coverage report.
Tools for working the technical SEO checklist
Start with focused tests for the failure you are checking. A single all-in-one score often hides the difference between crawl access, response behavior, indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. signals, renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., and field performance.
Patrick’s free tools
- Google Index Checker checks observable status,
redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.,
noindex, and canonical blockers, then points you to URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. for Google’s actual indexed state. - robots.txt Tester tests URLs against botA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. rules and shows the winning allow or disallow rule. Use it before changing crawl controls.
- XML Sitemap Validator checks sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. syntax, URL inventory, and file problems before you submit the file.
- Canonicalization Checker compares HTML and HTTP canonical signals and tests the target URL for conflicts.
- Bulk HTTP Status Code Checker checks status codes, destinations, chains, and loops across a URL set.
- Schema Markup Validator validates structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. syntax and Google rich-result requirements before release.
- Render Gap compares initial HTML with rendered output for JavaScript-dependent content, links, canonicals, and robots directives.
- Core Web Vitals Checker separates available field dataPerformance metrics captured from real users, not lab tests. from a current performance check so you do not mistake one lab run for user data.
- Mobile-Friendly Tester checks viewport, responsive layout, tap targets, and related mobile implementation signals.
- Log File Analyzer turns server logsLog file analysis is reading a web server's raw access logs to see exactly which URLs search engine crawlers actually requested, when, how often, and what status code they got. Unlike crawl tools or Search Console, logs are the unsampled, ground-truth record of what really happened. into evidence of what search bots actually fetched, which is most useful on large sites.
Search-engine tools
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. provides Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason., URL Inspection, Crawl Stats, SitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., rich-result reports, manual actions, and security issues.
- Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. adds Bing’s first-party index and performance views, IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it., Site Explorer, Site Scan, and Crawl Control.
Crawlers and browser tools
- Ahrefs Site Audit or Screaming Frog SEO Spider is the scalable layer for crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. templates, status codes, directives, internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., and structured data.
- Chrome DevTools exposes the network response, rendered DOM, console errors, and performance trace for individual pages.
- PageSpeed InsightsPageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking. and CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. provide Google’s lab and field performance views; use field data for the standing user-experience baseline when it is available.
Test yourself: Technical SEO Checklist
Five quick questions on what belongs on a technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. checklist and how to prioritize it. Pick an answer for each, then check.
Resources worth your time
My related writing
- The Beginner’s Guide to Technical SEO — the bigger picture this checklist sits inside.
- SEO Audit Template — my 80/20, impact-first framing, and the “solve their actual pain point” advice; also the closest thing to the broader full-site audit.
- The Story of Blocking 2 High-Ranking Pages With Robots.txt — my first-party experiment on what robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. blocking actually does.
- Indexed, though blocked by robots.txt — the mechanism behind the disallow-plus-noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. trap.
- Robots.txt and SEO: Everything You Need to Know.
My speaking
- How Search Works (SlideShare) — my walkthrough of crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., and ranking, which is the pipeline this whole checklist is protecting.
My published work worth citing
- Web Almanac 2021 — SEO chapter — I was lead author; the source for cross-signal canonical-conflict rates across the real web.
- Rankable Ep. 65 — Ranking Technical SEO Priorities (iPullRank) — me on how to prioritize technical issues on a roadmap, which is exactly this checklist’s organizing principle.
From around the industry
- Google Search technical requirements — the definitive statement of the minimums, and the “indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. isn’t guaranteed” caveat.
- Optimize your crawl budget (Google) — the source for the site-size gate (page renamed from “Large site owner’s guide to managing crawl budgetThe number of URLs an engine will crawl in a timeframe.” and moved under CrawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. Infrastructure).
- Keeping Content Discoverable with Sitemaps in AI-Powered Search (Bing) — the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. + IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. guidance most Google-only checklists skip.
- SEO in 2026: Higher standards, AI influence, and a web still catching up (Chris Green, Search Engine Land) — a reality-check on where sites actually stand (HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' 91%+, robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. as a “policy surface”).
- Web Almanac 2022 — SEO chapter (HTTP Archive) — canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it.-method and schema-adoption data across the web.
- Technical SEO Checklist: The Complete Guide (DebugBear) — a strong performance-leaning take on the same territory.
- Technical SEO checklist (90+ points) (Kristina Azarenko) — a thorough, prioritization-minded alternative checklist.
Stats worth citing
- HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' adoption ~91%+. Where sites actually stand on the HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' baseline heading into 2026 (HTTP Archive data, via Chris Green). Source
- Canonical adoption rose from 65% (2024) to 67%+ (2025). Coverage of the canonical tag is climbing but far from universal. Source
- ~67% of images lack a loading attributeLazy loading defers loading of off-screen or non-critical resources — usually images and iframes — until they're about to enter the viewport. The native way to do it is the loading=\"lazy\" HTML attribute, which needs no JavaScript.; 91%+ of iframesHTML element that displays one webpage inside another — how embeds work. lack one. Low-hanging performance wins most sites still leave on the table. Source
- Conflicting canonical signals appeared on ~0.3–0.4% of pages. Small but real — a reason larger sites should check for cross-signal canonical conflicts (Web Almanac 2021 SEO chapter, which I led). Source
- Sitemap fileA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. limit: 50 MB / 50,000 URLs per file — the hard ceiling to split large sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. against (Google). Source
Technical SEO Checklist
A technical SEO checklist is a prioritized list of the technical conditions a site must satisfy — crawlable, indexable, understandable, renderable — so search engines and AI answer engines can access and serve its pages. It's the technical-only slice of a full SEO audit.
Related: Crawling, Indexing, Canonicalization
Technical SEO Checklist
A technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. checklist is a prioritized, ordered list of the technical conditions a website must meet so search engines — and increasingly AI/answer enginesAnswer Engine Optimization (AEO) is the practice of structuring content so engines deliver it as a direct answer — featured snippets, voice assistants, and AI search — rather than just a ranked link. Coined for voice search in 2018 and revived for the LLM era. Google's position is that it's still SEO. — can crawl, render, indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., and serve its pages. Google collapses the whole thing to four load-bearing conditions: pages must be crawlable, indexable, understandable, and renderable.
It’s deliberately narrow. A technical checklist covers crawlabilityCrawlability is how well search engine crawlers can discover, access, and fetch a site's pages. A crawlability issue is any technical condition — blocked access, broken links, server failures, or bloated URL inventory — that stops pages from reaching the index., indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.', mobile-first parity, sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it., and (for big sites) crawl budgetThe number of URLs an engine will crawl in a timeframe. — but not on-page content quality, keyword targeting, or link building. That broader “everything” version is a full SEO audit; the technical checklist is the technical-only floor beneath it.
Two things people get wrong about it:
- Meeting the checklist is necessary but not sufficient. Google is explicit: “Just because a page meets these requirements doesn’t mean that a page will be indexed; indexing isn’t guaranteed.” Technical SEOTechnical SEO is the practice of making a site easy for search engines to crawl, render, index, and (now) be eligible for AI answers. It's the foundation that lets your content and links rank — not a ranking trick of its own. is the floor, not the ceiling.
- Not every item applies to every site. Google itself gates its crawl-budget guidance to very large or fast-changing sites — most small sites can skip whole sections. The best checklists are split by site type, not run identically for a 20-page brochure site and a 500K-SKU store.
Related: Crawling, Indexing, Canonicalization
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 25, 2026.
Editorial summary and recorded change details.Summary
Updated the public name of the bounded site-audit tool in the scoped-crawl example.
Change details
-
Renamed SEO Site Audit Crawler to Scout Site Audit Free in the tool pitch and its image descriptions.
Full comparison unavailable — no prior snapshot was archived for this revision.
Updated Jul 19, 2026.
Editorial summary and recorded change details.Summary
Google renamed and moved its large-site crawl-budget guide (now 'Optimize your crawl budget' under Crawling Infrastructure docs, was 'Large site owner's guide to managing crawl budget' under search/docs/crawling-indexing); updated all four citations to the new URL and re-verified every quoted Google/Bing sentence in the article word-for-word against the live pages. No facts, thresholds, or figures changed — all verified exact-match.
Change details
-
Repointed the crawl-budget citation (body link, Official Docs lens, Quotes lens deep link, and Resources lens) from the old developers.google.com/search/docs/crawling-indexing/large-site-managing-crawl-budget URL, which now 301-redirects, to its current location at developers.google.com/crawling/docs/crawl-budget, and noted the doc's new title.
Full comparison unavailable — no prior snapshot was archived for this revision.