An SEO audit checklist breaks site health into trackable, actionable tasks across technical crawlability, on-page elements, content quality, authority signals, and conversion pathways. This guide walks through the audit process from crawl setup to prioritized fix lists, covering the diagnostic steps that surface real performance gaps.
Before opening a crawler, define scope boundaries. For a single-domain site, that's straightforward. For portfolio operators or agencies managing client clusters, crawl one property at a time and exclude staging subdomains or CDN mirrors that pollute URL counts. Set Screaming Frog or Sitebulb to respect robots.txt during discovery but log disallowed URLs separately—you want to see what's blocked, not skip it silently. Configure custom extraction for hreflang tags if the site serves Canadian English and French, and set the user agent to Googlebot Smartphone because Google indexes mobile-first. For large inventories over fifty thousand URLs, segment by subdirectory or content type (product pages, blog, location pages) and audit in batches to keep data manageable. The output is a structured URL list annotated with status codes, redirect chains, canonical declarations, and meta directives—raw material for every downstream check.
Start with indexability gates. Flag pages returning 404 or 410 that still appear in XML sitemaps or internal link graphs—these burn crawl budget and confuse search engines about what's live. Check for accidental noindex tags on money pages, especially after CMS migrations where staging directives carry over. Audit canonical clusters: self-referencing canonicals should match the live URL exactly, and cross-domain canonicals need coherent logic if you operate multiple domains or a .ca and .com pair. Review robots.txt and meta robots for contradictions—noindex plus a sitemap inclusion is a red flag. Then shift to Core Web Vitals. Pull Largest Contentful Paint, First Input Delay, and Cumulative Layout Shift data from Search Console and cross-check PageSpeed Insights for the worst performers. Identify render-blocking scripts, unoptimized hero images, or missing width and height attributes that cause layout thrash. For JavaScript-heavy sites, fetch-and-render a sample of key templates in Search Console's URL Inspection tool to confirm that product schema, breadcrumbs, and primary content appear in the rendered HTML, not just the raw source.
Export title tags and meta descriptions across all crawled URLs. Look for duplicates, truncation beyond pixel limits (roughly 600 pixels for titles, 960 for descriptions), and missing tags on indexable pages. Title-tag keyword placement still matters—front-load target terms without keyword stuffing, and ensure each page has a distinct value proposition so users can differentiate results in a SERP. Audit heading structure: every page needs exactly one H1, and H2-H3 hierarchy should scaffold content logically for both accessibility and topical clarity. Pull structured data using the schema extractor in your crawler or Google's Rich Results Test. Verify that Product, LocalBusiness, Organization, and FAQ schemas validate without errors and that required fields (price, availability, address for local) are populated. Check internal link distribution with a PageRank-style metric from Screaming Frog or Ahrefs—pages with zero inlinks or very low internal PageRank are functionally orphaned even if they're in the sitemap. Build hub pages or navigation links to connect stranded content and push authority where it matters.
Thin content still undermines site-wide trust. Filter pages by word count and flag those under 150 words unless they're legitimate utility pages like contact forms. Review template-generated boilerplate—location pages or product variants that differ only in a city name or SKU often get caught in Helpful Content filter sweeps. Either consolidate them, add genuinely unique local context, or noindex the low-utility variants. Cross-reference publication dates and last-modified timestamps. If cornerstone articles haven't been updated in two years and competitors publish fresh takes every quarter, you're ceding relevance. Spot-check factual accuracy, especially for regulated industries like finance or health where outdated claims can trigger manual actions. Run a sample of URLs through originality checkers if you outsource content—syndicated or spun copy still appears in agency portfolios more often than it should. For Canadian sites targeting bilingual markets, verify that French translations are professional-grade, not machine output, and that hreflang annotations point bidirectionally between language pairs.
Pull the backlink profile from Ahrefs, Majestic, or Moz and sort by Domain Rating or Trust Flow to surface your strongest referring domains. Audit for toxic patterns: sitewide footer links from dubious directories, exact-match anchor spam, or link farms that survived previous cleanups. Use the disavow file sparingly—only for egregious cases where manual action notices cite specific domains—but document suspicious sources for ongoing monitoring. For local businesses, check NAP consistency (Name, Address, Phone) across Google Business Profile, Apple Maps, Bing Places, and Canadian aggregators like Yellow Pages and 411.ca. Inconsistent postal codes or suite numbers dilute local pack signals. Review citation volume in the vertical: legal directories for law firms, health directories for clinics, industry associations for B2B. If competitors hold positions in high-authority listings you're absent from, that's low-hanging authority fruit. Check brand-mention volume with tools like BuzzSumo or Ahrefs Content Explorer—unlinked mentions are outreach opportunities, and a healthy brand graph correlates with E-E-A-T strength.
SEO audits often stop at rankings, but traffic that bounces or fails to convert wastes acquisition spend. Layer Analytics or server logs with Search Console to find pages with strong impressions but high exit rates. Diagnose whether the issue is intent mismatch (informational keywords landing on product pages), poor UX (broken forms, missing CTAs), or trust gaps (no reviews, sparse contact info). For e-commerce, audit the add-to-cart and checkout funnel separately—technical SEO can deliver users to product pages, but conversion rate optimization fixes the handoff. Check mobile usability: tap-target sizing, interstitial overlays, and horizontal scroll bugs still plague responsive templates. Review security signals—HTTPS coverage should be complete, and mixed-content warnings must be resolved because browsers flag them prominently. If the site collects personal data, confirm that cookie banners and privacy policies comply with PIPEDA in Canada and that Google Consent Mode v2 is implemented if you run EU traffic, because tag-manager misconfigurations often block Analytics while leaving ad pixels active.
Raw audit findings are useless without triage. Score each issue on effort (developer hours, content rewrites, third-party dependencies) and impact (traffic at risk, conversion lift potential, penalty exposure). Critical blockers—site-wide noindex tags, broken canonicals killing indexation, security warnings—ship immediately. High-impact, low-effort fixes like missing alt text on key images or duplicate meta descriptions batch into a sprint. Longer-term structural work (site architecture overhaul, content consolidation, backlink cleanup) stages across quarters with measurable milestones. Deliver the audit as a living document: a prioritized spreadsheet with owners, due dates, and status tracking, not a static PDF. For agency relationships, quarterly re-audits catch regression (CMS updates breaking schema, new pages launching without proper tags) and benchmark progress against the initial baseline. Tie fixes to actual search performance using before-and-after windows in Search Console and rank trackers so stakeholders see ROI, not just task completion.
For active sites publishing regularly or running ongoing campaigns, a full technical and content audit every six months catches drift before it compounds. Quarterly lightweight checks focused on new pages, crawl errors, and Search Console alerts keep maintenance tight between deep dives. After CMS migrations, major redesigns, or algorithm updates that shift rankings, trigger an immediate audit regardless of schedule to isolate the cause and contain damage.
A technical audit isolates crawlability, indexation, site speed, structured data, and server configuration—the infrastructure layer that determines whether search engines can access and understand content. A full-site audit adds on-page optimization, content quality, backlink profile analysis, competitive positioning, and conversion diagnostics. For new client intake or annual strategy planning, the full scope is necessary. For troubleshooting a specific issue like a traffic drop, a targeted technical audit is faster and more cost-effective.
Crawlers like Screaming Frog surface data at scale—status codes, missing tags, broken links—but they can't judge content relevance, detect thin-content patterns masked by word count, or evaluate whether backlinks are contextually valuable. Manual sampling of high-traffic templates, competitor SERP analysis, and qualitative UX review catch issues automation misses. The efficient workflow uses tools for discovery and humans for diagnosis and prioritization.
Hreflang implementation errors top the list: missing return tags, incorrect language-region codes (fr-CA versus fr-FR), or self-referencing hreflang that points both languages at the English version. Duplicate content across English and French URLs without proper canonicalization or noindex also appears frequently. Translation quality matters—machine-translated French that reads awkwardly hurts engagement metrics and trust, even if the technical setup is correct. Finally, ignoring Quebec-specific search behavior and local citations on French directories leaves regional visibility on the table.
Start with anything blocking indexation or causing security warnings—these have immediate, site-wide consequences. Next, tackle high-traffic pages with clear technical deficits like missing schema or slow LCP, because the traffic volume magnifies impact. Batch low-effort fixes (alt text, meta descriptions) into quick-win sprints to demonstrate progress while developers work on structural changes. Defer issues with marginal impact or high implementation cost (legacy URL cleanup on zero-traffic archives, minor schema enhancements) until core problems are resolved and you can measure incremental gains.
Search Console shows how Google actually experiences the site—indexed URLs, mobile usability errors, Core Web Vitals from real users, and manual actions. It reveals discrepancies between what you think is live and what Google sees, especially for JavaScript rendering or crawler access issues. Third-party crawlers provide deeper diagnostic detail (redirect chains, response times, HTML validation) and let you audit staging environments or competitors. The most complete audits layer both: Search Console for ground truth, crawlers for exhaustive technical analysis.