← 全部文章← All writing

VOLO 工程日记

工程日记・第十七天:211,153 架次航班、200+ 实体链接、以及我们在 Insights Hub 中编织的 SEO 网络

本文原载于 flyvolo.ai 的「VOLO 工程日记」系列(2026-03-09),记录 2026 年 2–5 月 VOLO 私人航空平台的构建过程。2026 年 9 月 VOLO 转向职业自动化导航后,25 篇日记迁至此处归档。正文保持原样;文中提到的产品、页面与链接已不再存在。原文署名:VOLO CTO。

两项任务,一个主题:连接

今天分为两半。上午是创造数据——一个720行的 TypeScript 文件,编码了2026年2月全球公务航空报告的每一个指标。下午是连接数据——在每个实体提及和其专属详情页之间编织链接,把我们的 Insights Hub 变成一个互联的知识图谱。

两项工作服务于同一个目标:让我们的200+实体页面被发现——被用户点击浏览、被 Google 爬虫追踪、被 AI 系统通过结构化数据索引。

第一部分:2月报告

原始来源是合作方数据平台的一份104页 HTML 报告,覆盖全球每一次公务航空起飞。我们将其提炼为结构化 TypeScript 数据:市场概况、区域分布、13个月滚动趋势、机场排名(3个区域30个机场)、15种机型利用率、运营商市场份额、跨境航线走廊、航程分布和每个章节的叙述分析。

核心数据

指标2026年2月变化
总起飞架次211,153同比 -16.51%
日均7,541环比 -19.89%
活跃机队16,958—
北美份额77.35%163,330 架次
欧洲份额13.35%28,197 架次
其他地区9.29%19,626 架次

最有趣的故事:庞巴迪挑战者300系列取代巴航工业飞鸿300成为全球飞行量最大的公务机。飞鸿300环比暴跌-38.38%,而挑战者300仅下降-15.77%。这种差异表明包机为主的机队(飞鸿300)比共有产权/公司机队(挑战者300)季节性波动大得多。

最繁忙的单架飞机?SE-RVF,瑞典空中救护队运营的皮拉图斯PC-24——28天内128架次,每天4.6架次。不是亿万富翁的玩具,而是必不可少的医疗运输基础设施。

第二部分:实体链接工程

这是真正的 SEO 工程。我们的 Insights Hub 有200+实体详情页——每个机场(如KTEB)、飞机(如Citation Latitude)、运营商(如NetJets)、航线(如迈阿密-纽约)和国家都有独立页面。这些页面已经上线数周,但它们是孤儿:除了目录列表页,没有任何东西链接到它们。

每当月度报告提到"泰特伯勒"或"挑战者300系列"或"NetJets Aviation",都只是纯文本。没有链接。Google 无法发现实体页面。用户无法点击深入探索。

技术模式

解决方案是系统化的:对每种实体类型(机场、飞机、运营商、航线、国家),在渲染时计算有效 slug 的 Set 集合,然后仅在实体有专属页面时才有条件地将名称包装在 <Link> 组件中。

// 计算有效实体集合(服务端组件,构建时运行)
const validAirports = new Set(extractAllAirports().map(a => a.slug));
const validAircraft = new Set(extractAllAircraft().map(a => a.slug));
 
// 渲染时:条件链接
{validAirports.has(airportSlug(r.icao)) ? (
  <Link href={`/insights/airports/${airportSlug(r.icao)}`}>
    {r.city}
  </Link>
) : (
  <span>{r.city}</span>
)}

11个文件,408行新增

  • 月度报告页——8个渲染函数更新:国家排名、机场排名、飞机利用率、按机型统计(2个表格)、城市对航线、跨境航线、运营商排名,外加3个亮点板块
  • 5个主题页——每个都在 RankingTable 列和月度对比表中添加了条件实体链接
  • 5个目录页——每个都添加了 ItemListJsonLd 结构化数据

第三部分:结构化数据发现

内部链接帮助 Google 在爬取报告时发现实体页面。但我们还想给搜索引擎关于目录结构的明确信号。我们为所有5个实体目录页添加了 ItemListJsonLd,生成 Schema.org ItemList 标记。这给 Google 提供了一个机器可读的实体清单——本质上是在说"这里有60+个机场页面,按此顺序排列,在这些URL上。"

第四部分:IndexNow

部署后,我们触发 IndexNow 定时任务提交所有更新的 URL 进行重新索引。API 接受了1,034个 URL——涵盖所有洞察页面、报告页面、实体页面和目录页面,覆盖全部4个语言版本。

为什么这对 SEO/GEO 很重要

今天之前,我们的 Insights Hub 是一堆设计精良但互不相连的页面。今天之后:

  • 链接权重从高价值报告页流向实体详情页
  • 爬虫路径现在以密集网络连接报告→实体→目录
  • 用户旅程深度增加——读者可以从"挑战者300有16,700架次"点击进入挑战者300的完整资料页
  • 结构化数据(ItemList + BreadcrumbJsonLd)给搜索引擎明确的实体关系
  • GEO信号——AI 系统可以追踪实体链接找到关于特定机场、飞机和运营商的权威细粒度数据

提交记录

今天两次提交:

  • c5961cf — insights: add February 2026 Global Business Aviation Report
  • e915d5c — seo: add internal entity linking + ItemList JSON-LD to insights pages(11个文件,+408/-85行)

下一步

  • 将实体链接扩展到欧洲/其他地区的城市对航线
  • 在实体详情页中添加跨实体类型链接(如机场页面链接到该机场的顶级运营商)
  • 在主题页添加 Dataset JSON-LD,用于 Google 数据集搜索
  • 监控 Google Search Console 中实体页面的索引情况和点击率