Skip to main content
TechSEO Vitals
Enterprise technical SEO · one consultant, no agency

Big sites break quietly.

A named GPTBot rule voids your wildcard directives. Bot Fight Mode returns 403 to Googlebot. Half your hreflang pairs point at redirects. None of it reaches a dashboard. I find it, tell you which of the dozens of findings actually matter, and take the fix to your developers myself.

Book a callTaking new clients
Martin Stepanek

Martin StepanekDeveloper-led enterprise technical SEO consultant

Selected clients

A small number of long engagements.

Sample findings

This is what lands in your backlog.

Real rows from real audits, anonymised and condensed. Finding a hundred issues is easy. Telling you which four to do first is not.

P0cf · security → botsBot Fight Mode is handing Googlebot a 403, which Cloudflare’s documentation says cannot happen — verified bots are meant to be exempt. It happens anyway, and no rule carves an exception out of it: Skip, Bypass and Allow do not touch it. It is logged in Cloudflare’s security events, not your origin, so nothing looks wrong while pages leave the index one by one. Turn it off and write custom WAF rules instead, so you decide what gets challenged.effort: 6 h
P1/robots.txt · user-agent: gptbotrobots.txt groups are most-specific-wins, not additive: once a named GPTBot group exists, GPTBot stops reading User-agent: * entirely — and every disallow lives there, so /cart/ and /admin/ are open to it. Delete the named group, or repeat every disallow inside it.effort: 1 h
P1/product/*?variant= · rel=canonical1.2M variant URLs each name themselves as canonical, so Google treats every colour and size as its own product and spends the crawl budget re-checking them instead of finding new stock. Point the canonical at the parent product.effort: 8 h
P2/sitemap-index.xml · lastmodlastmod is restamped on every deploy, so the whole sitemap claims to be fresh at once. Once the dates stop matching the content, Google discounts lastmod for every URL in the file, not just the wrong ones. Stamp it from content modified time, or drop the element.effort: 4 h
P1access.log · status 499ChatGPT-User abandons 39% of requests before the response finishes. 499 means the client hung up first, so it never reaches your 5xx rate and no alert fires — those pages simply never make it into an answer. Trace why TTFB is slow on the templates it drops, then serve them from an edge CDN.effort: 2 sprints
A typical audit returns dozens of rows like these, each written out in full: the evidence, every URL affected, the exact change.
From my own audits

Nothing at this scale announces itself.

A misconfigured directive throws no error. Indexation decays over weeks, and by the time a report shows it the quarter is gone. These are my own numbers, not an industry study.

Audits
98%

Contain at least one critical finding. Not because these teams are careless, but because nobody was looking at the layer it lives in.

Per audit
50+

Findings, ranked, each with an effort estimate and the exact place it lives.

Working scale
3M+

URLs and 150+ languages on the largest site I work on, where one bad directive quietly removes a whole market from the index.

How it works

What happens after you book the call.

No discovery calls that go nowhere, and no lock-in beyond the three-month monitoring minimum. Scoped and priced up front, and you see the value before any money changes hands.

01Day 0

The first call

Thirty minutes, no cost. I open your site live and name two or three real issues. You keep them whether or not we work together.

0248 hours

Scoped proposal

One page: what I will look at, what you receive, what it costs. Priced up front, no hourly billing, no scope creep.

032–3 weeks

The work

Crawl, render and log analysis of your own stack — the responses your server actually sends, not what a tool exports. Findings arrive as tickets in your tracker, not a slide deck.

04Rollout

Shipped and verified

I stay with your developers through implementation and re-test every fix in production before we call it done.

Every audit, migration and monitoring engagement includesFour things, always.
Prioritised ticket backlog
Walkthrough with your developers
Direct access to me, not an account manager
Post-launch verification
In their words

Both of them bring up the code before the rankings.

Neither was asked to. A CEO and a marketing manager at different companies both reached for the development background as the reason it worked.

“We've been working with Martin for several years now and we truly appreciate his professional and systematic approach, which also takes our business goals into account. In addition to his deep knowledge of SEO, he's able to break down proposed strategies into actionable steps and, thanks to his previous experience as a programmer, communicate them effectively to both our editorial team and our external developers.”
Tomáš Buranský
Tomáš BuranskýMarketing Manager, TOUCHIT
“Martin's development background established a foundation for implementing sophisticated strategies, particularly technical SEO initiatives. With him, our team significantly enhanced the performance of two high-traffic websites.”
Viktor Zeman
Viktor ZemanCEO, LiveAgent & Post Affiliate Pro
Who you're hiring

I read your codebase before your rankings.

10+ years building the web before I started fixing it: frontend, backend and architecture for high-traffic sites that had to stay up. That order is the difference. I can hold my end of the argument in your sprint planning, and your engineers get work they trust.

01

I still write code

Not a former developer. I build and run VitalSentinel, my own monitoring platform, so rendering, caching, build pipelines and infrastructure are current work, not a line on a CV.

02

I take on few clients at a time

A small number of long engagements, which is why the client list is short. The largest of them is under NDA and cannot be shown at all.

03

I talk to your developers directly

No account manager relaying tickets. I answer their questions in their language, and I stay in the thread until the fix ships.

Let's find what's breaking quietly.

Thirty minutes on a call and I'll name the technical issues your tools are not reporting — and tell you which ones are worth a sprint.

On the callI open your site live and read the response your server actually sends, not a dashboard.
You leave withTwo or three named issues, ranked, and what fixing each one is worth.
BringA URL that behaves oddly, a migration date, or the ticket nobody on your team wants to pick up.
Book the call
  • No cost
  • No commitment
Every two weeks

The technical SEO newsletter engineers and SEOs actually finish.

One technical SEO problem worked through in full, argued from live projects rather than other people's posts.

01One specific problem, taken apart — the directive, the log line, what the tools miss
02A clear position on what to do about it, and why
03Three things from the last two weeks, picked and explained
Mersudin ForbesMersudin ForbesMark Williams-CookMark Williams-CookAleyda SolisAleyda Solis
Recommended by industry leaders

Subscribe

A new episode every two weeks. Unsubscribe in one click.

By subscribing, I agree to the Privacy Policy and Terms and Conditions.

No spam, ever. Unsubscribe at any time.
Technical SEO notes