User-agent: * # atlas-analytics beacon — no content, and crawlers that render the page were # spending real crawl budget on it. Keeps the budget on castle pages. # Listed BEFORE "Allow: /" on purpose: Google resolves by longest match, but # simpler crawlers take the first matching line, and those are most of the # beacon traffic. This order blocks it under both readings. Disallow: /_a/ Disallow: /_a.js # The map's deep link. Every castle page links its own `/?castle=` (the # "view on the map" button, also the TouristAttraction's hasMap), which is # 9,040 x 8 editions = ~72,320 crawlable URLs that all serve the same # 8 homepages. Each carries a canonical back to its homepage, so nothing was ever # indexed twice — but Google had fetched 1,627 of them by 2026-08-21 while # 23,986 real pages sat in "Discovered, currently not indexed". The budget # belongs to those. The link keeps working for people; crawlers skip it. Disallow: /*?castle= # The same deep link for a country: every country page links its own # `/?country=` (8 editions of ~155 of them), each canonical to its # homepage. Google had 48 of them filed as "alternate page with proper # canonical" and had served one in results by 2026-10-27 (/?country=romania). Disallow: /*?country= # The MCP endpoint (an API for AI agents, see /about/ and llms.txt): a GET # answers 405, and Google had crawled it ("blocked due to other 4xx", 2026-10-27). Disallow: /mcp Allow: / Sitemap: https://thecastlemap.com/sitemap.xml