Skip to content

What I check each thing with

A tool proves nothing on its own. What proves something is the gap between what the tool reports and what the site actually serves.

This page is the inventory: the check, the instrument, and one short example of each.

Rendering parity

curl with a crawler user agent. The base instrument, and the only one that looks at what is served with nothing in between.

The same URL requested as Googlebot and as a browser returns the same number of bytes, identical one by one. Without prerendering, the first would receive an empty shell. The command is below — run it and compare.

Crawl analysis

Screaming Frog. Response codes, canonicals, duplicate titles and orphan pages in a single pass.

[Pending — capture 03.]

Schema validation

Rich Results Test, and a diff against the served HTML. Valid markup is not the bar. Matching what is on screen is.

On a guide of this site the markup declared four questions and the page showed all four. On a client site, seven pages declared questions that were nowhere on screen.

Core Web Vitals

PageSpeed Insights, three runs minimum, and CrUX when there is a sample. One score is a coin flip.

This site scores 91 on mobile performance, with accessibility, best practices and SEO at 100, measured 26 September 2026. The field report says «no data» because the site is eleven days old — and that gets said too, because a lab number is not a field number.

Security headers

securityheaders.com, plus curl -I on each response type. The grade is not the point. The point is that the header travels on every response, not only on pages.

This site scores A+ with six headers set, measured 26 September 2026, and sends them on the sitemap and the static assets as well — which is where most sites that «have headers» turn out not to.

Tooling I built

Cayu. Keyword research with real volume, difficulty computed over the top ten, and technical auditing.

Of the fifty terms I measured to decide the English tree, the phrasing that looked obvious measured 10 a month and the one I chose measured 480. Same question, different words. Without measuring I would have picked the wrong one. The full case is in the Cayu case study.

CI guardrails

The build itself. It fails if the generated HTML carries control bytes, and it reports what it strips, with route and offset.

React 18.3.1 was slipping a zero byte into two pages of this site. The fix cleans it; the counter keeps it visible. The proof that counting was worth it: the next deploy moved that byte to a different page and a different offset. The write-up is in the SPA SEO case study.

What this page is really showing

Everything here is something I can do on day one, with the artefact that proves it.

If a posting asks for image optimization, Core Web Vitals monitoring or website security requirements, three of these blocks answer it directly. If it asks for crawl and indexing troubleshooting, two more do. And if it asks for someone who owns the accuracy of what they report — that is the whole page.

About meResume

Want me to run these on your site?

The free diagnosis uses the same instruments, and tells you which one produced each finding.

Get a free diagnosis