Essential technical SEO checks: a checklist to hand to your developers

Search visibility and indexing Updated 8 min read

If an agency report only says that technical SEO needs improvement, without saying which items to fix or by what standard, you cannot write a request for your development team.

A request with four columns (item, verification method, pass criteria and source document) gives the developer a work ticket they can use as is. The pass criteria column in the checklist is drawn from the official Google Search Central and web.dev documentation.

1. An eight-item checklist for your development team

With these four columns, the table becomes a work request: what to check, how to check it, what counts as passing, and the source. PION delivers site audit findings in this format. The first three items are "Googlebot is not blocked," "The page works," and "The page has indexable content," which the Google Search technical requirements (updated December 18, 2025) list as the minimum conditions for being eligible for indexing.

Checkpoint Verification method Passing standard Source document
1. Bot access Fetch /robots.txt and check the Disallow lines for each User-agent group Public paths appear in no group's Disallow Search technical requirements
2. Status code Search Console URL Inspection or the DevTools Network tab 200 Search technical requirements
3. Index-blocking tags Search the source for noindex and the response headers for X-Robots-Tag Public pages have no noindex Search technical requirements
4. Body content in the raw HTML Search for a body sentence in a browser with JavaScript disabled and in the curl response The title, body, and internal links are present in the raw HTML JavaScript SEO basics
5. Canonical URL Check the rel=canonical value in the source with the canonical URL field in URL Inspection The two values match How to specify a canonical URL
6. Internal link addresses Check the link addresses in menus and lists against the value from item 5 Links point to the canonical address rather than a variant address How to specify a canonical URL
7. Page experience PageSpeed Insights or the Search Console Core Web Vitals report At the 75th percentile, LCP 2.5 seconds, INP 200 milliseconds, CLS 0.1 or below Web Vitals
8. AI search bot rules Check the groups for each bot name in the same robots.txt Search bots are not blocked by Disallow: / RFC 9309, Anthropic crawler guidance

Three representative pages are enough for this check. Choose your home page, your flagship service page, and one recent post, then mark them off in order.

  1. Fetch /robots.txt and copy the User-agent groups for items 1 and 8 next to the table.
  2. Disable JavaScript in your browser settings and reload the three pages. If the title, body, and internal links remain intact, item 4 passes.
  3. Fetch the same address with curl and search for one body sentence. If there is no result, item 4 fails.
  4. Mark items 2, 3, and 5 using Search Console URL Inspection, item 6 using the menu link addresses, and item 7 using the PageSpeed Insights results.
  5. Pull out only the failing items and hand them to your development team. The pass criteria define when the work is complete; the source document explains where those criteria come from.

2. Indexing conditions for pages rendered with JavaScript

Google runs JavaScript in a separate rendering stage. That is why we decided that item 4 passes only when the body content is in the raw HTML. Understanding the basics of JavaScript search engine optimization (updated March 6, 2026) explains that "If Google's resources are allowed, headless Chromium renders the page and runs JavaScript."

There is no way for the owner to view the rendering result. The same document states that "There's no way to check right away if a page is waiting to be crawled and rendered." If the screen is blank with JavaScript disabled and the curl response also has no body sentence, then that body content appears only after rendering.

3. How does Google handle the same content at multiple addresses?

Google picks one of the duplicate addresses as the canonical URL and consolidates performance and link signals there. Items 5 and 6 help align that choice with your intended canonical URL. How to specify a canonical URL (updated July 15, 2026) describes rel=canonical as "a strong signal that the specified URL should become the canonical URL," and places sitemap inclusion as a weaker signal than that.

The recommendation you can put straight into a development request is internal links. The same document advises that "consistently linking to the URL you consider canonical helps Google identify your preferred page." If links point to addresses with tracking parameters attached, item 6 fails.

4. Pass criteria for Core Web Vitals

While Google states that its ranking systems use Core Web Vitals, it also specifies that there is no single signal for page experience. That is why we set the pass line for item 7 at the recommended values rather than a perfect score. Understanding page experience in Google Search results (updated December 18, 2025) states that "Google Search ranking systems use Core Web Vitals," while noting that other page-experience factors do not directly boost search result rankings.

The threshold values are those that the Web Vitals document (updated October 31, 2024) defines as a good experience.

  • LCP within 2.5 seconds
  • INP of 200 milliseconds or less
  • CLS of 0.1 or less

Measurement is set at "the 75th percentile of page loads, segmented across mobile and desktop devices."

5. When site size makes crawl budget relevant

It does not apply to most brand sites, so we did not include it in the checklist. Managing crawl budget (updated August 5, 2026) limits its intended audience to sites with "at least 1 million unique pages" and sites with "at least 10,000 unique pages with content that changes very frequently (daily)," and advises that "if pages seem to be crawled on the same day they're published, you don't need to consult this guide."

If a site with fewer than 10,000 pages is told to improve its crawl budget, ask what that recommendation is based on. The order for checking proposal items is in Choosing an AEO or GEO marketing agency: What to check and which sources AI cites.

6. Why check AI search bot rules separately?

Because robots.txt applies groups separately for each bot name, checking only Googlebot in item 1 leaves the AI search bot rules outside the scope of your audit. RFC 9309 states, for a bot that has no group under its own name, "crawlers MUST obey the group with a user-agent line with the "*" value, if present". If a Disallow: / left in during development remains in the * group, AI search bots receive the same rule.

Each bot name has its own purpose. Anthropic's crawler guidance (April 7, 2026) states that Claude-SearchBot "navigates the web to improve search result quality for users," and classifies ClaudeBot as collection for training. You can block only the training bot while allowing the search bot.

Because no public document states that other search bots go through the same rendering, we based item 4 on the raw HTML. If you are considering an agency, we have listed five things to ask before signing a contract in GEO agency recommendations: Why AI answers change and how to choose.

If any of items 1 to 3, the ones that block indexing, fail, even newly published posts will not be indexed. You can see the order in which PION handles site audits and publishing in the GEO agency service overview. To first mark whether bot access and indexing are blocked, use the AI answer visibility basics check; its 8 items follow the same order as this checklist.

Frequently asked questions

Where should you start when auditing technical SEO?

Start with bot access, then status codes, then index-blocking tags. Google's search technical requirements set these three as the minimum conditions for being eligible for indexing, so canonical URLs and Core Web Vitals only matter once the first three items pass. PION also builds its checklist in the same order when auditing brand sites.

How do you hand a technical SEO checklist to your development team?

Send only the items marked as failing, with the same four columns: item, verification method, pass criteria and source document. The pass criteria column becomes the completion condition and the source document column links to the official documentation, so the developer does not need to ask again what counts as done. If you hand over the entire table, even items that already pass become work targets.

Are sites built with JavaScript at a disadvantage in technical SEO?

Not if the body content is in the raw HTML. Google's documentation states that it runs JavaScript with headless Chromium during the rendering stage, but the same document says that site owners have no way to directly view a page waiting to be rendered. No public document states that other search bots do the same processing, so use a browser with JavaScript disabled and curl to check whether the body content is in the raw HTML.

What values should you target for Core Web Vitals?

The recommended threshold values are, at the 75th percentile, LCP 2.5 seconds, INP 200 milliseconds, and CLS 0.1 or below. Google states that there is no single ranking signal for page experience, and writes that page-experience factors other than Core Web Vitals do not directly boost search result rankings. Rather than aiming for a perfect score, you can set the recommended values of the three metrics as your passing standard.

Should crawl budget be a checklist item too?

If your site has fewer than 10,000 unique pages, you don't need to include it. Google's crawl budget document limits its intended audience to large sites with at least 1 million unique pages and sites with at least 10,000 pages that change daily. If you are not at that scale, the same document advises that keeping your sitemap up to date and regularly reviewing the page indexing report is sufficient.

Category
Guide

Start by measuring whether AI answers mention your brand

We ask ChatGPT, Gemini, Google AI Overviews and AI Mode your customers' questions and record where the brand stands today.