The SEO Audit Framework We Run Before Touching a Single Page
Most SEO audits are theater. A 60-page PDF lands on the marketing team's desk, nobody ships anything, and six months later the site still can't rank. We've done hundreds of audits for growth-stage brands across SaaS, DTC, healthcare, and fintech, and the pattern is always the same: three to five fixes explain 80% of the ceiling. The audit's job is to find those fixes fast and hand them to engineering in a form they can actually ship.
This piece walks through the 14 checks we run, in the order we run them, with the specific tools and queries at each step. It's the actual framework we use on paid engagements — not a generic checklist. If you want to pressure-test your own site, everything here is reproducible with Google Search Console, a Screaming Frog license, and about a week of focus.
Why most SEO audits fail to move the needle
The average SEO audit fails because it confuses comprehensiveness with usefulness. Every issue gets flagged equally: a missing alt tag sits next to a site-wide indexation bug. The marketing lead reading the deliverable can't tell which three things would actually move organic traffic next quarter, so they pick the easy ones — meta descriptions, image alt text, a few internal links — and never ship the actual fix.
A useful audit does three things. First, it prioritizes ruthlessly: the output fits on one page, ordered by estimated traffic impact, implementation difficulty, and owning team. Second, it's written for engineers and product managers, not for SEO specialists: every fix has an owner, an acceptance criterion, and a rough ship estimate. Third, it names what NOT to do — the 40 low-priority items that look appealing but would consume engineering time without changing organic trajectory. We close every audit with a 'do not bother with this' section because it's often more valuable than the punch list itself.
The 14 checks we run, in order
The order matters. You don't spend an hour optimizing meta descriptions on a page that isn't indexed. You don't fix internal linking on a site with a rendering bug. Each check builds on the one before, and the first six are non-negotiable gates.
1) Index coverage — pull Search Console's coverage report and confirm which pages Google is actually indexing versus what the sitemap claims. Any discrepancy over 20% is a red flag. 2) Rendering — crawl with Screaming Frog in JavaScript mode, compare the DOM to source HTML, and confirm critical content isn't hidden behind client-side rendering that Googlebot skips. 3) Core Web Vitals — look at real-user data from Chrome UX Report, not lab scores. 4) Mobile parity — confirm the mobile version has the same content, internal links, and structured data as desktop. 5) Internal linking — map the link graph and flag money pages with under five inbound internal links. 6) Orphan detection — any indexed page with zero internal links is either a bug or something that should be deleted.
7) Crawl budget — sample the log files. Are bots spending their time on low-value URLs? 8) Structured data — validate with the Rich Results Test and Schema Validator; render-test JSON-LD because tools like curl miss JS-injected schema. 9) Canonical hygiene — every page has a self-referencing canonical, no cross-language canonicals, no canonicals pointing to 404s. 10) Duplicate meta — title and description tags that repeat across more than three pages. 11) Log file review — what's Googlebot actually crawling, and how often? 12) Keyword cannibalization — use GSC to find queries where multiple pages compete. 13) Title-tag CTR — filter GSC for pages with impressions over 1,000 and CTR below the category median. 14) Content depth versus intent — read the top three ranking competitors for every target query and honestly answer: does our page earn the click?
Where we actually find the biggest wins
Nine out of ten times, the highest-ROI fix isn't technical. It's an information-architecture problem. Pages that should be consolidated exist as three competing URLs that split authority. Pages that should be broken into three specific landing pages exist as one vague catch-all that ranks for nothing. We've seen sites pick up 40% organic growth from a single consolidation round — no new content, no link building, just the right pages pointing at the right queries.
The second-most-common unlock is title-tag CTR. A page ranking position three with a 3% CTR is leaking traffic that should be going to position-five pages with 6% CTR. Rewriting the title and meta description to match the actual query intent — not clever marketing copy — typically lifts CTR within a week and can push the page up a position or two as engagement signal flows back.
The third is internal linking to money pages. If your category pages and product pages aren't getting at least 10–15 internal links from high-authority content like blog posts and guides, you're strangling their ability to rank. A one-day project to audit internal links and add 40–60 new ones routinely delivers high-single-digit to low-double-digit organic lifts in 30–60 days.
How to run a lightweight version of this yourself
If you don't have an agency budget, you can capture 80% of the value with three tools: Google Search Console (free), a Screaming Frog license ($249/year), and a good spreadsheet. Start with GSC's coverage report and the top-performing URLs by query. Group those URLs by intent — what's the query actually asking? You'll immediately see which pages are satisfying intent and which are ranking by accident.
Next, run Screaming Frog with JavaScript rendering on and compare the indexed URLs to what's actually in your sitemap. Every discrepancy is a signal: an indexed page with no internal links, a sitemap URL that returns a soft 404, a canonical pointing somewhere unexpected. Fix the top 20 discrepancies and watch Search Console for two weeks.
Finally, for your top 20 money pages, read the three highest-ranking competitors end to end and write a one-sentence honest answer: is ours better? If not, that page is a content project, not an SEO project — and that's usually the real audit finding.
Key takeaways
- Most audits fail because they flag everything equally. A useful audit fits on one page and prioritizes by revenue impact.
- Run the checks in order — indexation, rendering, and Core Web Vitals before anything else. There's no point optimizing an unindexed page.
- The biggest wins are usually information architecture (page consolidation), title-tag CTR rewrites, and internal linking to money pages — not technical fixes.
- You can replicate 80% of this audit yourself with Search Console, Screaming Frog, and a spreadsheet.