A report, not a fix
The engagement ends with a hundred-page PDF and a list of issues sorted by severity. Someone has to build all of it, that someone was never scoped, and the list is stale within a quarter.
Most technical SEO ends in a spreadsheet nobody actions. We find the problems, fix them in the build ourselves, and re-crawl monthly so they stay fixed.
The engagement ends with a hundred-page PDF and a list of issues sorted by severity. Someone has to build all of it, that someone was never scoped, and the list is stale within a quarter.
A tool flags four thousand issues and most of them do not matter. Without someone who can tell a real indexing problem from a warning, the team spends its budget on the wrong four thousandth.
The fixes ship, the audit closes, and the next CMS change quietly reintroduces half of them. Nobody notices until traffic falls two quarters later.
We are the ones building the site, so a finding becomes a change rather than a ticket for someone else. Nothing gets recommended that we are not willing to ship ourselves.
Findings are ordered by the traffic and revenue behind the affected pages. A canonical error on a page nobody visits stays at the bottom of the list where it belongs.
The site gets crawled on the same cadence as everything else we measure, so a regression shows up in the next report rather than in next year’s audit.
What engines can reach, what they choose to keep, and what they are wasting time on. Canonicals, redirects, sitemaps, robots rules, and the junk URLs that eat a crawl budget before the real pages get seen.
Field data first, lab data second. Image weight, font loading, third-party scripts and layout shift, measured on the pages that carry traffic rather than the home page alone.
One H1, a heading order that reflects the page, semantic main content an engine can isolate from the navigation, and schema per page type that describes what is actually there.
The layer that decides whether an AI engine can use the page at all: clean markup, resolvable llms.txt, no content locked behind script, and internal links that actually resolve.
K2 Relocate ranked for nothing commercial at the start of the engagement. The work was unglamorous: structure, internal linking, the markup that tells an engine what a page is, and the crawl waste that was burning attention on URLs nobody should ever see.
Four months later it is the fastest-growing site in a six-site estate, and its average position across the site reached 14.7, the best it has recorded.
Nothing about that is a redesign. The pages largely say what they said in April.
Google Search Console, April to July 2026. Clicks to one site in the K2 Group estate. Axis starts at zero.
An engine gives your site a finite amount of attention. On a large site most of it goes on parameter URLs, filtered views and pages that should never have been reachable. Every one of those is attention not spent on a page you want quoted.
A crawler will hand you four thousand issues sorted by its own idea of severity. That ordering knows nothing about your traffic, so it will put a canonical warning on a page nobody visits above an indexing problem on the page that carries your pipeline.
We re-rank every finding against the sessions and the revenue behind the affected pages, then draw a line. Below the line goes in the appendix and stays there.
The report is a work order, not a catalogue.
One change to a shared component reaches every page using it. A heading level moved, a canonical dropped, a link turned into a button, and a hundred pages change behaviour at once.
Slugs change, redirects get half-written, and the old URLs stay in the index for months pointing at nothing. This is the single most common way a site loses traffic it had already earned.
A campaign landing page goes up in a hurry with no meta description, no schema and a noindex left on from staging. Nobody notices, because nobody is crawling.
A tag manager container grows by a script a month until the page takes four seconds to become interactive on a mid-range phone. No single change caused it, which is why no single person owns it.
Each of these is cheap to catch the month it happens and expensive to find two quarters later, which is the entire argument for a monthly crawl rather than an annual audit.

We cut crawler time on junk URLs by 83% and rebuilt how the estate is structured, so the pages that matter are the pages engines spend their time on.

Everything that decides whether a search engine can reach your pages, understand them and keep them in its index. It covers crawling, indexing, site speed, structure, markup and internal linking. It does not cover what the pages say, which is content, or who links to them, which is authority.
A tool lists everything it can detect, weighted by its own severity scale rather than by your traffic. An audit is someone deciding which of those findings matter for your site, in what order, and what the fix actually is. The list is the input, not the deliverable.
We fix them. We build the sites, so a finding turns into a change on the site rather than a recommendation handed to a development team who were never briefed. Where a fix sits in a system we do not control, we say so and scope it separately.
A full pass once a year, and a monthly crawl in between. Most damage comes from ordinary changes: a template edit, a CMS migration, a marketing page published outside the usual process. Monthly catches those while they are still cheap.
It decides whether the page can be used at all. An engine that cannot crawl your page, or that cannot separate your content from your navigation, has nothing to quote. It will not earn a citation by itself, and its absence reliably costs one.
For audit and diagnosis, yes. For implementation, it depends what the site runs on and who owns the deploy. We are honest about where we can ship the fix ourselves and where we would be handing you a list, which is the thing this page is arguing against.