Your site is live, traffic is flat, and someone told you to "run a technical audit." That usually means opening a crawler, staring at 40 tabs of issues, and fixing things in whatever order the tool lists them.
Don't do that. Run the audit in this order instead — it takes about an hour on a small site, and you only need a free crawler to do it.
Disclosure: I work with SEOSage, one of the desktop crawlers listed here. Everything below works in any crawler, including the free ones. Skip the comparison table entirely and the checklist still does the job.
What you need before you start A desktop crawler. Screaming Frog SEO Spider (free up to 500 URLs), Sitebulb (free trial), or any equivalent that runs on your own machine. Desktop crawlers run locally, so there's no upload queue and no per-page metering while you learn. Google Search Console access for the site (free, and you'll use it to cross-check the crawl). A spreadsheet to log what you found and what you changed. A simple sheet with URL / Issue / Fixed? columns is enough. An hour with no meetings. Audits get abandoned halfway more often than they get finished.
Open your crawler, paste in your homepage URL, and start with the default configuration. For a first audit you don't need JavaScript rendering, external link checking, or API integrations turned on. A plain crawl of internal HTML pages is the right scope.
While it runs, note three numbers at the end: total URLs found, how many returned a 200 status, and how many were redirects or errors. Those three numbers are your baseline. Every fix below moves one of them.
If your site is bigger than your free crawler's limit, crawl in sections: homepage plus one directory at a time (for example /blog/, then /products/). The checklist works the same on a partial crawl — you just repeat it per section.
5xx errors (server errors). These are the only truly urgent ones. A 500 means the page is down for everyone, including Google. Fix the server issue or restore the page before anything else on this list.
404s (not found). For each broken URL ask two questions: does anything internal link to it, and did it used to have content? If it had content and internal links, either restore the page or redirect it to the closest equivalent. If it never had content and nothing links to it, leave it — a clean 404 is fine.
Redirects (3xx). A single redirect is not a problem. Chains are. Sort by redirect chain length and flatten anything with two or more hops so every old URL lands directly on the final page. Look specifically for loops (A → B → A), which crawlers flag clearly and browsers handle badly.
Write every fix into your spreadsheet as you go. Do not trust yourself to remember which 404 you decided to leave alone.
A page can return a perfect 200 and still be invisible to Google. In your crawl, check three signals: noindex tags. Look for pages carrying a meta robots noindex or an X-Robots-Tag: noindex header. On a first audit, most of these are staging leftovers or a theme default someone forgot to remove. Every important page — homepage, services, products, key articles — should be indexable. robots.txt blocks. Check whether any important directory is disallowed. Crawlers show this as "blocked by robots.txt." A blocked page can't be crawled, so Google only sees it if other sites link to it. Canonical tags. Each page should either canonical to itself or deliberately point at a preferred version. Watch for: canonicals pointing to the homepage from every page (a classic plugin misconfiguration), canonicals pointing at redirected URLs, and missing canonicals on paginated or parameter versions of pages.
Cross-check in Search Console under Pages → Why pages aren’t indexed. If the crawler and Search Console disagree, believe Search Console about what Google actually did, and use the crawler to find the cause.
Filter for these four problems: Missing title tags. Usually templates that were never finished. Duplicate titles. Often product or category pages generated from the same template. Rewrite the worst offenders manually; fix the template for the rest. Missing or multiple H1s. One H1 per page that matches what the page is actually about. Multiple H1s aren't a disaster, but a missing H1 usually means a heading structure problem worth fixing. Overly long titles. Anything much over ~60 characters gets truncated in results. Shorten the ones on pages you actually want clicked — don't churn through all of them.
Do not rewrite every title on the site in one sitting. Fix missing and duplicate first; they carry the most weight for the least effort.
Internal links are how both visitors and crawlers distribute attention around your site. Look for: Orphan pages: URLs with zero internal links pointing to them. Crawlers compute this from the crawl itself; Search Console also lists some under "Alternate page" reports. If a page matters, link to it from a relevant parent page. If it doesn't matter, consider removing it rather than leaving it stranded. Pages buried too deep: anything more than 3–4 clicks from the homepage tends to get crawled rarely and ranked weakly. Flatten where it makes sense for humans, not just bots. Broken internal links: every internal link pointing at a 404 or a redirect chain is wasted. Your status-code work in Step 2 gives you the target list; now fix the source links.
Your XML sitemap is a promise; your crawl is the reality. Compare the two lists: In sitemap but not crawlable (404, redirected, noindexed): remove or fix. A sitemap full of dead URLs wastes crawl attention and signals neglect. Crawlable and important but not in sitemap: add it, especially new sections the sitemap generator missed. Redirected URLs in the sitemap: update them to the final destination URL.
In Search Console, submit the cleaned sitemap and note the date. Sitemap fixes are boring and genuinely effective — this is the step people skip that shouldn't be skipped.
