
Visible to Google, readable by AI.
A search-discovery plan for 21 Lancaster hotel sites: crawlable content, consistent property information, language targeting and evidence that search and answer engines can retrieve.
- 21Sites in one plan
- 30+AI engines mapped
- 9Countries in the market matrix
- 1Template, forked 20 times

Strategy and implementation
The plan prioritizes the initial HTML of the React sites, then metadata, property identity, languages and supporting evidence. Rendering capabilities vary by crawler. Making content accessible supports discovery, but does not guarantee indexing, rankings or AI citations. The plan describes intended work; results require separate measurement.
- SEO master plan with a per-market matrix: languages, keywords, schema, competitors
- GEO playbook: AI-crawler allowlist, llms.txt, JSON-LD entity graph
- AEO: FAQ schema and answer-shaped copy for answer engines
- Prerender for non-JS crawlers behind Caddy
The levers
Make the content accessible, explain each property clearly, then measure discovery and answer accuracy.
- 1Let the AI crawlers in
- 2Serve real HTML to bots
- 3JSON-LD on every page
- 4llms.txt index and content
- 5hreflang and sitemaps
- 6FAQ answers
- 7Off-site knowledge graph
What it does
- 01
SEO
Head tags per route, a CMS-driven sitemap with lastmod and hreflang alternates, reciprocal hreflang with x-default and RTL checks for Arabic, per market from Beirut to Milan.
- 02
GEO
Generative engine optimisation: accessible canonical pages and accurate property facts. Search crawlers and model-training controls are separate choices. An llms.txt index is optional and does not establish citation or inclusion.
- 03
AEO
Answer engine optimisation: visible answers to real guest questions, with the property named and supporting details linked. Structured data must match the page; FAQ markup does not guarantee a search feature or an assistant citation.
- 04
Entity graph
Hotel, LodgingBusiness, Restaurant, HotelRoom with Offer, Event and BreadcrumbList per page, tied to an Organization and HotelChain at the hub, so engines resolve which Lancaster.
- 05
Prerender
The chosen fix is a bot user-agent prerender behind Caddy: crawlers get full HTML, people keep the fast app, and CMS edits reach bots with no rebuild.
- 06
Per-market strategy
Each property has its own keyword, languages and competitor set, written up in its own strategy doc.
Stack
- Site
- Vite and React 19, react-helmet-async, react-i18next.
- Structured data
- JSON-LD, schema.org Hotel and HotelChain vocabulary.
- Edge
- Caddy with a bot-UA prerender.
- Docs
- SEO master plan, GEO playbook, prerender runbook, per-site strategy.