AI Site Grade

perthairport.com.au — AI Site Grade

Perth Airport's entire domain returns HTTP 403 with a Cloudflare JS challenge to all user-agents, making the site invisible to every AI crawler and browser.

Perth Airport's site is completely blocked from AI crawlers and browsers by a blanket Cloudflare JS challenge, with no robots.txt, sitemap, or structured data accessible.

Findings
12
Evidence checks
32
Completed
30 May 2026

Analysis

Perth Airport: A live site invisible to every AI crawler and browser alike

The entire perthairport.com.au domain — homepage, robots.txt, sitemap.xml, llms.txt, and every sub-page — returns HTTP 403 with a Cloudflare JS challenge to all user-agents, including browsers. No AI crawler, search bot, or standard browser can access a single byte of real content without first solving a JavaScript challenge that headless crawlers cannot pass.

Crawler Access

Every bot tested — GPTBot, ClaudeBot, Google-Extended, OAI-SearchBot, PerplexityBot, Bytespider, Applebot-Extended, ChatGPT-User, anthropic-ai, and a standard Browser — receives an identical 403 response from Cloudflare's managed challenge platform. The response body is a <title>Just a moment...</title> HTML shell with a noindex,nofollow robots meta tag and a Content-Security-Policy that blocks everything except Cloudflare's own challenge scripts. The site runs on Sitecore (evidenced by the historical robots.txt disallowing /sitecore paths) hosted behind Cloudflare, with DNS pointing to AWS global edge IPs (13.248.160.137, 76.223.34.124). No robots.txt is served — the request itself triggers the challenge. No llms.txt exists. No sitemap is accessible. The site is effectively dark to the entire AI-ecosystem.

Cold-Knowledge Gap

The LLM prior knows Perth Airport as "Australia's Western Hub," the fourth-busiest airport in Australia, with four passenger terminals, a $5 billion redevelopment plan, and recent reputational friction around security queues. The actual site content (visible only via Wayback snapshots) confirms these facts — the homepage promotes parking booking, duty-free shopping, the Aspire Lounge, and a "Perth Airport is changing" banner about construction. The gap is not in factual accuracy but in depth: the cold model knows the airport exists and its broad strokes, but cannot access real-time flight data, current parking prices, terminal-specific construction updates, or the new mobile app (launched 2025, iOS/Android). The live flight status table on /flights/departures-and-arrivals is entirely invisible to AI.

Schema Posture

Zero structured data exists on any page. Across all Wayback-captured pages — homepage, parking, flights, security guide, about-us — the JSON-LD schema array is empty. No Airport, Organization, FAQPage, Flight, Product (for parking), or Event schema is present. The parking page contains rich comparison content (five parking types with pricing, proximity, and features) and an FAQ section, but none of it is marked up. The flights page renders a real-time table of departures/arrivals with no schema annotation. The security page has 1,000+ words of procedural content with no structured markup.

External Signals

No external mentions of the site's accessibility issues were found in search results. The site's Cloudflare challenge appears to be a blanket configuration — likely a "Under Attack" mode or a WAF rule that does not distinguish between bots and browsers. The Wayback Machine holds snapshots from late 2024 through mid-2026, showing the site was previously accessible to crawlers. The transition to full JS-challenge lockdown appears to be a recent change that has effectively removed the site from the AI-accessible web.

Findings

  1. Cloudflare JS challenge blocks all AI crawlers and browsers High

    Every tested bot (GPTBot, ClaudeBot, Google-Extended, OAI-SearchBot, PerplexityBot, Bytespider, Applebot-Extended, ChatGPT-User, anthropic-ai, and a standard Browser) receives an identical 403 response with a Cloudflare JS challenge. No content is accessible without solving a challenge that headless crawlers cannot pass.

    What to change: Configure Cloudflare to allow AI crawler user-agents (e.g., GPTBot, ClaudeBot) through the JS challenge, or serve a static version of the site to bots.

  2. No robots.txt file is served High

    The robots.txt request triggers the same 403 JS challenge, so no directives are available for any crawler. Historical snapshots show a previous robots.txt that disallowed /sitecore paths, but the current configuration blocks all access.

    What to change: Serve a robots.txt file that allows AI crawlers (e.g., GPTBot, ClaudeBot) and points to a sitemap.

  3. No llms.txt file exists Medium

    The llms.txt endpoint returns a 403, indicating no file is published. This prevents AI models from discovering the site's content structure.

    What to change: Create an llms.txt file listing key pages (flights, parking, security guide) to help AI crawlers discover content.

  4. Sitemap is inaccessible High

    The sitemap.xml request returns a 403, so crawlers cannot discover the site's URL structure. Historical snapshots show no sitemap was ever served.

    What to change: Generate and serve a sitemap.xml listing all public pages, and allow crawlers to access it.

  5. No structured data on any page High

    All Wayback-captured pages (homepage, parking, flights, security guide, about-us) have empty JSON-LD schema arrays. No Airport, Organization, FAQPage, Flight, Product, or Event schema is present.

    What to change: Add JSON-LD structured data: Airport schema on the homepage, Flight schema on departures/arrivals, Product schema for parking options, FAQPage for FAQ sections, and Organization schema for corporate info.

  6. Live flight data is invisible to AI High

    The departures and arrivals page contains a real-time table of flights, but it is entirely inaccessible behind the Cloudflare challenge. AI models cannot retrieve current flight information.

    What to change: Allow AI crawlers to access the flights page, and consider adding Flight schema markup to the table.

  7. Parking comparison content is unreachable High

    The parking page contains rich comparison content (five parking types with pricing, proximity, features) and an FAQ section, but none of it is accessible to AI crawlers or marked up with schema.

    What to change: Allow AI crawlers to access the parking page and add Product or FAQPage schema to the content.

  8. Security guide content is blocked Medium

    The security page has over 1,000 words of procedural content (what to expect, prohibited items, etc.) but is completely inaccessible to AI crawlers.

    What to change: Allow AI crawlers to access the security guide page.

  9. Blanket Cloudflare configuration blocks all traffic High

    The site's Cloudflare configuration appears to be set to 'Under Attack' mode or a WAF rule that does not distinguish between bots and browsers, causing all requests to receive a JS challenge.

    What to change: Review Cloudflare security settings to allow known AI crawler user-agents through the challenge, or serve a static version to bots.

  10. No external discussion of accessibility issues Low

    Web searches found no mentions of the site's Cloudflare block or accessibility problems, suggesting the issue has not been publicly raised.

  11. Cold knowledge lacks real-time and detailed content Medium

    The LLM prior knows Perth Airport's general facts but cannot access real-time flight data, current parking prices, terminal construction updates, or the new mobile app (2025).

    What to change: Allow AI crawlers to access key pages so models can retrieve up-to-date information.

  12. Historical robots.txt disallowed Sitecore paths Low

    A historical robots.txt snapshot disallowed /sitecore paths, indicating the site runs on Sitecore. While not currently accessible, this suggests past intentional blocking of certain paths.

    What to change: Ensure the current robots.txt (when served) does not disallow necessary paths for AI crawlers.

What's working

  • Historical content available via Wayback Machine — Wayback Machine snapshots from 2024-2026 show the site previously had accessible content, including parking, flights, security guide, and about-us pages. This provides a fallback for content recovery.
  • Cold knowledge of Perth Airport is factually accurate — The LLM prior correctly identifies Perth Airport as Australia's fourth-busiest, with four terminals and a $5 billion redevelopment, matching Wayback content.
  • Site contains rich, useful content — Wayback snapshots reveal detailed content: parking comparison with pricing, flight departure/arrival tables, security procedures, and corporate information. This content is valuable for AI models if made accessible.

Track perthairport.com.au across AI search

This is one snapshot. Open the interactive report to inspect evidence, or grade another site free.

Open this AI Site Grade Grade another site Track your brand