Technical SEO is invisible when it works and expensive when it does not. These are the checks I run on every site, in the order that matters.
Crawling
- Robots file is reachable, valid and not blocking anything important
- An XML sitemap exists, is valid and is referenced from robots.txt
- No accidental noindex on pages you want ranked
- Unknown URLs return a real 404 status, not a soft 404 served as 200
- Important pages are reachable within three clicks of the home page
The soft 404 check catches more sites than any other item on this list. If a wrong URL quietly returns the home page with a 200 status, crawlers waste budget and users get confused.
Rendering
- Core content is present in the initial HTML, not only injected by JavaScript
- No render-blocking resources in the document head
- Mobile layout parity with desktop, including hidden content
- Fonts load without causing layout shift
Indexing
- Canonical tags point to the correct URL on every page
- Pagination uses real, crawlable links with rel next and previous
- Old URLs redirect with a single 301 hop, not a chain
- Duplicate versions resolve to one canonical version
- Faceted or filtered URLs are handled deliberately, not left open
Speed
- Images compressed and served at the size they are displayed
- Caching headers set for static assets
- Server response time under two hundred milliseconds
- Text compression enabled for HTML, CSS and JavaScript
Structured data
Add the schema that matches each page type: ProfessionalService or LocalBusiness for the home page, Service for service pages, Article for blog posts, and BreadcrumbList for navigation. Validate it, and keep it consistent with what is actually visible on the page.
Monitoring that actually helps
Connect a search console account and review the coverage report monthly. Set alerts on sudden drops in impressions rather than waiting for a ranking report to notice, because a deindexing problem found in week one costs far less than one found in month two.
Common mistakes that undo the work
The audit finds problems, but a few habits create them again. Editing a live template without a staging copy is the most frequent. Changing robots rules during a traffic slump is another, because blocking a crawler rarely fixes a ranking drop and often makes it worse. Leaving redirect chains in place after a migration is a third, since each extra hop dilutes the signal and slows the fetch.
Two smaller ones matter just as much. Publishing a page before its canonical and title are set, and forgetting to resubmit a sitemap after a large content change. Both are easy to prevent with a short release routine.
What to measure each month
- Indexed page count against submitted pages
- Crawl requests and any sudden fall in them
- Server response time across a sample of key pages
- Core web vitals on mobile, separated from desktop
- Count of redirects and broken internal links
Track the same five numbers every month rather than reading the whole report. Trends expose problems that a single snapshot hides.
Once the technical side is stable, move to on-page SEO and internal linking, where changes are cheaper and often move rankings faster.
Finally, keep a simple change log. When traffic moves, the first question is always what changed on the site, and a log answers it in seconds.