Engineering Diary, Day 13: Content Expansion & Schema Richness — 52 Operators, 20 Case Studies, and Google Can't Ignore Us Now
The Thin-Content Problem
The CEO did what CEOs do: browsed the site like a customer. His verdict was blunt: "还有些栏目的页数不够" — some sections don't have enough pages.
He was right. We ran a content audit across every section:
| Section | Pages | Verdict |
|---|---|---|
| Fleet | 218 | ✅ Rich |
| FBOs | 152 | ✅ Rich |
| Routes | 102 | ✅ Solid |
| Destinations | 101 | ✅ Solid |
| Blog | 73 | ✅ Solid |
| Empty Legs | 62 | ✅ Okay |
| Airports | 52 | ⚠️ Moderate |
| Operators | 32 | 🔴 Thin |
| Case Studies | 5 | 🔴 Very thin |
| Insights | 5 | ⚠️ Data-rich but invisible |
Three targets emerged: Case Studies needed quadrupling, Operators needed global expansion, and Insights — despite having genuinely valuable aviation data — were invisible to Google.
Case Studies: 5 → 20
The original 5 case studies covered the basics: diplomatic charter, corporate relocation, medical evacuation, cost savings, AI matching. Useful, but narrow. Private aviation serves far more use cases than that.
We added 15 new case studies across 3 new categories:
| Category | New Cases |
|---|---|
| Sports | Premier League team charter (38 passengers, season-long), Formula 1 season logistics (23 races, 4 continents) |
| Luxury | Destination wedding in Santorini, yacht-to-jet Mediterranean transfer, pet relocation (dogs + parrots, pressurized cabin) |
| Logistics | AOG aircraft parts delivery (engine on ground, 4-hour turnaround) |
| Emergency | Hurricane evacuation (48 passengers, Category 4), volcanic ash rerouting (Eyjafjallajökull 2.0) |
| Medical | Organ transport (4h 12min cold ischemia window), neonatal ICU transfer |
| Corporate | PE due diligence tour (5 cities in 3 days), film production unit moves, Fortune 500 board retreat |
| Savings | Family office annual membership ($2.1M saved), group charter vs. 40 first-class tickets |
| Technology | AI-powered real estate tour (6 properties, 3 states, 1 day) |
Each case study is fully bilingual (EN/ZH), has 4 quantitative stats, a challenge/solution/result narrative arc, and a client testimonial. The category system now has 8 types: emergency, corporate, medical, savings, technology, luxury, sports, and logistics — each with its own color in the filter UI.
Operators: 32 → 52
Our operator directory had a geographic blind spot. 32 operators, mostly US-based or well-known European names. The private aviation market is global, and our SEO needed to reflect that.
We added 22 operators across 6 regions:
| Region | New Operators |
|---|---|
| Asia-Pacific | MJets (Thailand), HK Bellawings (Hong Kong), Jet Asia Airways (Thailand), PremiAir (Australia) |
| Middle East | Falcon Aviation (UAE), Empire Aviation (UAE), Saudia Private (Saudi Arabia), Qatar Executive (Qatar) |
| Latin America | Aerolíneas Ejecutivas (Mexico), TAM Aviação Executiva (Brazil), Global Aircraft Solutions (Mexico), Avjet Ruta Maya (Mexico) |
| Europe | Sparfell (Austria), Air Hamburg (Germany), Tyrolean Jet Services (Austria), Farnborough Jet Centre (UK) |
| Regional US | Solairus (California), Silver Air (California), Nicholas Air (Mississippi), Mountain Aviation (Colorado) |
| South Asia | ACS India (India), Acropolis Aviation (UK, VIP airliner specialist) |
Every operator entry has: bilingual name and description, headquarters, founding year, fleet size, fleet types, operating regions, key facts, certifications (IS-BAO, Wyvern, ARGUS), and cross-references to related airport pages. 859 new lines of curated data.
The Schema.org Blitz: 22 Pages, 4 New Types
Content is useless if search engines can't understand it. We had JSON-LD structured data on fleet and route pages, but operators, airports, FBOs, services, case studies, and empty legs had none.
We built 4 new JSON-LD schema components:
- OperatorJsonLd —
Organizationschema with airline IATA codes, fleet descriptions, operating areas - AirportJsonLd —
Airportschema with ICAO/IATA codes, geo coordinates, operating hours - FBOJsonLd —
LocalBusinessschema with services offered, amenities, parent airport reference - ArticleJsonLd —
Articleschema for case studies with author, datePublished, image
Then deployed them systematically:
| Section | Pages | Schema Added |
|---|---|---|
| Operators | 2 (listing + detail) | Organization + BreadcrumbList + FAQPage |
| Airports | 2 (listing + detail) | Airport + BreadcrumbList + FAQPage |
| FBOs | 2 (listing + detail) | LocalBusiness + 5-level BreadcrumbList |
| Services | 9 (all service pages) | BreadcrumbList |
| Case Studies | 2 (listing + detail) | Article + ItemList + BreadcrumbList |
| Empty Legs | 2 (listing + detail) | BreadcrumbList |
| Fleet | all detail pages | Product (enhanced with additionalProperty + aggregateRating) |
879 lines of structured data. Every page now has breadcrumbs. Google's Rich Results Test passes clean on all of them.
The Invisible Reports
Then came the second CEO insight: "行业报告我感觉没有被谷歌引用啊,但其实数据和分析的含金量非常高" — our industry reports aren't showing up on Google, but the data quality is genuinely high.
He was right again. Our VOLO Insights reports — monthly global business aviation statistics powered by Avi-Go's ADS-B data — had a DatasetJsonLd component, but it was bare-bones. Just a name, description, and download link. Google Dataset Search needs much more to surface a dataset.
We enriched the DatasetJsonLd with everything Google's dataset guidelines recommend:
- spatialCoverage — 6 regions: North America, Europe, Middle East, Asia-Pacific, Latin America, Africa
- variableMeasured — 10 metrics: Flight Departures, Aircraft Utilization Rate, Airport Traffic Rankings, Operator Market Share, YoY Growth, Regional Market Share, Flight Range Distribution, Route Traffic Volume, Fleet Active Count, Daily Average Departures
- measurementTechnique — "ADS-B flight tracking data aggregated from global coverage network, validated against FAA and Eurocontrol records"
- author field (Google prefers
authorovercreatorfor dataset discovery) - includedInDataCatalog — References the VOLO Insights catalog as a whole
- distribution — Multi-format: HTML report page + JSON data export
The reports contain real data — 263,595 flights in January 2026, Citation Longitude leading utilization at 55.69%, Miami–New York as the hottest route with 711 flights. This is the kind of structured, quantitative content that Google Dataset Search was built to surface. Now the schema actually tells Google what it's looking at.
The Numbers
| Metric | Before | After |
|---|---|---|
| Case Studies | 5 | 20 |
| Case Study Categories | 5 | 8 |
| Operators | 32 | 52 |
| Operator Regions | 3 (US, Europe, Gulf) | 6 (+ Asia-Pacific, Latin America, South Asia) |
| JSON-LD Schema Types | 7 | 11 |
| Pages with Structured Data | ~15 | 37+ |
| Pages with Breadcrumbs | 0 | 22 |
| Dataset Variables Declared | 0 | 10 |
| Lines Added | — | 2,808 |
| Files Modified | — | 26 |
| TypeScript Errors | 0 | 0 |
Commits
07c8807 — CLAUDE.md documentation update reflecting current codebase state.
b8b137d — JSON-LD structured data and breadcrumbs across 22 pages (879 insertions).
6a0c43c — Case Studies 5→20, Insights DatasetJsonLd fix (613 insertions).
bc65e6e — Operators 32→52 with 22 global charter operators (859 insertions).
SEO isn't a feature you ship once — it's a language you teach your entire site to speak. Every page without structured data is a page speaking HTML to a search engine that understands Schema.org. Every thin content section is a missed opportunity for long-tail queries that your competitors are already ranking for. Today we didn't just add content — we gave every page the vocabulary to describe itself to machines. 2,808 lines of code, and not a single one is visible to human visitors. All of it is for the robots.
Manténgase informado
Ofertas de tramos vacíos, nuevas rutas y análisis de aviación — en su bandeja de entrada.