The thinking that comes before the tool
Explanations for the questions we get asked most. No product pitch, just the method: how to tell where visitors give up, which SEO faults actually cost money, and which ones only look bad in an audit report.
If you are not sure where to begin: set up Google Search Console. Without it you have no data to work from for anything else here.
Four ways through this section
Each path is an order, not a list. Read top to bottom, every piece builds on the one before it.
Measure first, judge later
Without clean data underneath, everything after it is guesswork.
Understand your visitors
What the numbers say about behavior on your pages — and what they leave out.
Get found
From indexability to load time on a phone, in the order that pays off.
Show up in AI answers
What counts once a search ends in an answer instead of a list of links.
Analyzing user behavior: what the data hides
Analytics records events, not intentions. How to reconstruct behavior from traces anyway, and why site-wide averages get in the way.
Finding SEO problems: the order matters more than the list
Audit tools sort by what they can count reliably. The real work is not finding things, it is putting them in order.
Understanding bounce rate: when a high one is fine
Bounce rate is not a verdict on a page. It only means something once you know what that page was supposed to do.
Increasing website traffic: four levers and their cost
Most sites reach for the most expensive lever first. The largest gain sits with pages that already rank, just not high enough.
Reading GA4: the four reports that actually say something
GA4 buries the useful part under cards and tiles. Four reports are enough once you know the question each one answers.
Setting up conversion tracking: the forgotten event
Between an event and a conversion sits one checkbox that decides half the value. How to measure what earns you money, not what is easy to count.
Setting up Google Search Console: the first report
Search Console is the only tool that shows you what Google actually does with your site. And it costs nothing.
Improving Core Web Vitals: LCP, CLS and INP explained
Core Web Vitals sound like engineering and are four fifths an oversized image at the top. Where to measure and what to touch first.
Reducing bounce rate: three fixes that actually work
Before you touch bounce rate, you need to know whether it describes a problem on this page. After that it gets pleasantly concrete.
Getting found in ChatGPT: appearing as a source
A growing share of searches ends in an answer, not a list of links. Whoever is named as a source there gets visitors who have half-decided already.
GA4 engagement time: engaged sessions and the two averages
Engaged sessions, average engagement time per session, and a per-user value that looks the same and is not. Where each number sits in GA4 and how to read it.
GA4 conversion not showing: the most common causes
The event fires and the report still shows zero. The six most common causes and the order in which to check them.
Improving LCP: the hero image and four other brakes
LCP is the Core Web Vital most often in the red. Usually an oversized image at the top is behind it, not half your website.
Creating llms.txt: what goes in and what it does
A text file that offers language models a tidy map of your site. What goes in it, how to build it, and whether the effort pays off.
Structured data for AI answers: which markup actually counts
Structured data turns a sentence into a checkable statement. Which types are worth it, where they belong, and why markup with no cover in the text backfires.
Generative Engine Optimization: what GEO really means
Under the buzzword sits a real shift: AI answers name two to five sources, and there is no page two. What GEO really is — and what is just SEO under a new name.
Controlling AI crawlers: which to block and which not
Block the wrong bot and you vanish from ChatGPT answers without noticing. The three bot classes, the major vendors, and the two positions a site can reasonably take.
Google's AI Overviews: how to appear as a source
The overview costs clicks and is a new surface to stand on at the same time. How it is built, who loses, who wins in relative terms, and what to do concretely.
Measuring AI traffic in GA4: ChatGPT, Perplexity and Copilot
AI visitors hide in GA4 under Referral, between trivia. Ten minutes of setup makes them permanently visible — and comparable with every other channel.
Page not indexed: what Search Console is really telling you
"Crawled, currently not indexed" is rarely a technical fault and usually a quiet verdict on your content. This piece sorts every message into harmless, quality verdict and real defect.
Impressions but no clicks: four causes, in the right order
Twelve thousand impressions, forty clicks: not a mystery but four causes that can be ruled out in a fixed order. It ends with a work list built from your own report instead of a benchmark table.
Lost rankings: the diagnosis in five stages
The first reflex after a drop is to change something immediately. That is exactly what makes diagnosis impossible, because afterwards nobody can separate the drop from the reaction to it.
Writing titles and meta descriptions that earn the click
Four thousand impressions, thirty-eight clicks: the decision happens in the search result, not on your page. Where the title and snippet come from, why Google overwrites them, and three real examples rewritten.
Direct traffic in GA4: what it is and where it comes from
On many websites direct is the second largest channel, and almost everything in it has an origin GA4 simply never saw. Two tests tell you within ten minutes how much of it is real.
Cookie banners and GA4: how big is your data gap really?
Your GA4 numbers are not wrong, they are incomplete, and always in the same direction. How to estimate your consent rate against Search Console, and how to work with the gap anyway.
How to spot and exclude bot traffic and referrer spam in GA4
Eight hundred sessions overnight from a country you do not sell to, every one with zero seconds of engagement. How to identify them, and why the obvious fix breaks your own history.
Connecting GA4 and Search Console: the step everyone misses
Linking takes five minutes, and afterwards half the people hunt through the menu in vain. What the reports do, where the hard limit sits, and why the numbers never match.
robots.txt or noindex: which tool for which job, and when
Blocking a page in robots.txt so it disappears from Google usually achieves the opposite: the URL stays in the index, just without a description. Why that happens, and how to get a page out of the results for good.
Canonical tags done right: how to fix duplicate content
The same page reachable under four addresses, and Google shows the wrong one. Why a canonical is only a recommendation, and how to see which address Google actually picked.
Relaunch without losing traffic: the work before launch day
Three weeks after the relaunch, half the enquiries are gone and Search Console lists 140 "Not found (404)" messages. How to collect the old addresses beforehand and switch everything on in the right order.
Setting up hreflang: the four rules it always fails on
The customer in Dublin lands on the British page with the wrong currency, though the Irish version exists. What hreflang does about it, what it does not, and why one wrong canonical voids the lot.
Getting found locally: your business profile beats your site
Your website ranks fourth, but you are missing from the map pack above it. For a local business the biggest lever is not the website, and distance is the one factor you cannot optimize away.
Updating existing content: three kinds of decay, three fixes
The most expensive reflex in content marketing is writing new things while the existing stock decays. How to tell which kind of decay you face, and what a rewrite actually involves.
Evaluating an SEO quote: five red flags and the hours test
Three quotes on the desk, and the cheapest promises the most. You do not need SEO knowledge to sort them out, only the promises that are impossible and one division.
Using SEO data directly in Claude: the MCP connection
The gap between “I know what to do” and “I did it” is the most common reason SEO lists go unworked. An assistant with access to your data closes it.