Six plays that take an enterprise site from crawl chaos to a clean, fast, index-ready foundation that both Google and AI crawlers can read. Run them in order. Each ends with a clear done when.
6 PLAYS30-DAY SPRINTINTERMEDIATE
Large sites rarely lose rankings to one broken page. They leak equity slowly through crawl waste, thin indexation, slow templates, and orphaned money pages, and the losses compound because the same template is repeated across thousands of URLs. This sprint fixes the machine underneath the content, so every content and link investment that follows actually lands.
The order here is deliberate and it is not the order most teams choose. You baseline before you touch anything, because you cannot prove impact against a number you never recorded. You cut crawl waste before you fix indexation, because there is no point perfecting canonicals on pages the crawler should never see. You fix templates before pages, because a template fix holds across the whole pattern while a page fix is a single grain of sand. And you ship monitoring last, so the guardrails protect work that already exists rather than work you hope to do.
TL;DR · 60 SECONDSYou will ship a clean crawl baseline, a blocked or consolidated set of waste paths, template-level indexation fixes, Core Web Vitals passing on field data for priority templates, a flattened internal link graph, and automated regression alerts. Built for one technical SEO working alongside one engineer, roughly one focused day per play per week over 30 days. Intermediate: assumes access to Search Console, server logs, and a crawler.
1Crawl budget is finite and mostly wastedOn enterprise sites, the majority of crawler hits often land on parameter URLs, facets, and duplicates. Every wasted request is a priority page that gets recrawled less often, so fresh content and fixes take longer to register.
2Templates multiply every decisionOne wrong canonical rule or one heavy hero image is not one problem, it is one problem times the number of URLs the template generates. Fixing at the template level is the only leverage that scales on a site this size.
3AI crawlers are now part of the crawl budgetGPTBot, PerplexityBot, ClaudeBot, and Google-Extended crawl the same infrastructure. A slow, waste-heavy site starves AI retrieval the same way it starves Googlebot, which quietly caps your GEO ceiling before you write a word.
1DAYS 1-4Baseline the crawl and set the scoreboard
THE MOVES
Run a full crawl with Screaming Frog or Sitebulb configured to render JavaScript, and export the current counts for indexable URLs, non-200 responses, canonicalized pages, and average crawl depth so you have a signed before-number for every metric this sprint will move.
Pull a 30-day server log sample and segment hits by user agent, separating Googlebot, Bingbot, and the AI crawlers (GPTBot, PerplexityBot, ClaudeBot, Google-Extended) to see where bot attention actually goes versus where your revenue pages live.
Export the Search Console Pages report and record the current split of indexed versus not-indexed URLs plus the top three exclusion reasons, so template fixes later can be measured against a real starting point.
Confirm Core Web Vitals field status per template group in the Chrome UX Report, and note which templates are in the red on LCP, CLS, and INP today.
DONE WHENYou have a single baseline document with signed before-figures for crawl, indexation, and field vitals that every later play will report against.
2DAYS 5-9Cut the crawl waste at its source
THE MOVES
From the log sample, list the parameter patterns, faceted-navigation paths, internal search results, and staging or CDN leaks that are absorbing crawl requests without earning traffic, and rank them by share of total bot hits.
For each waste pattern decide one disposition and apply it consistently: block in robots.txt where the URL should never be crawled, canonical to the clean version where duplicates must consolidate, or noindex where the page must stay reachable for users but out of the index.
Fix the internal links that generate the waste in the first place, because robots rules treat the symptom while a facet that stops emitting crawlable URLs treats the cause.
Verify the change is safe by spot-checking that no revenue URL matches a new block rule, then resubmit the corrected robots.txt and monitor the log for the drop in wasted hits.
DONE WHENThe top waste patterns are blocked, canonicalized, or de-linked at the source, and bot hits to non-revenue paths are measurably falling in the logs.
3DAYS 10-16Fix indexation at the template level
THE MOVES
Bucket every Search Console exclusion reason (duplicate without canonical, crawled not indexed, discovered not indexed, soft 404, redirect) and count the URLs in each bucket so you know where the volume actually is.
Trace each bucket back to the template that produces it rather than triaging individual URLs, because on an enterprise site the same root cause is usually generating thousands of the same error.
Correct the canonical tag, the noindex logic, the hreflang if present, and the sitemap membership once in the template so the fix propagates across the whole URL pattern in a single release.
Rebuild XML sitemaps to include only canonical, indexable, 200-status URLs, split them by template for easier diagnosis, and resubmit so Google recrawls the corrected set first.
DONE WHENEvery priority template renders exactly one canonical, indexable URL, sitemaps contain only clean URLs, and the largest exclusion buckets are trending toward zero.
4DAYS 17-22Get Core Web Vitals out of the red
THE MOVES
Work from 28-day field data in the Chrome UX Report, not one-off Lighthouse lab scores, because Google ranks on what real users experience and lab numbers routinely disagree with the field.
Fix the worst LCP offenders at the template level first by preloading the hero image, serving it in a modern format at the right dimensions, and removing render-blocking resources ahead of the largest paint.
Eliminate layout shift by setting explicit width and height on media, reserving space for embeds and ads, and loading fonts with font-display swap plus a matched fallback metric.
Once LCP and CLS clear, treat INP as the ongoing discipline by breaking up long tasks, deferring non-critical JavaScript, and debouncing the interaction handlers that block the main thread on your top templates.
DONE WHENPriority templates pass LCP and CLS on field data and INP is trending down toward the 200ms good threshold.
5DAYS 23-27Rebuild the internal link graph
THE MOVES
Use the crawl to find orphan pages with zero internal inlinks and any revenue page sitting deeper than three clicks from the homepage, since crawl depth and inlink count strongly predict how often and how favorably a page is treated.
Add contextual links from your highest-authority hubs and top-traffic pages into the money pages that need equity, using descriptive anchor text that matches the target's intent rather than generic click-here text.
Flatten navigation depth on the top revenue templates by promoting them into hub pages, breadcrumb trails, and related-content modules so equity and crawlers reach them in fewer hops.
Prune or consolidate thin, competing pages that dilute a topic across several weak URLs, redirecting them into the one page you want to rank and cite.
DONE WHENNo priority page is orphaned or deeper than three clicks, and internal links concentrate authority on the revenue and citation targets.
6DAYS 28-30Ship monitoring that catches regressions
THE MOVES
Set automated alerts on index coverage, non-200 response codes, and field Core Web Vitals for the priority templates, with a threshold that fires before a slow regression becomes a ranking loss.
Schedule a recurring weekly crawl and a monthly log review so new parameter waste, new orphans, or a reintroduced noindex is caught within days rather than at the next quarterly audit.
Add the AI crawler user agents to your log monitoring so you can see if GPTBot, PerplexityBot, or ClaudeBot access changes after a deploy, protecting the GEO foundation this sprint just built.
Document the baseline, the fixes, and a short guardrail checklist, and hand engineering the pre-release checks that stop the same regressions from shipping again.
DONE WHENRegressions on crawl, index, and vitals trigger an alert within days, engineering has guardrails, and the next sprint's priorities are already scoped from the monitoring data.
COMMON MISTAKESChasing page-level fixes before the template is right, so the same error keeps regenerating. Blocking waste in robots.txt without fixing the internal links that create it. Optimizing to lab scores instead of field data. And skipping the baseline, which leaves you unable to prove the sprint moved anything when leadership asks.
See where you are cited today
A free snapshot audit of your rankings and AI citations before we ever talk.
Josh leads work at the intersection of SEO and generative engines at Something Inc., helping B2B brands get ranked and cited across every major AI engine.