SEO audit checklist
Each part of an SEO audit as a list you can work through, from your Search Console data to AI search.
Work through the areas in order. Each item says what to check and, where a report or tool shows it, names it.
Start with Search Console's own reports, then use a crawler to find what they point to.
On this page
What you need before you start
You need access to your site's Google Search Console property and your analytics, if you have them.
You also need a crawler that lists each URL with its status code, title and canonical tag. Screaming Frog SEO Spider is one: without a license it crawls up to 500 URLs in a single crawl.
Record each finding as you go, with its evidence: the report or crawl, the URLs and the date. The SEO audit template has a row for each item on this page.
Data and set-up
- Search Console property: check that you can open it and that it covers the address your visitors use. Note any form of the address it leaves out, such as with or without www.
- Analytics tracking: check that visits are recorded on every page template, the layout a set of pages shares, such as product pages or blog posts. Open one page of each template and look for the visit in your analytics' real-time report.
- Search performance: export clicks and impressions by page and by query from the Performance report. Take the longest date range it offers, as your baseline.
- Site changes: list the dates of redesigns, migrations and platform changes. Read the traffic data against them.
- Manual actions and security issues: open both reports in Search Console. Any issue listed there goes first in your plan.
- Bing Webmaster Tools: if you want the site found in Bing, check that it is verified there and that its sitemap is submitted.
Indexing and crawling
- Pages left out of the index: open the Page indexing report and read the reason for each group of URLs not indexed. Check that no page you want found is among them.
- Key pages: inspect each with the URL Inspection tool. Check that it is indexed and that the Google-selected canonical is the URL you declared.
- robots.txt: read it line by line and check that it blocks no page or file you want in search. A page blocked in robots.txt can still be indexed if other sites link to it.
- noindex rules: crawl the site and list pages with noindex in the robots meta tag or the X-Robots-Tag header. Remove it from each page you want indexed.
- XML sitemaps: open the Sitemaps report and check that each sitemap was read without errors. Check that it lists the canonical URLs you want indexed, each returning a page.
- Pages with no internal links: compare the URLs in your sitemaps with the URLs a crawl finds through links. Link to each page you want found from another page on your site.
Technical
These are the first technical checks. The technical SEO audit checklist covers each area in depth.
- Status codes: crawl the site and list internal links that lead to an error or a redirect. Point each link that redirects at the final URL, and fix or remove each link to an error.
- One address for the site: check that your home page address, with and without www and on http, reaches one https address in a single redirect.
- Core Web Vitals: open the Core Web Vitals report and note the URL groups marked Poor or Need improvement, on mobile and desktop.
- Mobile: check that your mobile pages hold the same content, headings and structured data as your desktop pages.
- Rendering: view the crawled page of a key template in the URL Inspection tool. Check that the main content and links are in its HTML.
- Structured data: run one page of each template through the Rich Results Test. Fix the errors it reports.
On-page
- Title tags: check that each page has its own title that says what the page is about. Use a crawl to list missing and duplicate titles.
- Meta descriptions: check that key pages have a description that sums up the page. Google builds the snippet mainly from the page's content, so read the snippets your pages get.
- Main heading: check that each page has one main heading that matches what the searcher came for.
- Internal links: check that links to your key pages use anchor text that says what the target page is about.
- Images: check that images that carry meaning have alt text that describes them. Google uses alt text, with the page's content, to understand what an image shows.
- URLs: check that URLs use readable words rather than long ID strings or session parameters.
Content
- Pages that lost traffic: in the Performance report, compare the last three months with the three months before. List the pages and queries that lost clicks.
- Pages with no clicks: list pages with impressions but no clicks in the Performance report. Then list pages with no impressions at all: the crawled URLs that the report does not list. Decide for each one: improve it, merge it or remove it.
- Pages that compete: find queries for which two or more of your pages appear in the Performance report. Check whether those pages answer the same need.
- Keyword targeting: check that each key page has a query it is meant to answer, and that its title and main heading use those words. Compare with the queries it gets in the Performance report.
- Search intent: search each key query and look at the results. Check that your page is the kind of page they show: a list, a guide, a tool or a product page.
- Helpful content: read key pages against the questions in Google's guide to creating helpful, reliable, people-first content. Note where a page says nothing a searcher could not find elsewhere.
- Dates and authors: check that advice pages say who wrote them and when they were last updated, and that the date is true.
Links
- External links: open the Links report in Search Console and note which of your pages other sites link to.
- Linked pages that fail: check that every page other sites link to still returns a page. Redirect each missing one to a live page on the same topic, and let the others return a not-found status.
- Paid links: check that links on your site that are ads or paid placements carry the rel value sponsored or nofollow.
AI search
OAI-SearchBot surfaces websites in ChatGPT's search features. A site that blocks it is not shown in ChatGPT search answers, though it can still appear as a navigational link. PerplexityBot surfaces and links websites in Perplexity's search results; it is not used to crawl content for AI foundation models. Anthropic's Claude-SearchBot navigates the web to improve search result quality for users. Disabling Claude-SearchBot prevents Anthropic from indexing your content for search optimization, which may reduce your site's visibility and accuracy in user search results.
Google-Extended is a robots.txt token, not a separate crawler: it lets you manage whether content Google crawls from your site may be used to train future Gemini models that power Gemini Apps and the Vertex AI API, and whether it may be used for grounding, which gives the model content from the Google Search index when it answers, in Gemini Apps and in Grounding with Google Search on Vertex AI. Google-Extended does not affect whether your site is included in Google Search.
To be eligible to be shown as a supporting link in Google's AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet. Google lists no additional technical requirements.
Disallowing GPTBot indicates that your content should not be used to train OpenAI's generative AI foundation models. Restricting ClaudeBot signals that your site's future content should be left out of Anthropic's AI model training. OpenAI treats its settings for OAI-SearchBot and GPTBot as independent: you can allow OAI-SearchBot so that your site can appear in search results while disallowing GPTBot.
- AI crawlers in robots.txt: check the rules for OAI-SearchBot, GPTBot, PerplexityBot, Claude-SearchBot and ClaudeBot, and for the Google-Extended token. Allow the crawlers you want to reach your pages.
- Firewall and CDN: check that your bot protection lets the crawlers you allow in robots.txt reach your pages. Read your CDN or server logs for their requests; Google-Extended sends none of its own.
- AI answers: ask ChatGPT, Perplexity, Gemini and Claude the questions your buyers ask, and search them on Google for any AI Overview. Record the service, the date, whether your site was cited and how it was described.
- Text and structured data: check that key facts are in the page text, not in images alone, and that structured data matches the visible text.
What to fix first
Fix first any manual action or security issue. Then fix what keeps the pages you want found from being crawled or indexed: robots.txt blocks, noindex rules, server errors and canonical tags that point to another URL, which Google reads as a strong signal that the other URL should be canonical.
Rank the other fixes by what each is worth to the business and the work it takes.
Write each fix with the URLs or templates it affects, what to change, what it should change in search and the number to watch.
Keep the evidence beside each finding, so whoever makes the fix can see why it is needed.
If you would rather have an audit done for you
I audit one website: its technical SEO, its content and how it appears in AI search, using your own Search Console data and, if you give access, your analytics.
I read and check every finding before you see it. AI tools draft parts of the report.
Each fix in the plan is ranked by what it is worth to your business and the work it takes.