Expertise

Technical SEO & Migrations

Technical SEO is where I start every engagement — before content or links, find and fix what's capping crawlability, indexation, and speed. It's also the foundation behind the Wix→Shopify migration that grew a wine brand's organic revenue by +141%.

What I own

  • Full site crawls — Screaming Frog audits covering status codes, redirect chains, duplicate/thin content, and broken internal links.
  • Indexation & coverage — Search Console analysis of indexed vs. excluded pages, crawl budget waste, and sitemap accuracy. Grew one client's clean indexed footprint from 170 to 189 pages.
  • Core Web Vitals — brought a client's CWV to passing across both mobile and desktop.
  • Structured data — schema implementation reviewed against Google's Rich Results requirements.
  • Platform migrations — a complete URL-mapping tracker pre-migration, daily Search Console monitoring post-launch, and same-day fixes for redirect issues.

Core Web Vitals: the current thresholds

Per Google's own web.dev documentation, these are the "good" thresholds — every one has to pass at the 75th percentile of real Chrome visits over a rolling 28-day window for a URL to get an overall "good" assessment:

Core Web Vitals — current official thresholds
MetricMeasuresGood
LCP — Largest Contentful PaintLoading speed< 2.5s
INP — Interaction to Next PaintResponsiveness< 200ms
CLS — Cumulative Layout ShiftVisual stability< 0.1

INP replaced First Input Delay (FID) as an official Core Web Vital in 2024, and it's a stricter, more complete measure — it scores the slowest interaction across the entire page visit, not just the first one, which makes it a genuinely harder metric to pass on JavaScript-heavy pages. I read field data (CrUX, via PageSpeed Insights or Search Console) rather than relying on lab scores alone, since a page can look fast in the lab while real users on mid-range phones and slower connections experience something worse.

Crawling, indexing, and crawl budget

Google's own crawl-budget guidance is honest that this mostly matters for large sites — crawl budget is rarely a limiting factor for sites under a few thousand URLs, but it becomes a real constraint on large e-commerce catalogs and multi-site portfolios with faceted navigation, parameter-driven duplicates, or redirect chains eating into how often Googlebot revisits the pages that actually matter. I audit crawl paths against page priority, clean up the sitemap so it lists only canonical, indexable URLs, and use Search Console's Index Coverage report as the source of truth for what's actually indexed versus excluded and why — the two statuses I chase down first are "Crawled – currently not indexed" (usually a thin- or duplicate-content signal) and "Discovered – currently not indexed" (usually a crawl-budget or internal-linking problem). Google evaluates and ranks based on mobile-first indexing, so I treat the mobile render as the one that counts, not the desktop one.

Structured data

I implement schema as JSON-LD — Google's preferred format — and validate every template against the Rich Results Test before it ships. Beyond eligibility for rich results in traditional search, well-formed, accurate schema is also one of the clearest signals AI systems use to understand and cite a page's content correctly, which matters more every quarter as AI Overviews and chat-based answers pull a growing share of informational queries. Schema is only worth what it accurately describes, though — if structured data claims something the page doesn't actually show (a price, an availability status, a review count), that's a trust problem, not a ranking boost.

AI crawlers and access control

A newer part of a technical audit in 2026: deciding, deliberately, which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and others) get access via robots.txt, and confirming that whatever content those crawlers are allowed to see actually renders without requiring JavaScript execution — a lot of AI crawlers don't execute client-side JS the way Googlebot does. This is a real, current-day audit item now, not a hypothetical one.

Worked example

Wix → Shopify migration

Built a complete URL-mapping tracker before migration, monitored Search Console daily post-launch, and isolated and fixed failed and double redirects within a day of detection — protecting existing organic traffic through the transition and setting up the +141% revenue growth that followed. Read the full case study →

Related reading

For the step-by-step process, see the guide: How to Do a Technical SEO Audit.

FAQ

Technical SEO — Questions

What does a technical SEO audit you run cover?

A full crawl (Screaming Frog), a Search Console indexation and coverage review, Core Web Vitals and PageSpeed diagnostics, structured data validation, redirect and canonicalization checks, and a prioritized fix list ranked by impact.

What's your experience with platform migrations?

I led a full Wix-to-Shopify migration end-to-end: a pre-built URL-mapping tracker, daily Search Console monitoring post-launch, and same-day fixes for failed or double redirects — the migration protected existing organic traffic through the transition.

What are the current Core Web Vitals thresholds?

Per Google's own web.dev documentation: LCP under 2.5 seconds, INP under 200 milliseconds, and CLS under 0.1 — each measured at the 75th percentile of real Chrome user visits over a rolling 28-day window. All three need to pass for a URL to get a "good" Core Web Vitals assessment.

How do you handle AI crawlers like GPTBot and ClaudeBot?

As a deliberate robots.txt and access decision, not an oversight — deciding per client whether AI training/answer crawlers should be allowed, blocked, or allowed selectively, and making sure the content those crawlers are allowed to see is renderable without requiring JavaScript execution.

Have a migration or technical debt problem?

I'd be glad to talk through how I'd approach it — as an interview conversation or a role.

Get In Touch