
Core Web Vitals without the guesswork
Lab scores are a diagnostic, not a target. What decides the ranking signal is what real devices on real networks actually measured.

An audit that lists two hundred issues is a document, not a plan. Ranking findings by the traffic they put at risk turns it into a work queue.
Every crawler produces the same artefact: a spreadsheet with a few hundred rows, colour-coded by severity, that nobody acts on. The severity column is the problem. It ranks issues by how alarming they sound, not by what they cost you.
A useful audit answers one question per finding: how much traffic is at risk, and what does fixing it take? Two numbers, and the order of work falls out of them.
These are rare and they outrank everything else, because no other work matters on a page the crawler cannot reach or index.
Pages blocked from indexing by accident. A noindex left over from staging, a robots.txt rule that was meant to be narrower, a canonical pointing somewhere unintended. We have seen a single stray line remove a third of a site's pages from the index.
Pages the crawler cannot reach. Anything only linked from JavaScript that never runs server-side, pages orphaned when a navigation was redesigned, sections buried more than four clicks from the home page.
Redirect chains and loops. Each hop loses a little, and a loop loses everything.
Check these before anything else, and check them with the search engine's own coverage report rather than a third-party crawl, because that report is what the search engine believes.
The most common cause of a site underperforming is that it competes with itself.
Several pages targeting one query. Three pages about the same service divide the links, the relevance and the clicks between them, and none of them wins. The fix is usually a merge and a redirect, not more content.
Near-duplicate pages generated by parameters or pagination. Filters, sort orders and session parameters can multiply one page into hundreds. Canonical tags handle most of it; the rest needs the parameters not to generate URLs at all.
Thin pages created for a keyword rather than a reader. These rarely rank and they dilute the site's overall quality signal. Deleting them is an improvement.
This layer is where structure work belongs: deciding which pages should exist, which should merge, and which should go. It is unglamorous and it usually moves more traffic than anything else on the list.
Speed is a ranking factor and, more importantly, a conversion factor — but the lab score everyone reports is not what is counted.
What is counted is field data: what real devices on real networks actually experienced. A site can score 98 in a lab test on a desktop and fail Core Web Vitals in the field because most of its visitors are on mid-range phones over mobile networks.
Work in this order:
Each of these has one or two typical causes. Find the cause, do not tune around it.
Missing alt attributes, imperfect heading order, structured data that could be richer, internal links that could be better distributed. These are real improvements and they belong in the backlog — not at the top of it.
The trap is that they are the easiest items to complete, so they get done first and the audit feels productive while the traffic does not move.
Set the measurement before the work, not after. For each fix, write down what should change and by when: which pages should return to the index, which queries should consolidate onto one URL, which metric should cross which threshold.
Then report on qualified sessions and revenue rather than on the number of issues closed. An audit that closes 180 of 200 findings and moves no traffic was a tidying exercise.

Lab scores are a diagnostic, not a target. What decides the ranking signal is what real devices on real networks actually measured.

The difference is not the technology but what the thing is allowed to do. One answers from a script, the other reads your data and acts on it.

Most underperforming pages fail for the same three reasons: they load too slowly, they offer competing actions, and nobody can say where the visitor was lost.
The AI assistant resolves two thirds of tickets before a person sees them, and the handover to an agent is clean. We measured it weekly with them and the numbers held.
Sarah Thompson
COO, logistics operator
Core Web Vitals went green on every template and organic traffic recovered within a quarter. The team explained every trade-off before making it.
Wade Warren
Head of e-commerce
They said no to two ideas we had and were right both times. What they did build has been running for a year without us touching it.
Lisa Williams
CEO, HealthTech startup
Our own engineers picked the project up in a week. Prompts, evaluations, tracing — all there, all explained.
Jennifer Lee
CTO, B2B services
A single well-scoped automation typically runs four to eight weeks from kickoff to production. An AI feature inside an existing product with real integration work runs eight to sixteen weeks. The biggest variable is how many systems we have to touch, not the AI itself.
Yes. Everything runs on your accounts and your infrastructure, and the repository is yours from the first commit — source, prompts, evaluation sets and documentation included. We are happy to stay on for support, but nothing is built so that you have to keep us.
Inference is usually the smallest line: a support agent handling ten thousand conversations a month typically lands in the low hundreds of dollars. Budget fifteen to twenty-five per cent of the build cost per year for maintenance, which covers failure reviews, prompt updates and model migrations.
We work inside your infrastructure and your data boundaries, use providers with zero-retention terms where required, and can deploy against self-hosted or regional model endpoints when regulation demands it. Data handling is agreed in writing during scoping, before any build starts.
We will say so. Part of the audit output is a list of processes that should not be automated yet — because the rules are not clear, the volume is too low, or classic software solves it more cheaply. Those lines are often the most valuable part of the engagement.