A technical SEO audit answers one question: can search engines find, crawl, render and index the pages you care about, and is anything on the site holding them back? Content and links decide how well you rank. Technical health decides whether you are in the running at all.
This is the process we follow at ClicZeo, in the order we follow it. Each step builds on the one before, so resist the urge to jump straight to page speed scores.
What you need before you start
- Google Search Console access (Owner or Full user)
- Bing Webmaster Tools, which is free and often surfaces different issues
- A crawler: Screaming Frog (free up to 500 URLs), Sitebulb, or similar
- PageSpeed Insights for Core Web Vitals field data
- Access to server logs if possible, for larger sites
- A spreadsheet to record every issue with its URL count, severity and owner
Step 1: Check indexing status first
Start with what Google has already concluded about your site. In Search Console open Indexing → Pages and note the indexed and not-indexed totals. Then work through each "Why pages aren't indexed" reason:
- Not found (404) and Soft 404: Are these URLs you deleted on purpose, or live pages that are broken? Soft 404s often mean empty templates, error pages returning 200, or very thin pages.
- Page with redirect / Alternate page with proper canonical tag: Usually expected. Check that none come from your sitemap or current internal links.
- Duplicate without user-selected canonical: Google found near-identical pages and picked one itself. Add explicit canonicals or consolidate.
- Crawled – currently not indexed: Google fetched the page and decided it was not worth indexing. This is a quality signal, not a technical bug, and it is often the most important line in the report.
- Discovered – currently not indexed: Google knows about the URL but has not crawled it. On small sites this points to low perceived site quality or weak internal linking.
Switch the filter to "All submitted pages" to see how the URLs in your sitemap are faring. Your sitemap is your declared list of important pages, so this is the number that matters most.
Step 2: Crawl the site
Run a full crawl starting from the homepage, then a second crawl in list mode using your sitemap URLs. Comparing the two reveals:
- Orphan pages: in the sitemap but not reachable through internal links
- Missing pages: linked internally but absent from the sitemap
- Status code problems: internal links to 404s, 5xx errors, and redirected URLs
- Redirect chains and loops
- Crawl depth: important pages more than three or four clicks from the homepage
Step 3: Review robots.txt and directives
- Confirm robots.txt is not blocking important sections, or the CSS and JavaScript needed to render pages.
- Confirm robots.txt references your sitemap.
- Export every page with a
noindextag orX-Robots-Tagheader and confirm each one is intentional. - Check that no staging or development subdomains are publicly indexable.
Step 4: Audit the XML sitemap
Every URL in the sitemap should return 200, be self-canonical and indexable, and deserve to rank. Remove redirects, 404s, parameter URLs and thin pages. Make sure lastmod reflects real content changes rather than bulk updates. Our XML sitemaps guide covers this in detail.
Step 5: Check canonicalisation and duplication
- One version of the site should resolve: https, and either www or non-www, with the others 301-redirecting to it.
- Every indexable page should have a self-referencing canonical tag.
- Parameter URLs (filters, sorts, tracking) should canonicalise to the clean version.
- Look for near-duplicate content: several articles targeting the same query, location pages that differ only by a place name, or copies of the same article under different URLs. These compete with each other and can trigger quality or spam classifiers. Consolidate them into one strong page and 301 the rest.
Step 6: Test rendering
Use URL Inspection's live test on one URL per template (homepage, service, category, article). Compare the rendered HTML with the raw source. Main content, internal links, canonical tags and structured data should all be present without relying on client-side JavaScript. See our guide to JavaScript SEO rendering issues if they are not.
Step 7: Review site architecture and internal linking
- Key service and category pages should be linked from the main navigation.
- Articles should link to the relevant service page and to closely related articles, using descriptive anchor text.
- Find pages with few or no internal links pointing to them and connect them from relevant content.
- Check that the blog's category and tag pages are genuinely useful, not hundreds of near-empty archive pages.
Step 8: Measure Core Web Vitals
Use the Core Web Vitals report in Search Console and PageSpeed Insights field data, not just lab scores. The three metrics are Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS). Fix issues by template: one fix to the article template improves every article.
Step 9: Check mobile usability and HTTPS
- Content and structured data should be the same on mobile and desktop, because Google indexes the mobile version.
- Tap targets, font sizes and viewport settings should work on small screens.
- All pages should load over HTTPS with no mixed-content warnings.
Step 10: Validate structured data
Run key templates through the Rich Results Test and review the Enhancements reports in Search Console. Structured data must match visible content. For example, only mark up FAQs that actually appear on the page, and include accurate datePublished and dateModified values.
Step 11: Check international and local signals (if relevant)
Multi-language or multi-region sites need correct hreflang tags, including return links. Local businesses should have consistent name, address and phone details in the footer, on the contact page, in LocalBusiness schema and on their Google Business Profile.
Step 12: Review server logs (larger sites)
Log files show what Googlebot actually crawls. Look for crawl time spent on parameter URLs, redirects or 404s, and for important sections that are rarely crawled. On sites with a few hundred pages this step is optional.
Prioritising what you find
An audit that produces 200 equal-weight issues is not useful. Score each finding on impact and effort:
| Priority | Examples |
|---|---|
| Critical | Important pages noindexed or blocked, site-wide canonical errors, large-scale duplicate or doorway content, 5xx errors |
| High | Many pages "crawled – not indexed", broken internal links, redirect chains, soft 404s on real pages |
| Medium | Core Web Vitals failures, missing structured data, orphan pages |
| Low | Minor metadata length issues, non-critical image optimisation |
How often to audit
Run a full audit at least once a year, and after any redesign, migration or CMS change. In between, check the Search Console Pages and Core Web Vitals reports monthly. A sudden rise in any "not indexed" reason is your early warning.
Want an expert to run this for you? Our SEO services include a full technical audit with a prioritised fix list, and for larger organisations our B2B enterprise SEO team handles audits across complex, multi-site setups.
