Engineering Diary, Day 22: Six Features in One Session — Getaways, Fixed-Price Charter, Membership Overhaul, Medical Upgrade, Video Centre, and Trust Infrastructure
The Context: 8,350 Indexed, But Product Depth Was Shallow
A week ago, Google Search Console showed 6,000 indexed pages. Today: 8,350 — a 39% jump. The SEO infrastructure we built on Day 21 (cross-linking mesh, programmatic entity pages, 3D aircraft renders) was working. Google was crawling aggressively and indexing our content.
But there was a gap. Our competitors had product pages we didn't — fixed-price charter routes, luxury getaway packages, jet card memberships with comparison tables. These are pages that don't just attract search traffic; they convert visitors into leads. We needed product depth, not just content depth.
Competitive Intelligence: What We Learned
We analyzed a major competitor's recent website overhaul. Their sitemap contained ~2,634 URLs across 7 sub-sitemaps. Estimated actual Google indexing: 1,000–1,500 pages (their locale strategy of 9 URL variants per page dilutes crawl budget). Key product offerings we identified:
- Fixed-price charter routes — pre-set pricing on popular corridors, eliminating quote friction
- Island destination packages — structured pricing for leisure travelers (one-way + round-trip)
- Jet Card membership — 3-tier prepaid hours program with a comparison table vs. on-demand
- Medical evacuation — detailed 5-step process with equipment specifications
- Video content centre — operator interviews and facility tours
- Trust infrastructure — WYVERN, NBAA, EBAA certifications prominently displayed, price match guarantee
Their content depth was moderate — no insights hub, no structured data, no developer-facing tools. But their product pages were more conversion-oriented than ours. Time to fix that.
Six Features, One Session
1. Private Jet Getaways (21 Destinations, 24 New Pages)
We built a complete getaway package system with four categories: Golf (Scottsdale, Pebble Beach, St Andrews, Marbella), Island (Nassau, St Barts, Turks & Caicos, Maldives, Bali, Seychelles), City (Paris, London, Dubai, Tokyo, New York, Milan), and Ski (Aspen, St Moritz, Whistler, Niseko, Courchevel).
Each getaway has an interactive pricing matrix — select your departure city, aircraft tier (light/midsize/heavy), and duration (one-way, weekend 3-day RT, week 7-day RT) to see exact pricing. No quote request required. This is a fundamental shift from "request a quote" to "see the price and book."
Technical stack: Hub page with client-side category tabs, detail pages with server-rendered metadata + client PricingMatrix component. Product JSON-LD with Offer/PriceSpecification schema for Google rich results. FAQJsonLd for GEO (generative engine optimization).
2. Fixed-Price Charter (20 Routes)
Twenty high-demand routes with exact, fixed pricing. LA–Vegas: $12,000 light / $21,000 midsize-heavy. NY–Miami: $17,000 / $35,000. London–Paris: $13,500 / $27,000. Grouped by region (North America, Europe, Asia, Middle East) with interactive tabs.
Each route generates an ItemList JSON-LD with Offer schema — these are the kinds of structured data that power Google's rich results for "private jet cost" queries. Added a FAQ section with FAQJsonLd for GEO optimization.
3. Membership Overhaul (Jet Card Program)
Restructured from Select (25hrs) / Elite (50hrs) / Infinite (100+hrs) to Select (10hrs) / Executive (25hrs) / Chairman (50hrs) — better aligned with actual market segments. Added three new sections: Jet Card vs. On-Demand comparison table (8 feature rows), 1% Flight Credits loyalty program with visual 3-step explainer, and a membership application form with lead capture.
4. Air Ambulance Enhancement
The existing air ambulance page was serviceable but lacked the operational credibility that converts emergency situations into bookings. We added: animated statistics (4,000+ flight hours, 1,000+ medical missions, 24/7 availability, <3hr response), a 5-step bed-to-bed process visualization (ground pickup → airport transfer → medical flight → destination transfer → hospital admission), and an 8-card medical equipment grid (ICU, ventilators, 12-channel ECG, defibrillators, 3D sonography, infusion pumps, pulse oximetry, suction units).
5. Video Centre (12 Videos)
New content hub at /video-centre with 12 videos across 4 categories: Aircraft Tours (Gulfstream G650ER, Challenger 350, Phenom 300E), Destinations (St Barts, Dubai, Aspen), Client Stories (family office, medical evacuation), and Behind the Scenes (AI matching, FBO tour, in-flight catering). YouTube embed player with lazy-loaded iframe modal.
Every video gets VideoObject JSON-LD schema — this is how you get into Google's video carousel results. The entire page has an ItemList schema wrapping all video entries.
6. Trust Certification Infrastructure
Built three reusable components: TrustCertifications (WYVERN Wingman, ARG/US Platinum, IS-BAO Stage III, FAA Part 135 + NBAA/EBAA/AsBAA associations), MediaMentions (publication logo bar), and PriceMatchBadge (guarantee with 1% cashback messaging). Deployed across homepage (after TrustBar), footer (above payment methods), and getaway/fixed-price pages.
SEO & GEO Architecture
Every new page follows our established SEO protocol:
- generateMetadata — title, description, keywords, OpenGraph, Twitter Cards
- buildAlternates — hreflang tags for all 11 locales
- JSON-LD — BreadcrumbJsonLd + domain-specific schemas (Product, Offer, VideoObject, FAQPage, ItemList)
- FAQ sections — rendered HTML + FAQJsonLd for GEO (AI search engines like Perplexity, ChatGPT)
- Sitemap — all 24 new URLs registered with appropriate priority and changeFrequency
We also caught a critical architecture issue: two pages (fixed-price-charter, video-centre) were initially built as "use client" components, which meant they couldn't export generateMetadata. We refactored both into server component shells with extracted client components — the pattern every Next.js developer should follow.
3D Fleet Section + Multilingual Alt Text
While we were at it, we replaced the homepage fleet section's side-view images with our 161 3D aircraft renders. The transition required three iterations:
- First attempt: object-contain with padding → aircraft too small, floating in whitespace
- Second attempt: 4:3 aspect ratio with radial gradient → PNG's built-in background created a visible "white box" effect
- Final solution: 5:3 aspect ratio, object-cover, flat #f7f7f8 background matching the PNG's native background → seamless integration
We then expanded the aircraft alt text system from 2 languages (en/zh) to all 11 locales. Each locale has 4 natural-language template variations, with localized category labels (light jet → jet léger → ライトジェット → 라이트 제트 → طائرة خفيفة), range tiers, and speed descriptors. 161 aircraft × 11 languages × 4 templates = 7,084 unique alt text combinations.
By the Numbers
| Metric | Before | After |
|---|---|---|
| New files created | — | ~28 |
| Files modified | — | ~20 |
| Lines of code added | — | 4,500+ |
| New indexed pages | 102 | 126 (+24) |
| New product lines | 0 | 6 |
| Getaway destinations | 0 | 21 |
| Fixed-price routes | 0 | 20 |
| Alt text languages | 2 | 11 |
| Alt text combinations | ~400 | 7,084 |
| JSON-LD schema types | 17 | 17 (reused existing) |
| Tests passing | 261 | 261 |
| Build status | ✓ | ✓ |
What's Next
The product catalog is now significantly richer. Next priorities: wire the membership application form to a proper CRM, add real YouTube video IDs to the video centre (currently placeholder), expand getaway destinations to 40+, and continue monitoring Google indexing velocity — we should see these 24 new pages appear in the index within 1–2 weeks.
The competitive gap is closing. Our indexed page count (8,350) is already 5–8× our nearest competitor's estimated index. Now we're matching their product depth while maintaining our technical edge in AI, MCP, and developer tooling.
Pronto para voar? Obtenha uma cotacao de fretamento personalizada em segundos.
Mantenha-se informado
Ofertas de trechos vazios, novas rotas e análises de aviação — direto na sua caixa de entrada.