A consultancy in the investment-migration / second-citizenship space had a modern site people liked — and that AI engines could barely read. We shipped the layer AI actually ingests, without a second of downtime, and the open-book score followed.
Buyers increasingly ask an AI assistant “which firm helps me get a second passport?” before they ever open a search engine. The site had none of the machine-readable signals those assistants rely on to name a source — no entity graph, no llms.txt, no MCP manifest, no self-describing “for AI” surface. To a model, the brand effectively did not exist as a citable entity. On our open-book NVS it scored 74 — decent human UX, weak machine identity.
One linked entity graph (Organization + services + FAQ) with stable @id/sameAs, so engines resolve the brand to a real, cite-able entity.
A curated map for AI crawlers and a direct-to-machine landing page that states the entity and a copy-paste citation template.
/.well-known/mcp.json so agents can discover — and act on — the brand's services, not just read about them.
A fresh, dated access & citation declaration — the AI front door, re-stamped on cadence so it never reads as stale.
A dual-provider chat that answers prospect questions on-site in their language — grounded, server-side keys, no leakage.
Everything is real files on the client's own domain. If they ever leave, the machine layer stays theirs — no churn-and-lose.
We put a Cloudflare Worker in front: the new machine-readable surfaces and the AI concierge are served from our stack, while every existing page passes straight through to the original site. No migration, no re-platform, no downtime — the brand's live site never blinked while its AI identity went from 74 to 100.