Tools

Small, sharp tools for the jobs I keep doing by hand. Free, no sign-up, no email gate. Each tool records how it was used — which markets, which codes, how many keywords — and never your keyword lists, exports or figures. Every page says exactly what its tool records.

No email requiredNo visitor trackingMethod shown in full
International SEO

hreflang generator

Builds a complete, self-referencing set of annotations as HTML head tags, an HTTP Link header or an XML sitemap. Every code is checked against the full ISO 639-1 and ISO 3166-1 lists, so en-UK is caught — and so are the codes that are perfectly valid but mean somewhere else, like es-LA for Latin America.

Open the generator →
International SEO

hreflang checker

Enter one URL and it fetches that page, every alternate it declares, and every alternate those declare, then draws a return-tag matrix. A pair that only points one way shows up as an asymmetric cell — the failure Google ignores without a word, and the one no single-page tester can see.

Open the checker →
International SEO

Local SERP checker

Opens Google as a searcher in another country, language or city sees it — every keyword across every market, from one grid. It uses google.com with country and location parameters, because switching to google.de stopped doing anything in 2025.

Open the checker →
AI search

AI visibility checker

Puts the question your buyers ask to Claude, OpenAI and Perplexity with live web search switched on, and shows whether each answer names you, cites your site, or names a competitor first — plus the domains every engine leans on. The names you type never leave your browser.

Run a check →
AI search

robots.txt tester

Tests a live or pasted robots.txt against 28 crawlers — Googlebot, Bingbot, and the AI crawlers that search, train or fetch for a user — and names the rule that decides. It applies Google’s matching, traps included: a named group skips the * rules, and a blank line does not end a group.

Open the tester →
AI search

robots.txt generator

Blocks AI training without taking you out of AI search, then checks the file it wrote, crawler by crawler. It knows Applebot follows Googlebot’s rules and AdsBot ignores the * group, so the file does what the boxes say.

Open the generator →
Planning

SEO ROI calculator

Models the two things most ROI calculators leave out: the months before anything happens, and the gross margin on the revenue. It reports a payback month rather than a headline percentage, and it will happily tell you the investment does not pay back — which is frequently the right answer.

Open the calculator →
Planning

SEO forecast calculator

Turns a keyword list into monthly clicks at target positions, market by market, with the AI Overview loss taken first. The CTR curve every forecast depends on is shown, editable, and rebuilt from your own Search Console export if you paste one.

Open the calculator →

Why there is no email gate

Because a tool behind a form is not a tool, it is a lead capture with a calculator drawn on the front. If something here is useful, use it. If it is useful enough that you want the person who built it, the contact page is right there and does not require you to have used anything first.

The hreflang generator, the robots.txt generator, the local SERP checker and both calculators do the work in your browser: your keywords, paths, exports and figures are never sent, and the local SERP checker’s links go straight from your browser to Google. What each one does send, once, is a short note of how it was used — which markets and codes, how many keywords, which preset — with no identifier attached and nothing you typed. The hreflang checker and the robots.txt tester also record the address you asked them to check, because they fetch that site’s public files. You can watch all of it in your browser’s network tab, and I would rather you did than take my word for it. Send Do Not Track or Global Privacy Control and nothing is recorded at all.

The hreflang checker and the robots.txt tester are exceptions, because a browser is not allowed to fetch other sites’ files. The checker sends the URL you enter to this site’s server, which fetches the public pages and returns only their hreflang signals. The tester, when you test a live site rather than a pasted file, sends the address, and the server fetches that site’s /robots.txt and nothing else, returning only its rule lines. Neither stores anything, and their pages spell that out.

The AI visibility checker is the last, because the engines have to be asked from a server that holds the keys. Only the question travels, to this site’s server and on to the engines; the brand and competitor names you type are matched in your browser. It is also the one tool with a daily limit, because every question costs money to ask.

What I build these for

Each one started as something I was doing repeatedly by hand for clients, usually badly, in a spreadsheet that then got copied and quietly diverged. The test for whether a tool belongs here is simple: does it encode a judgement that the free alternatives get wrong?

  • The ROI calculator exists because the ones online apply the full traffic uplift from month one and treat revenue as profit. Both mistakes push the answer up, and both are convenient for whoever is selling the retainer.
  • The hreflang generator exists because the common ones emit whatever you type. A tag that says en-UK looks completely fine right up until you notice the market never arrived.
  • The AI visibility checker exists because a visibility score hides the part you can act on: which sources the answer was built from. It shows you the answer and its sources, not a number.
  • The robots.txt tester and generator exist because most checks stop at one bot and the * group. The expensive mistakes are elsewhere: a named group that silently skips the shared rules, Applebot inheriting a block meant for Googlebot, and blocking OAI-SearchBot when the aim was to keep out GPTBot.
  • The local SERP checker exists because the old way of seeing another market’s results — switching Google domains — stopped working in 2025, and a VPN shows you one market at a time.
  • The forecast calculator exists because every SEO forecast rests on a CTR curve that nobody shows you. This one shows it, takes the AI Overview loss first, and rebuilds the curve from your own data.

If a tool would just be a prettier version of something that already works, I would rather write the note explaining when to use it. Those live in notes.

Found a bug, or want one built?

Both are welcome, and the second more than the first. If you keep doing something by hand in international SEO and it feels like it should be a form with an output box, tell me what it is — [email protected]. I build the ones I would use myself.