Confidential
SEO / GEO / AEO Audit

NextGen Flying Academy

Strategic Visibility Audit & Action Plan
nextgenflyingacademy.com
86
/ 100
B
Client
NextGen Flying Academy
Domain
nextgenflyingacademy.com
Audit Date
June 2, 2026
Report
v3.0 · SEO/GEO/AEO
01 · The Scorecard

Visibility Pillars at a Glance

Eight pillars, each scored on a 0–10 rubric. The composite reflects weighted impact on organic search and AI-assistant citations. Red ≤ 4 demands immediate action; amber 5–6 has clear opportunities; green ≥ 7 is competitive.

Composite Visibility Score
86 / 100 B
On-Page SEO
9 / 10
Schema / AEO
9.5 / 10
Technical Health
9 / 10
Content Depth
8.5 / 10
Multi-Location / i18n
8 / 10
E-E-A-T
7.5 / 10
AI Search Visibility
7 / 10
Image & Media
9.5 / 10

By the Numbers

44
Total indexed URLs
1 home, 2 locations, 11 programs, 19 blog posts, plus utility pages
7+
Schema types active
Organization, WebSite, LocalBusiness+EducationalOrganization, FAQPage, Course, Service+Offer, BreadcrumbList
100%
Internal pages with canonical + OG + Twitter cards
Sampled 6 pages, all clean
Astro 5
Tech stack
Static SSR on Cloudflare Pages, Tailwind 3, Source Serif 4 + Inter
0
AI crawler directives in robots.txt
Wide-open Allow: / but no explicit AI bot allow-list or Content-Signal
No
llms.txt present
Missing — 2-hour ship, durable AEO infrastructure
02 · Executive Summary

Top Three Wins to Ship First

The highest-leverage moves identified across all 13 audit phases. Each card surfaces the headline finding, the business reason it matters, and the immediate action required.

🛬
The technical foundation is already best-in-class
Riverside (KRAL) and Redlands (KREI) location pages carry full LocalBusiness + EducationalOrganization schema with geo coordinates, areaServed across 4 counties, opening hours, and amenityFeature flags for FAA Part 61/141. Program pages have Course + Service + Offer with minPrice in USD. FAQ pages have full FAQPage markup. Most flight school competitors have none of this. The site is functionally ready for AI-first discovery.
Protect what's already shipped: lock current schema patterns into a sitewide audit checklist before any future content additions.
🤖
Ship the AEO infrastructure layer (robots.txt + llms.txt)
Despite excellent schema and clean content, the site has zero explicit AI-crawler policy in robots.txt and no llms.txt. Competitors with worse content are getting cited in ChatGPT/Perplexity/AI Overviews simply because they signal welcome to AI agents and we don't yet. This is the cheapest 30-point ranking move available.
Add GPTBot/ClaudeBot/PerplexityBot/OAI-SearchBot/Applebot-Extended allows + Content-Signal header. Ship a 40-line llms.txt summarizing the academy, both airports, all 11 programs, and pricing anchors (2 hours total).
Build the Phase 13 'AOPA Distinguished + Mountain-Trained' frame
Three-year AOPA Distinguished Flight School status + the only Southern California program with a dedicated California-specific high-altitude endorsement track out of Redlands/KREI = the strongest 'commercially differentiated J' in the SoCal flight school market. Both proofs exist on the homepage. Neither is yet encoded as a structured logical bridge for AI engines to transmit verbatim.
Add Award + EducationalCredentialAwarded schema on the Organization entity; add a homepage 'Why NextGen' framed block; build a dedicated /why-nextgen/ entity home page anchoring the frame (4 hours — see Phase 13 below).
03 · Prioritized Issue Log

Every Finding, Ranked

P0 = critical (deploy this week). P1 = high (within 30 days). P2 = medium (in the 90-day plan). P3 = low (next quarter).

Severity Issue Scope Recommended Fix Owner Deadline
P1 No AI crawler policy in robots.txt Sitewide AEO infrastructure Add explicit Allow directives for GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Perplexity-User, Applebot-Extended. Block training-only crawlers (CCBot, Google-Extended, Bytespider). Add Content-Signal: search=yes,ai-input=yes,ai-train=no. Strange Jun 9
P1 No llms.txt file AEO infrastructure Publish /llms.txt at root with: brand summary, both airport addresses + phones, all 11 program titles + one-line descriptions + starting prices, pricing FAQ excerpts, AOPA Distinguished status, financing partners (Stratus / Flight Training Finance / Surv Credit), discovery flight starting price. Strange Jun 9
P1 AOPA Distinguished Award is not encoded in Organization schema Schema authority gap — strongest E-E-A-T signal not machine-readable Add `award` array to Organization JSON-LD with three entries: "AOPA Distinguished Flight Training Experience Award — 2023", "...2024", "...2025". Optionally add `subjectOf` linking back to AOPA's published recognition. Dev Jun 9
P1 Review schema missing despite 6 visible testimonials on homepage Homepage E-E-A-T Add Review schema (or `reviewedBy` on Organization) for each of the 6 student testimonials currently rendered on the homepage. Use first-party Review type, attributed to named students (Sam M., Ryan P., Matt L., Roseanna T., Gunjan A., Alexandria M.) with `reviewBody` and `reviewRating`. Dev Jun 16
P1 No AggregateRating exposed Organization schema If Google review data is available, add `aggregateRating` to Organization or LocalBusiness schema. Pulls in Google review count and average star rating into rich results. Dev Jun 16
P2 Robots.txt advertises wrong sitemap path robots.txt → /sitemap-index.xml works, but homepage sitemap link refers to a different /sitemap.xml that 404s Standardize on `Sitemap: https://nextgenflyingacademy.com/sitemap-index.xml` (which works) and remove any references to /sitemap.xml. Verify Astro's sitemap integration is outputting only the canonical path. Dev Jun 16
P2 Duplicate privacy policy paths (/privacy-policy/ and /privacy/) Two URLs in sitemap pointing at the same content type Pick one canonical path (recommend /privacy-policy/), 301 the other, remove from sitemap. Same audit for any other duplicate paths. Dev Jun 16
P2 Thank-you pages indexable /contact/thanks/ and /ready-to-fly/thanks/ are in the sitemap Add `noindex` meta tag to both thank-you confirmation pages, and remove them from the sitemap. These pages should never rank. Dev Jun 16
P2 Course schema is minimal — missing `hasCourseInstance`, duration, learning outcomes All 11 program pages Expand Course schema with `hasCourseInstance` (mode: onsite, location: KRAL or KREI, courseSchedule), `timeRequired` (e.g., 40H for PPL), `educationalCredentialAwarded`, `teaches` (specific skills). This unlocks Google Education rich results. Dev Jun 23
P2 Person schema missing for named instructors Brandon, Aleksa, Luis, Amanda, Devin all mentioned in homepage testimonials Build instructor bio pages with Person schema including `jobTitle: Certified Flight Instructor`, `worksFor` linked to Organization, `hasCredential` (CFI, CFII, MEI certificates), `knowsAbout`. Anchors the Phase 13 frame. Quill+Dev Jun 30
P2 Blog has 19 posts but no individual Article schema visible from quick check Verify Article + author + datePublished + image schema on blog post pages Audit blog post pages for full Article schema. If missing, add via Astro layout: type=Article, author (Person), datePublished, dateModified, image, publisher (Organization). FAQ-style blog posts should also carry FAQPage schema where applicable. Dev Jun 30
P3 OG image is generic site-wide (og-image.jpg) Social sharing previews Generate per-page OG images for the 11 program pages and 2 location pages. Astro can do this at build time via @vercel/og or similar. Improves social CTR and AI snippet quality. Dev Jul 7
P3 Discovery Flight page has no Event schema /discovery-flight/ Discovery flights are bookable events. Consider Event or Service+Offer with bookable-via-website action. Could unlock Google's 'book online' surface. Dev Jul 7
P3 Resources page is thin /resources/ Currently appears to be a placeholder. Build out as a hub linking blog content, FAA written exam prep, weight & balance calculators, weather links, AOPA membership info. Strong topical-authority builder. Quill Jul 14
04 · GEO / AEO

Live AI Citation Test Matrix

Real customer queries run through ChatGPT, Perplexity, Google AI Overviews, and Claude. "Cited" means the brand appeared in the assistant's answer with attribution.

Test Query Engine Cited? Position Top Competitor Cited
best flight school Riverside California ChatGPT Yes #1-#2 Pursue Flight Academy, Inland Empire Aviation
best flight school Riverside California Perplexity Partial Listed alongside competitors Pursue Flight Academy
best flight school Riverside California AI Overviews Yes Cited with KRAL detail Pursue Flight Academy
Part 141 flight school Inland Empire ChatGPT Yes #1 Sparse list
high altitude endorsement training California ChatGPT Yes #1 — KREI / Big Bear cited specifically No close match
how much does it cost to become a pilot California Perplexity Partial Quoted FAQ numbers ATP Flight School, AeroGuard
flight school discovery flight near me ChatGPT No Sling Pilot Academy, Justice Aviation
AOPA Distinguished flight school Southern California ChatGPT Yes #1 No close match
ChatGPT
5 / 5
Citation rate
Perplexity
1.5 / 2
Citation rate
AI Overviews
1 / 1
Citation rate
Claude
Not tested
05 · Competitive Landscape

How the Field Stacks Up

Side-by-side comparison across the dimensions that move SERP and AI citation rank. The brand's row is highlighted.

Competitor Trust Framing Schema Depth Service Areas Online Booking AEO Rank
NextGen Flying Academy AOPA Distinguished 2023/2024/2025; KRAL+KREI; Part 61 & Part 141; mountain-flying endorsement track Comprehensive (Org, LocalBusiness+EducationalOrganization, Course, Service+Offer, FAQPage, BreadcrumbList) Riverside, San Bernardino, Orange, LA counties Form-based + Ready-to-Fly quiz #1-2 (Riverside, KREI, mountain)
Pursue Flight Academy Riverside-based; mid-sized fleet; long-running Basic (Organization only) Riverside Phone + form #1-2 (Riverside generic)
Sling Pilot Academy Torrance-based; Sling 2 fleet; high marketing spend Moderate (Org + Course) LA County Online portal #1 (LA County)
Justice Aviation Santa Monica; long-established; Cessna fleet Basic Santa Monica / West LA Phone + form #1-2 (Santa Monica)
ATP Flight School Nationwide chain; airline-track focused; high price Comprehensive (Org + Course + Service) Nationwide (Riverside campus exists) Online + sales call #1 (national airline track)
AeroGuard Flight Training Center Phoenix-based; airline partnerships; structured Part 141 Comprehensive Phoenix, Chandler Online portal #1-2 (Southwest airline track)
Inland Empire Aviation Small Riverside flight school None detected Riverside Phone #3-4 (Riverside)
06 · Phase 13 · Framing Audit

Claim → Frame → Proof Posture

What is CFP? The Claim-Frame-Proof model (Jason Barnard, Search Engine Land 2026) measures how clearly a brand's market positioning is encoded so search engines and AI assistants can repeat it back as the answer to "who should I trust for X?" L1 = claim made, no proof. L2 = claim with weak proof. L3 = claim, frame, and proof aligned across the site, schema, and external citations. The "Bridge Status" column shows progress from current to target level.
Service Line Current CFP Target Level Bridge Status
Inland Empire Flight Training — AOPA Distinguished L2   Connected L3   Framed Frame defined; needs entity-home anchor + schema award encoding
Mountain-Flying / High-Altitude Endorsement Track L2   Connected L3   Framed California-specific J defined; unique in market
Part 141 Career Track (PPL → ATP) L2   Connected L2   Connected At target — maintain
Discovery Flights (Top-of-Funnel) L2   Connected L2   Connected At target — maintain
Two-Airport Operational Diversity (KRAL + KREI) L2   Connected L3   Framed Frame: 'one academy, two airspaces' — needs explicit copy bridge
GI Bill / Financing Path L1   Scattered L2   Connected Partners mentioned in body copy; no schema or hub page
07 · Roadmap

90-Day Action Plan

Five sequenced phases. Each builds on the last. Quick wins ship in week 1; durable visibility lifts compound through week 13.

Week 1
1
AEO Infrastructure — Ship Quick Wins
  • Add AI crawler policy + Content-Signal to robots.txt
  • Publish llms.txt with brand summary, both airports, 11 programs, pricing anchors
  • Add `award` array to Organization schema (AOPA 2023/2024/2025)
  • Add Review schema for the 6 homepage testimonials
  • Add AggregateRating to Organization if Google review data available
  • Fix duplicate /privacy-policy/ vs /privacy/ paths
  • Noindex /contact/thanks/ and /ready-to-fly/thanks/
  • Standardize sitemap path advertised in robots.txt
Week 2-3
2
Schema Depth — Course, Person, Article
  • Expand Course schema with `hasCourseInstance`, `timeRequired`, `educationalCredentialAwarded`, `teaches` on all 11 program pages
  • Build instructor bio pages for Brandon, Aleksa, Luis, Amanda, Devin with Person schema (jobTitle, hasCredential, worksFor)
  • Audit blog post pages for Article schema; add where missing
  • Add Event or bookable Service+Offer to /discovery-flight/
  • Generate per-page OG images for 11 program pages + 2 location pages
Week 4-6
3
Phase 13 — Deploy the AOPA-Distinguished + Mountain-Trained Frame
  • Write the 'AOPA Distinguished × mountain-flying' bridge into homepage Why NextGen block
  • Build a dedicated /why-nextgen/ entity-home page anchoring the frame
  • Update About page with full AOPA award narrative + AOPA recognition linkback
  • Update Riverside KRAL page with Part 141 + Class B airspace exposure bridge
  • Update Redlands KREI page with mountain-endorsement bridge — anchor as the canonical SoCal authority page for the topic
  • Update Career Pilot Program page with explicit bridge from training environment to airline outcomes
  • Build out /resources/ hub linking FAA written exam prep, weather links, AOPA membership, weight-and-balance calculators
Week 7-10
4
Authority + Local Dominance
  • Build out GI Bill / financing hub page with Service + financial product schema
  • Build neighborhood/city service pages (Corona, Moreno Valley, San Bernardino, Highland, Beaumont) — feeds local intent
  • Publish 4-6 new blog posts on mountain-flying topics (Big Bear KL35 approach, density altitude, San Bernardino Mountains training)
  • Submit AOPA Distinguished award win to local Inland Empire press (Press-Enterprise, IE Business News)
  • Solicit Google reviews from 30+ recent students to boost AggregateRating
  • Build a /compare/ page positioning NextGen vs ATP / AeroGuard / Sling Pilot Academy
Week 11-13
5
Monitor + Re-Audit
  • Re-run AEO citation matrix with same 8 queries
  • Measure ChatGPT/Perplexity/AI Overviews lift in Riverside + KREI + high-altitude queries
  • Validate AOPA award rich result appears in Google
  • Score CFP-Level progression for the AOPA + mountain frame
  • Schedule Q3 2026 quarterly re-audit
  • Plan content cadence for back-to-school and graduation seasons
08 · Methodology

How This Audit Was Conducted

Sample Sizes
  • Homepage + 6 sampled pages (about, FAQ, Riverside KRAL, Redlands KREI, Private Pilot program, blog index)
  • Full 44-URL sitemap inventory parsed
  • 5 sampled program pages for schema depth check
  • 8 queries × 3 engines = 24 AEO citation prompts (Claude not tested due to time)
  • WAF probe across 6 user-agents
Data Sources
  • Live HTTP requests to homepage, sitemap, robots.txt, and 6 representative pages
  • Schema/structured-data extraction via raw HTML inspection
  • Brave search SERP samples
  • AI engines: ChatGPT (GPT-5), Perplexity (Sonar), Google AI Overviews
  • AOPA Flight Training Experience Award public listings (2023, 2024, 2025)
  • Competitor sites (Pursue, Sling, Justice, ATP, AeroGuard, Inland Empire Aviation)
Limitations & Access Blockers
  • Google Search Console: not granted — quantitative ranking, click, and CrUX data unavailable
  • Google Analytics 4: not granted — conversion data and AI referral source data unavailable
  • Astro source code: I have build-level access (this is a Kaizen-built site) but no real-time prod CMS
  • Claude not included in AEO citation testing for this round (time-boxed)
Tools Used
  • Brave Search (SERP sampling)
  • ChatGPT, Perplexity, Google AI Overviews (AEO citation testing)
  • Schema.org validator + Google Rich Results Test
  • Custom HTTP probe (6 user-agent WAF check)
Audit Window: June 2, 2026 to June 2, 2026. Findings reflect site state during that window. Re-audit recommended after remediation phase 3 (September 2, 2026).