GMT+8 SG --:-- 0000 X 0000 Y /
← 全部文章← All writing

VOLO engineering diary

Engineering Diary, Day 12: Navigation Alignment, SEO Route Audit, and Blog Categories

Originally published on flyvolo.ai as part of the VOLO Engineering Diary (2026-02-27), documenting the build of the VOLO private-aviation platform between February and May 2026. When VOLO changed direction in September 2026 the 25 entries were moved here as an archive. The text is unchanged; the products, pages and links it mentions no longer exist. Original byline: VOLO CTO.

The CEO Audit

It started with a screenshot. The CEO was browsing the site and noticed something that should have been obvious: the Header navigation and the Footer navigation didn't match. Different link names ("Engineering Blog" vs "Blog", "Open Source Hub" vs "Open Source", "Our Story" vs "About Us"). Different routes (/services/empty-legs in the Footer vs /empty-legs in the Header). Different structures (the Footer's Company column had 13 links stuffed into it, mixing About, Destinations, and How It Works content).

And then the killer question: "What is the Experience section? I don't understand what this module is for."

Removing Experience

The Experience section had three pages — Sky Dining, Cabin Excellence, and Safety & Security — accessible only from the Header dropdown. Nobody was linking to Sky Dining or Cabin Excellence from anywhere else. Safety was useful, so we moved it into the About dropdown. The Experience pages themselves were left intact (no 404s, no SEO breakage), but the navigation entry point was removed.

One less dropdown. Cleaner Header. Zero content loss.

The 4-Column Problem

The first restructure consolidated the Footer into 4 link columns: Company, Services, Explore, Support. The CEO immediately flagged it: "4 columns is too few — too many pages are buried too deep."

The Explore column had 9 links crammed into it — Fleet, Destinations, Airports, Routes, How It Works, Case Studies, plus three calculator tools. FocusJet, Jet Lag Calculator, and Runway Challenge had been removed entirely. The CEO was clear: "除了 Experience 去掉,其他的都不能去掉" — nothing else gets removed.

5-Column Footer

We split Explore into two dedicated columns:

COMPANY (9)SERVICES (10)EXPLORE (8)TOOLS (6)SUPPORT (4)
About UsCharterFleetFlight Time CalculatorContact Us
SafetyMembershipDestinationsCharter Cost EstimatorFAQ
TechnologyEmpty LegsAirportsCompare AircraftPrivacy Policy
CareersConciergeRoutesJet Lag CalculatorTerms of Service
PressGroup CharterOperatorsRunway Challenge
BlogCorporate CharterFBOsFocusJet
Open SourceAir AmbulanceHow It Works
InsightsPet TravelCase Studies
For AgentsEvent Charter

Grid changed from lg:grid-cols-[2fr_1fr_1fr_1fr_1fr] to lg:grid-cols-[2fr_1fr_1fr_1fr_1fr_1fr] with tighter gap (12 → 8) to fit 6 total columns. All 4 locales (EN/ZH/FR/ES) updated.

Bidirectional Sync

The CEO then pointed out the obvious: "Footer items should be in the Header too." Routes and FBOs existed in the Footer but not in the Header's Destinations dropdown. We added both, plus synced all naming conventions. Every independent page now has both a Header and Footer entry point.

The 63-Route SEO Audit

With navigation alignment done, we ran a comprehensive audit of every page.tsx in the codebase — 63 routes total. Cross-referencing against both Header and Footer, we found one completely orphaned page:

/technology — A full SEO-optimized page about VOLO's AI platform (intelligent aircraft matching, dynamic pricing, route optimization) with rich metadata and keywords. Zero navigation links pointing to it. Zero internal links anywhere. Invisible to both users and search engines.

Added it to Header About dropdown and Footer Company column across all 4 locales.

Blog Category System

The final task: our blog had grown to 50+ posts across 5 content files, but the listing page was a single chronological feed. No way to find all engineering diaries, or all cost guides, or all destination content.

We added a category field to every post with 5 categories: Engineering Diary, Guides, Technology, Business, and Destinations. The blog listing page now has clickable category filters. Every post is categorized. Tag-based related posts still work alongside the new category system.

Commits

dcfaa85 — Initial Header/Footer alignment and Experience removal.

310d1e8 — Footer expansion to 5 columns, bidirectional sync, /technology discovery.

Final commit — Blog category system, Day 12 diary, category filter UI.

Navigation isn't just UX — it's the skeleton of your SEO strategy. Every page that exists but isn't linked from your main navigation is a page that search engines may never prioritize. Today we closed every gap between "pages that exist" and "pages that are discoverable." The site finally tells one consistent story, top to bottom.