All posts

Field notes

14 July 20268 min readBy Team Klaudius

The moment a client says yes: go-live SEO in one command

A new website nobody can find is a quiet failure. Klaudius now takes a converted client's site from deployed to properly launched in one command: sitemap and structured data in place, the canonical domain set, the URL pushed to search engines, and a ten-minute checklist for the rest. What it does, what it deliberately refuses to do, and how to sell it.

There's a moment in every deal that deserves more ceremony than it usually gets: the client says yes.

Up to that point, the site Klaudius built has been doing sales work. It sits on a preview URL, it looks better than anything the business has ever had, and the owner has been staring at it deciding whether to pay you. Then they do — and the site's job changes overnight. It stops being a pitch and becomes the thing their customers are supposed to find.

Most small-business websites never actually make that second step properly. They go live, and that's it. No sitemap, no structured data, nothing telling Google what the business is or where it operates, nothing submitted anywhere. The site exists, and the owner spends the next month asking why they can't find themselves on Google. If you've ever inherited a site built by a cheap agency, you've seen this — the launch basics just never happened, because they're fiddly, invisible, and nobody was ever going to notice they were missing. Until they noticed.

Klaudius now does the whole step in one command. When a client converts, you run it once — ideally right after their domain is connected — and the site goes from deployed to properly launched.

What one command actually does

Everything below is built from the real business content Klaudius already gathered — the same photos, hours, address and services that went into the site itself. Nothing is invented.

Canonical URLs — including the host itself. Every page declares the final domain as its canonical home: an absolute, self-referencing rel="canonical", the exact form Google's canonicalization documentation recommends. And because a canonical tag is a hint while a redirect is an answer, the command also verifies after deploy that plain HTTP and the alternate host form (www vs apex) 301 to the chosen one — every hosting platform will happily serve both hosts as duplicate sites if nobody checks, and that split is one of the most common self-inflicted wounds on small-business domains.

Open Graph and Twitter Card tags, at real dimensions. og:title, og:description, og:locale matched to the site's language, summary_large_image for the card — and an og:image produced at exactly 1200×630 from a real photo of the business, because a wrong-ratio share image renders as a broken card. This is what makes the site unfurl properly when the owner shares it on WhatsApp or Facebook, which they will, repeatedly, in the first week. The full icon set goes in at the same time: apple touch icon, web manifest, browser theme colour in the brand palette.

An entity graph, not just a schema block. The structured data ships as connected JSON-LD: the business as the most specific schema.org type for the trade — Plumber, Restaurant, HairSalon, AutoRepair — with PostalAddress, openingHoursSpecification from the real hours, E.164 phone, geo coordinates cross-checked against the live Google Places listing, areaServed, sameAs links to the social profiles and Maps listing, and — when the business's Google listing is verified at run time — its live rating and review count (never a stale copy); a Service node for each service the business actually offers (this is what feeds "best boiler repair near me"); and a WebPage node carrying truthful datePublished/dateModified — freshness is one of the heaviest signals AI answer engines weight, and a missing modified-date is a citation disadvantage. All of it cross-referenced with @id links so a model resolves one entity, not fragments.

XML sitemap and robots.txt, cross-wired. The robots file carries the Sitemap: directive — a zero-credential way for every crawler to find the sitemap — and allowlists the AI crawlers by name rather than leaving them to the wildcard: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, Google-Extended, Applebot-Extended. The sitemap is deliberately lean: no <priority>, no <changefreq> — Google's documentation says it ignores both — and lastmod only because at launch it's genuinely accurate.

Answer-shaped content. AI engines lift answers from pages sentence by sentence, and the only controlled experiment in the field (the Princeton GEO study) found concrete statistics and direct, authoritative phrasing raise citation visibility by 30–40% while padding does nothing. So the command adds an FAQ section phrased the way people actually ask ("who does emergency boiler repair in Telford?"), sharpens vague copy with the concrete numbers the pipeline already gathered — years trading, response times, service radius — makes each section answer its heading in the first sentence, and puts the name, address and phone on the page as crawlable text that matches the Google listing character for character. Every fact from gathered data; nothing invented.

IndexNow submission. A key file hosted on the domain, one POST to the IndexNow API, and Bing, Yandex, Naver, Seznam and Yep are notified the site exists within seconds of going live — no webmaster accounts, no waiting to be discovered. Google doesn't participate in IndexNow, which is exactly why Search Console is on the checklist below.

An AI-crawlability pass. The crawlers behind ChatGPT, Claude and Perplexity — GPTBot, ClaudeBot, PerplexityBot — fetch raw HTML and don't execute JavaScript. So the command verifies the things that actually matter to them: the business's name, services, FAQ answers and phone number present in the server-rendered HTML (not assembled client-side), a single descriptive <h1>, descriptive alt text and explicit dimensions on every image (the one Core Web Vitals lever worth enforcing on a static site), the correct <html lang>. A site that's properly explained to Google is properly explained to the AI assistants too — that's the GEO half of this, and it's the same groundwork done rigorously.

What it refuses to do

We researched this feature against Google's and Bing's current published guidance before building it, and some of what we found shaped the command as much by what it leaves out.

There's a whole graveyard of SEO rituals that tools still perform because customers expect to see them: meta keywords (ignored by Google since 2009), geo.region and ICBM meta tags (never a ranking signal), sitemap <priority> and <changefreq> (Google's documentation states it ignores both), pinging the old sitemap endpoint (retired in 2023). Klaudius adds none of it. A site stuffed with dead-weight tags doesn't rank better — it just looks like it was optimised by a tool that stopped reading the documentation in 2014.

Two judgment calls deserve a special mention, because they're where most tools either overpromise or posture.

Star ratings. Tools love review markup because it might make gold stars appear next to a listing — but Google's policy since 2019 is explicit that a business marking up its own reviews is "self-serving" and earns no star rich result. Klaudius includes the markup anyway, and only the true version of it: the rating and review count pulled live from the business's verified Google listing at the moment the command runs (omitted entirely if the listing can't be confidently matched), and review text quoted verbatim from reviews the page already displays. Not to game Google — it can't — but because it's accurate entity data the AI engines read, and honest structured data is part of what your client is paying for. What Klaudius refuses to do is invent a number, or promise you stars that Google's own policy rules out.

llms.txt, the much-promoted "robots.txt for AI": Google has said publicly that Search ignores it, and server-log studies through 2026 show most AI crawlers don't fetch it either. Klaudius ships one anyway — it's a single text file built from facts it already has, so the cost is zero — but with expectations stated plainly: it's insurance, not a lever, and anyone selling it as the secret to AI visibility is selling you a text file.

The ten minutes that need account sign-ins

The command ends by handing you a checklist, because a few things sit behind webmaster sign-ins rather than inside the pipeline — and they're short:

Google Search Console (~5 minutes). Add the domain, verify it with a DNS record, submit the sitemap. This is the one direct line to Google — both to request indexing and, later, to see exactly what searches the site shows up for. That last part quietly becomes a retention tool: "your site appeared in 400 searches this month" is a renewal email that writes itself.

Bing Webmaster Tools (~3 minutes — it imports straight from Search Console in one click). Worth far more than Bing's own market share suggests: Bing's index is what ChatGPT Search retrieves from, and Bing's webmaster dashboard now reports how often AI features actually cite the site — which turns "your business shows up in ChatGPT" from a claim into a screenshot. Claim the free Bing Places listing while you're there.

And none of this really has to be done by hand — it needs the accounts, not a human: give Claude (or Codex) browser access and it can walk through the whole thing for you, with you there to sign in. The command even pre-generates the tagged URL to paste into the business's Google listing, so profile visits show up attributed in analytics instead of vanishing into "direct traffic".

Selling the invisible

Here's the operator's problem with SEO work: it's real, it matters, and the client can't see any of it. You can't screenshot a canonical tag.

The way to sell it is as the launch, not as the plumbing. The site isn't just live — it's launched: set up properly for Google, set up for the AI assistants people increasingly ask for recommendations, submitted to search engines the moment it went up, with the fundamentals in place that most competitors' sites — including ones businesses paid agencies thousands for — simply don't have. That last clause is the one that lands, because it's true and it's checkable.

It works on every hosting option Klaudius supports — Vercel, Cloudflare Pages, and Netlify alike — and everything it applied is recorded per client, so there's always a paper trail of what was done and when.

One command, at the exact moment the deal closes. The client paid for a website. What they get is a website people can find.