AI-Powered · Websites

Websites built to be read by people and by machines

A website has two readers now. A person deciding whether you look like the company they want, and a machine deciding whether there is anything here it can quote. The brochure site was a reasonable answer to one reader and it is still what most companies are running, which is the ordinary reason a business can rank for what it sells and never get named when somebody asks an assistant the same question. We build for both in one pass, and we check it with code rather than by eye.

  • One indexable URL for every thing worth finding, with its own title, description and structured data
  • Exactly one h1 per page, and the page's subject present as text rather than inside an image
  • Structured data that states what is visible on the page, validated before it ships
  • Images to a byte budget, enforced by the build rather than by good intentions
  • A redirect for every legacy URL that had rankings or links pointing at it
  • Measurement on the actions the business is actually paid for

What ships with every build

This is a specification rather than a philosophy, so it is worth writing as one. One indexable URL for every thing worth finding — every property, every episode, every program, every service somebody might search for on its own. Exactly one heading that says what the page is. A title and a description written for that page rather than inherited from the last one. A canonical address. A share image. Structured data describing what is actually visible. A sitemap whose dates mean something. A robots file that names the AI crawlers explicitly rather than leaving it to inference. And a machine-readable summary at llms.txt.

None of that is exotic and none of it is expensive at build time. All of it is expensive to retrofit, which is the entire argument for doing it while the site is being made rather than as a project the following year.

Generated from data, never hand-edited

Any page type that repeats gets generated from a template and a data file rather than made by hand. That is not a preference about tooling; it is what makes the fiftieth page as correct as the first. A hand-made set of forty pages has forty opportunities to forget the canonical, and it will take several of them.

The corollary is a rule we hold to strictly: generated output is never edited in place. If a generated page is wrong, the template or the data is wrong, and fixing it in the page guarantees the next build undoes the fix. We also run a per-page audit script over the result that checks the things a human eye slides over — structured data present and valid, breadcrumbs, description length, an address where there should be one, heading count, the analytics tag actually on the page — and logs what it finds rather than asserting the build was fine.

Images ship to a byte budget

The largest image on a page is usually the thing the visitor waits for, and it is routinely the thing nobody measured. So every output in our pipeline has a byte budget, and exceeding it fails the build rather than quietly making the site slower. The same check refuses to upscale: an output wider than the source it was cropped from is a soft image, and it is easier to catch it at build time than to notice it on a phone six months later.

Two smaller disciplines travel with it. Metadata comes off on the way out, because photographs carry more than the picture. And filenames are versioned, because an image CDN caches each width for a long time and will happily keep serving the old version of a file you replaced.

Nothing that ranked gets dropped

Before anything moves, we inventory every URL that currently ranks or has links pointing at it, and each one gets a redirect to its replacement. This is ordinary discipline and it is skipped constantly — we have inventoried a platform migration where every one of forty-two article addresses returned an error afterwards, and found pages still ranking on the first page of results while serving nothing at all.

The part that is not ordinary is knowing when a redirect is the wrong instrument. A legacy page whose content was selected by the part of the address after the hash cannot be redirected per item, because that fragment never reaches the server to be read. Redirect the base address and every working legacy link breaks at once. The right move is to leave the page reachable and mark it so it is not indexed while its links are still followed, and let the new pages take the rankings instead.

Measurement on the actions that earn

A site is not paid for sessions or time on page, and reporting those is how a website conversation stays theoretical for a year. We instrument the two or three actions the business is actually paid for — the download, the call, the enquiry, the registration, the booking — and once those are recorded, the argument about which pages matter stops being an argument.

Monitoring is part of the work rather than an upsell, for an unglamorous reason: we have had buttons stop working on a site we built and nobody noticed, because a dead button produces no error and no complaint. It produces a slightly lower number that looks like a quiet week.

What we will not promise

Where you are on a platform we do not control, we deliver the copy, the files and the exact specifications, and we implement everything the system lets us touch. We do not promise to rebuild somebody else's templates, because that promise depends on access we may not get.

Saying which parts of a job are ours and which are advisory before the work starts is less satisfying than saying yes to all of it. It is also the difference between a scope that finishes and one that stalls halfway through with everyone annoyed.

This sits alongside seo & geo and connected workflows & automation. What it looks like in practice differs by market — we go deepest in property management, media & entertainment, finance and sports & recreation. Or tell us what is not working and we will say honestly which part of it you need.

FAQ

AI-Native Websites — questions we get

What makes a website AI-native rather than just well built?

Four things you can check for yourself. Audits run as code against the raw HTML rather than a text extraction, because extraction strips the script tags structured data lives in. Every page ships with structured data that matches what is visible, and with a machine-readable summary at llms.txt. Repeating page types are generated from data rather than hand-made, so the fiftieth is as correct as the first. And the build fails on the things that are easy to miss — an oversized image, a page with no heading. It is a way of working, not a feature list.

Do we own the site when the engagement ends?

Yes, entirely — the code, the content, the domain, the analytics and the accounts. We will also tell you plainly if anything in your current setup is not owned by you, because it is more common than people expect: we regularly find domains registered to a former web vendor rather than to the business that depends on them.

Can our team edit it without calling us?

For anything editorial, yes, and we set it up so the editing happens in one place rather than in the markup. The exception is the page types that are generated from data — those are edited by changing the data, not the page, because a hand-edit to generated output is undone by the next build. We show your team which is which on handover.

How fast does a site actually need to be?

Fast enough that nobody leaves before the first thing renders, which in practice means caring about one image rather than about a score. The largest element on the screen is almost always what the visitor is waiting for, and it is almost always an image nobody measured. We put a byte budget on it and fail the build when it is exceeded, which is less interesting than a performance report and considerably more effective.

Do you work with our existing platform, or move us off it?

Either, and we will tell you honestly which one your situation calls for. A platform that is limiting you in ways you can feel is worth leaving; a platform you simply dislike usually is not, and a migration you did not need is the most expensive way to lose rankings. Where we stay, we work within what the system allows and we say up front which fixes that puts out of reach.