Case studies
Each case explains the problem, my role, what I found, what was done and by whom, how it was checked, and where things stand. Clients are described by industry, never by name.
Content crawlers couldn't see
- Equipment retailer: product details that loaded only on scroll. Magento and Hyvä, Alpine.js, and a backlink spike kept on its own track.
- Film review site: a consent tool that emptied every article. A cookie platform blocking the script that displayed the reviews.
- Event discovery app: 2,000 pages with no way in. A React app, a 13-page spec, and testable fixes.
Modern stacks and migrations
- Junk removal company on a headless stack. Sanity, Vercel, and SEO changes merged through GitHub.
- Medical clinic: WordPress to Next.js. A decision for every legacy URL and an AI-assisted code review.
- Fly fishing shop: cleanup after a Shopify move. 3,400 broken URLs and duplicate product markup.
Indexing at scale and recovery
- Trading card price site: 20,000 pages in the index. Segmented sitemaps and parameter rules.
- Health-testing store: after the SEO plugin went dark. Recovery checked in Google and Bing.
Entities, local, and AI search
- Custom closet brand: the company versus its first showroom. Entity modeling and location pages.
- Therapy practice: a suspended Business Profile reinstated. An evidence-first appeal.
- AI research company: accurate AI answers for job seekers. A GEO audit for recruiting.
The common thread
Almost every case comes down to the same gap: what a business believes its site says versus what crawlers and AI systems actually receive. Finding that gap, proving it, and closing it is the work. If one of these sounds familiar, tell me about your site.
Updated October 6, 2026
