Your paid search CPC is sitting near three dollars and climbing. Organic still shows up in the board deck as “cheap traffic.” Then Search Console reports a soft crawl dip, a handful of soft 404s on campaign URLs, and a homepage that barely clears INP on mobile. Pipeline does not care that the content calendar looked full.
Marketing sites lose rankings less often from a missing blog post and more often from index bloat, broken canonicals, slow templates, and tracking that lies about which page actually closed the deal. A scored technical SEO checklist beats another tactics dump because it forces a pass / weak / fail call on inspectable items you can verify this week, not a wish list of “best practices.”
This audit is for CMOs, heads of growth, and founders who own the marketing number on a US B2B or lead-gen site. You will score crawl and index health, on-page signals, speed and Core Web Vitals, structured data, internal links, and measurement. Failures map to wasted crawl budget, weaker AI Overview and classic SERP presence, and traffic that never becomes a qualified form or call.
Only about 55.9% of origins pass all three Core Web Vitals in recent CrUX data. Roughly two-thirds of US Google searches end without a click in early 2026 data, and AI Overviews on a growing share of queries compress CTR hard when they appear. Technical hygiene will not invent demand, but it decides whether the demand you already earned can be crawled, ranked, and converted.
Score your marketing site against this technical SEO checklist
Work through each item with Search Console, your CMS, Chrome UX Report or PageSpeed field data, and a crawl (Screaming Frog, Sitebulb, or similar). Score honestly. “We meant to fix that after the redesign” is still a fail.
Audit scorecard
- 1 Crawl access and robots rules Open robots.txt and the live HTML source on key templates (homepage, service/category, blog post, landing page). Confirm Googlebot is not blocked on money URLs, staging is disallowed cleanly, and parameter or faceted paths you do not want indexed are handled with intent, not a blunt Disallow that hides half the site. Good looks like: money paths crawlable, no accidental noindex on the production root, sitemap URL declared once. A fail costs you delayed discovery after publishes and “we shipped the page but Google never saw it” weeks. Spot-check with the robots.txt checker and Google index checker on five revenue URLs.
Open robots.txt and the live HTML source on key templates (homepage, service/category, blog post, landing page). Confirm Googlebot is not blocked on money URLs, staging is disallowed cleanly, and parameter or faceted paths you do not want indexed are handled with intent, not a blunt Disallow that hides half the site. Good looks like: money paths crawlable, no accidental noindex on the production root, sitemap URL declared once. A fail costs you delayed discovery after publishes and “we shipped the page but Google never saw it” weeks. Spot-check with the robots.txt checker and Google index checker on five revenue URLs.
- 2 XML sitemaps that match reality Pull every submitted sitemap in Search Console. Count URLs versus indexable pages in your CMS. Remove 404s, redirects, noindex pages, and thin filter URLs. lastmod should move when content actually changes, not on every deploy. Good looks like: one primary sitemap index, only live, indexable URLs, coverage errors trending down. A fail burns crawl on junk and hides new service pages behind noise. Validate with the sitemap checker, then re-submit after cleanup.
Pull every submitted sitemap in Search Console. Count URLs versus indexable pages in your CMS. Remove 404s, redirects, noindex pages, and thin filter URLs. lastmod should move when content actually changes, not on every deploy. Good looks like: one primary sitemap index, only live, indexable URLs, coverage errors trending down. A fail burns crawl on junk and hides new service pages behind noise. Validate with the sitemap checker, then re-submit after cleanup.
- 3 Index bloat and soft 404s In Search Console Coverage / Pages, isolate “Crawled - currently not indexed,” soft 404, duplicate without user-selected canonical, and excluded by noindex. Marketing sites often accumulate tag archives, expired promo landers, PDF mirrors, and UTM-indexed copies. Good looks like: index count tracks intentional templates; orphan promos return 410 or solid 301 to a living offer. A fail dilutes topical authority and confuses which URL should rank for a head term. Fix by consolidating or noindexing with a real content decision, not mass noindex panic.
In Search Console Coverage / Pages, isolate “Crawled - currently not indexed,” soft 404, duplicate without user-selected canonical, and excluded by noindex. Marketing sites often accumulate tag archives, expired promo landers, PDF mirrors, and UTM-indexed copies. Good looks like: index count tracks intentional templates; orphan promos return 410 or solid 301 to a living offer. A fail dilutes topical authority and confuses which URL should rank for a head term. Fix by consolidating or noindexing with a real content decision, not mass noindex panic.
- 4 Canonicals, HTTPS, and host consistency Pick ten URLs across templates. Confirm a single preferred host (www or bare), HTTPS everywhere, HSTS if you claim it, and self-referencing canonicals that match the live URL (no HTTP canonical on HTTPS pages, no staging host leftovers). Parameter and print variants should point to the clean URL. Good looks like: one clear winner URL per document. A fail splits equity and tanks ranking stability after migrations. Use the canonical checker on the same ten URLs your paid and organic teams share.
Pick ten URLs across templates. Confirm a single preferred host (www or bare), HTTPS everywhere, HSTS if you claim it, and self-referencing canonicals that match the live URL (no HTTP canonical on HTTPS pages, no staging host leftovers). Parameter and print variants should point to the clean URL. Good looks like: one clear winner URL per document. A fail splits equity and tanks ranking stability after migrations. Use the canonical checker on the same ten URLs your paid and organic teams share.
- 5 Status codes, redirects, and chains Crawl internal links and top external backlink targets. Flag chains longer than one hop, redirect loops, 302s that should be 301s after a permanent move, and soft 404 content on 200s. Marketing launches love temporary redirects that never get cleaned. Good looks like: direct 301 to final URL, internal links updated to finals, no homepage catch-all for deleted services. A fail wastes crawl and drops link equity on the exact pages you paid to promote.
Crawl internal links and top external backlink targets. Flag chains longer than one hop, redirect loops, 302s that should be 301s after a permanent move, and soft 404 content on 200s. Marketing launches love temporary redirects that never get cleaned. Good looks like: direct 301 to final URL, internal links updated to finals, no homepage catch-all for deleted services. A fail wastes crawl and drops link equity on the exact pages you paid to promote.
- 6 Title tags, H1s, and meta descriptions that match intent Audit titles and H1s on every template that drives pipeline: category, solution, comparison, location if you use them, and high-traffic posts. One H1 that states the job, title unique per URL, description written for SERP CTR not keyword stuffing. Good looks like: query language in title without duplication across 40 near-identical service pages. A fail is the same “Home | Brand” pattern or H1s that say “Welcome.” Spot-check with the title tag checker, H1 checker, and meta description checker, then preview snippets with the SERP snippet preview.
Audit titles and H1s on every template that drives pipeline: category, solution, comparison, location if you use them, and high-traffic posts. One H1 that states the job, title unique per URL, description written for SERP CTR not keyword stuffing. Good looks like: query language in title without duplication across 40 near-identical service pages. A fail is the same “Home | Brand” pattern or H1s that say “Welcome.” Spot-check with the title tag checker, H1 checker, and meta description checker, then preview snippets with the SERP snippet preview.
- 7 Core Web Vitals and template performance Use field data (CrUX / Search Console CWV) before lab vanity scores. Watch LCP on hero-heavy marketing pages, INP on forms and mega-menus, CLS on late-loading fonts and cookie banners. Mobile is most of search behavior; desktop-only “green” is not a pass. Good looks like: key templates in “Good” for a stable majority of origins traffic, not a single cached homepage. A fail shows up as ranking drag and form abandonment before your offer even loads. Run the Core Web Vitals checker on homepage, top service URL, and primary landing page.
Use field data (CrUX / Search Console CWV) before lab vanity scores. Watch LCP on hero-heavy marketing pages, INP on forms and mega-menus, CLS on late-loading fonts and cookie banners. Mobile is most of search behavior; desktop-only “green” is not a pass. Good looks like: key templates in “Good” for a stable majority of origins traffic, not a single cached homepage. A fail shows up as ranking drag and form abandonment before your offer even loads. Run the Core Web Vitals checker on homepage, top service URL, and primary landing page.
- 8 Mobile usability and tap-path to conversion On a real phone, complete the primary CTA path: click nav, open pricing or demo, submit the form. Check sticky bars covering fields, click-to-call on local offers, and font sizes that force pinch zoom. Technical SEO and CRO meet here. Good looks like: form completable in under a minute without horizontal scroll. A fail turns organic sessions into bounces that look like “SEO quality” problems when they are template problems.
On a real phone, complete the primary CTA path: click nav, open pricing or demo, submit the form. Check sticky bars covering fields, click-to-call on local offers, and font sizes that force pinch zoom. Technical SEO and CRO meet here. Good looks like: form completable in under a minute without horizontal scroll. A fail turns organic sessions into bounces that look like “SEO quality” problems when they are template problems.
- 9 Structured data that matches visible content Validate Organization, WebSite, BreadcrumbList, Article/BlogPosting, FAQ only when FAQs are visible, Product/Service where accurate, and LocalBusiness only if you truly operate that way. No fake review stars. Good looks like: rich-result eligibility without Search Console enhancement errors. A fail is schema that over-promises and gets ignored or manually actioned. Use the schema markup validator and FAQ schema generator only for real on-page FAQs.
Validate Organization, WebSite, BreadcrumbList, Article/BlogPosting, FAQ only when FAQs are visible, Product/Service where accurate, and LocalBusiness only if you truly operate that way. No fake review stars. Good looks like: rich-result eligibility without Search Console enhancement errors. A fail is schema that over-promises and gets ignored or manually actioned. Use the schema markup validator and FAQ schema generator only for real on-page FAQs.
- 10 Internal links, orphans, and crawl depth Money pages should sit within a few clicks of the homepage, linked with descriptive anchors from related hubs, not “learn more” alone. Find orphans: published posts or service URLs with zero internal inlinks. Good looks like: intentional hub-and-spoke from pillar to supporting proof, updated when you ship new offers. A fail leaves your best conversion page dependent on sitemap luck. Map gaps with the internal link analyzer.
Money pages should sit within a few clicks of the homepage, linked with descriptive anchors from related hubs, not “learn more” alone. Find orphans: published posts or service URLs with zero internal inlinks. Good looks like: intentional hub-and-spoke from pillar to supporting proof, updated when you ship new offers. A fail leaves your best conversion page dependent on sitemap luck. Map gaps with the internal link analyzer.
- 11 JS rendering, facades, and critical content View rendered HTML (Search Console URL Inspection or a headless render). Primary copy, H1, product proof, and main CTA should exist without waiting on a third-party chatbot or A/B snippet. Lazy-load below-the-fold media, not the value proposition. Good looks like: crawlers and users see the same offer. A fail is a beautiful SPA shell with empty body text for bots and slow LCP for humans.
View rendered HTML (Search Console URL Inspection or a headless render). Primary copy, H1, product proof, and main CTA should exist without waiting on a third-party chatbot or A/B snippet. Lazy-load below-the-fold media, not the value proposition. Good looks like: crawlers and users see the same offer. A fail is a beautiful SPA shell with empty body text for bots and slow LCP for humans.
- 12 Hreflang, international, and US-only clarity If you only sell in the US, do not ship half-finished hreflang or random ccTLD copies. If you do run EN-GB / EN-US / ES variants, reciprocal hreflang, correct x-default, and consistent currency and contact paths matter. Good looks like: either clean single-market site or complete language map. A fail is duplicate EN pages competing with each other in US results.
If you only sell in the US, do not ship half-finished hreflang or random ccTLD copies. If you do run EN-GB / EN-US / ES variants, reciprocal hreflang, correct x-default, and consistent currency and contact paths matter. Good looks like: either clean single-market site or complete language map. A fail is duplicate EN pages competing with each other in US results.
- 13 Log-file or crawl-stats reality check At least quarterly, sample server or CDN logs (or Search Console crawl stats) for Googlebot hits on 4xx, admin paths, and forgotten staging hosts. Compare crawl frequency on money URLs versus infinite calendar or facet URLs. Good looks like: crawl concentrated on indexable templates. A fail is budget spent on parameters while a new pricing page waits days to be seen.
At least quarterly, sample server or CDN logs (or Search Console crawl stats) for Googlebot hits on 4xx, admin paths, and forgotten staging hosts. Compare crawl frequency on money URLs versus infinite calendar or facet URLs. Good looks like: crawl concentrated on indexable templates. A fail is budget spent on parameters while a new pricing page waits days to be seen.
- 14 Analytics integrity tied to SEO URLs GA4 (or your stack) must record landing page, primary conversion events, and campaign parameters without double fires. Organic landing pages should map to the same canonical URLs you optimize. Broken tags make teams kill the wrong pages. Good looks like: SEO, paid, and CRM agree on which URL started the opportunity. A fail is “organic is down” when the tag simply died on the new template. Align UTMs with the UTM link builder when you promote SEO assets in email or ads.
GA4 (or your stack) must record landing page, primary conversion events, and campaign parameters without double fires. Organic landing pages should map to the same canonical URLs you optimize. Broken tags make teams kill the wrong pages. Good looks like: SEO, paid, and CRM agree on which URL started the opportunity. A fail is “organic is down” when the tag simply died on the new template. Align UTMs with the UTM link builder when you promote SEO assets in email or ads.
DIY tools for this audit
If several items already show red and you would rather not staff a full technical backlog in-house, a focused technical SEO engagement can clear crawl and index debt while your team keeps owning messaging and offers.
How to score each item and what to fix first
Use three marks only. Pass: verified in the last 30 days with evidence (screenshot, export, or ticket). Weak: partially true, works on homepage only, or depends on one engineer’s memory. Fail: broken, unknown, or contradicted by Search Console.
Weight fails by blast radius, not by how fun they are to discuss in a roadmap meeting.
-
Fix tracking and index blockers before content scale. Wrong robots, noindex on templates, or dead analytics will poison every article you publish next.
-
Fix canonical host and redirect debt before link building. Equity leaking through chains will not be saved by another guest post.
-
Fix CWV and mobile form path before buying more non-brand traffic. You already pay for clicks elsewhere near multi-dollar CPCs; slow templates tax organic the same way.
-
Fix internal links and titles before arguing about AI Overview tactics. Clear document targets and crawl paths still underpin classic results and citation-friendly pages.
-
Treat schema as amplification, not rescue. Beautiful JSON-LD on a thin or blocked page changes nothing.
Count fails. Three or more across items 1-5 (crawl/index/canonical/redirect) means you are not in a “publish more” season; you are in a repair season. Teams that ignore that distinction ship volume into a leaky index and then blame the algorithm.
When content cadence is healthy but technical debt keeps slipping, keep strategy human-led and use something like HeyLead Auto Blogger only after templates are indexable and fast. Automated publishing on a broken stack just multiplies orphans and duplicate titles.
Get a free marketing audit - we review your search, ads, and landing pages and send back what to fix first.
Get a free audit

A 30-day repair plan after you finish the scorecard
This is ordered repair work, not a new brand strategy. Adjust owners (marketing ops, eng, SEO lead) but keep the sequence.
30-day technical fix playbook
-
1Days 1-3: Evidence pack. Export Search Console pages and CWV, crawl the site, list top 25 landing pages by conversions and by clicks. Score all 14 checklist items with links to proof.
-
2Days 4-7: Blockers. Repair robots, noindex mistakes, sitemap junk, HTTPS/host canonicals, and analytics on money templates. Re-test five URLs in URL Inspection.
-
3Days 8-14: Status and structure. Flatten redirect chains, update internal links to final URLs, kill or 410 dead promos, add internal links to orphans that still deserve traffic.
-
4Days 15-21: On-page and schema. Rewrite colliding titles/H1s on the top templates, align meta descriptions to offers, implement only honest schema, validate enhancements.
-
5Days 22-28: Speed and INP. Attack LCP heroes, third-party scripts, main-thread work on nav/forms. Re-check field CWV, not only lab. Confirm mobile form completion.
-
6Days 29-30: Control tower. Document owners, a monthly crawl diff, and a rule that no major template ships without robots/canonical/CWV/analytics smoke tests. Schedule the next full scorecard.
Expect index and CWV movement on a lag. What you should see inside 30 days is fewer coverage errors, cleaner logs, and landing pages that stop silently failing forms. Rankings and pipeline follow when the documents Google already knew about become unambiguous and usable again.
For conversion leaks after the click, session-level behavior on key templates matters as much as green CWV badges. Pair repairs with honest on-page proof and form UX; if you need productized visibility into scroll and abandon patterns, HeyLead Insights is built for that handoff without guessing from bounce rate alone.
What marketing leaders are seeing
A common pattern we see: 400 blog URLs still in the sitemap after a CMS migration. Crawl stats looked busy. Pipeline pages were starved. Cleaning the sitemap and 301 map did more than the next two content sprints.
Another recurring pattern: INP on the demo form as the silent killer. Desktop CWV looked fine. Mobile field data did not. Organic traffic was flat; qualified demos were not. Fixing third-party scripts beat another keyword workshop.

FAQs
How often should we run a full technical SEO checklist?
Score the full list quarterly, and after any CMS, domain, design system, or major tag-manager change. Spot-check money URLs monthly in Search Console. Waiting for a traffic cliff is how six-month content investments get written off.
Is technical SEO still worth it when so many searches are zero-click?
Yes. Zero-click and AI Overviews raise the bar on clarity, speed, and entity-clean pages. Weak technical foundations make it harder to earn the remaining clicks and any citation-style visibility. You cannot out-publish a site Google struggles to fetch.
What tools are enough for an in-house pass/fail audit?
Search Console, a crawler, CrUX or CWV reports, and browser dev tools cover most marketing sites. Add log samples when you have engineering support. Free validators for robots, sitemaps, canonicals, schema, and CWV close quick gaps without a full enterprise suite on day one.
Should we pause content while we fix technical debt?
Pause net-new templates that multiply the same bug (more faceted URLs, more duplicate title patterns). Keep high-intent updates on clean URLs. Shipping twenty posts onto a noindexed blog folder is how teams burn writers and trust.
Where do agencies usually go wrong on technical work?
Reporting vanity lab scores, fixing homepage only, or treating schema as decoration. Tie every fix to crawl, index, or conversion evidence on URLs that create pipeline. Ask who owns the backlog after the audit PDF lands.
Putting it to work
Execution sprint
This week
- Pull 30-90 days of performance for technical seo checklist for marketing sites (Search Console, ads, CRM, or call logs - whatever you have).
- Flag the top leak: wrong intent, weak page, slow response, or dirty conversion tracking.
- Ship one fix on the highest-traffic money path (page, campaign split, or response rule).
- Run the free tools below on that same URL or account and log the findings.
Free tools for this sprint
Next 30 days
- Expand the fix to the next one or two money paths only after the first one shows cleaner bookings.
- Align creative, keywords, or content with the same offer the page now states.
- Review booked outcomes weekly; cut anything that still only produces unqualified volume.
This week
-
Score all 14 checklist items with pass / weak / fail and a link to proof for each.
-
Export Search Console Pages + CWV and highlight the top 10 conversion URLs.
-
Run robots, sitemap, and canonical checks on those 10 URLs; file tickets for every fail.
-
Complete one mobile conversion path on your primary offer page and note INP or form friction.
-
Delete or noindex obvious sitemap junk (404s, expired landers) and resubmit the sitemap.
-
Assign a single owner for redirect map vs content vs eng so fixes do not stall in Slack.
Next 30 days
-
Clear crawl/index blockers before any new content push.
-
Flatten redirect chains and repoint internal links to final URLs.
-
Stabilize CWV on the three highest-traffic templates.
-
Align titles/H1s on colliding service pages.
-
Re-score the checklist and keep only residual weaks on the roadmap.
Pull your last 28 days of Search Console landing pages by clicks and conversions, mark each against items 1-7 on this technical SEO checklist, and open tickets only for fails that touch those URLs first. If you want a partner to own crawl health, index hygiene, template performance, and the ongoing technical backlog behind organic pipeline, HeyLead runs that work as part of sustained technical SEO execution so your team can stay on offers and narrative. Start the conversation at [email protected].
Free marketing audit, or reach Martin directly:
Get a free audit WhatsApp +1 (415) 420-4059 · [email protected]