跳到主要内容

放在GitHub上的书还没法被检索

· 阅读需 3 分钟

我把书的原稿开源后放到了 GitHub 上,并制作了一个页面方便阅读。制作的网页是一个单页面应用,也就是说书中的所有内容都在同一个页面中:https://lv.qizhen.xyz/。别看每个章节的地址栏都会显示不同的 URL,比如:https://lv.qizhen.xyz/#docs/structure_condition,实际上 # 号后面的部分只是同一页面的不同参数而已。

浏览器展示的内容是 HTML 格式,但 GitHub 的网站并没有存储 HTML 格式的文档。所有文档都以 Markdown(.md)格式保存。GitHub 的网站不会动态地将 Markdown 格式的文件渲染为 HTML 再传给读者的浏览器,而是直接发送 Markdown 数据。最终由浏览器端运行的一段 JavaScript 程序将 Markdown 数据渲染成 HTML。

GitHub 的服务器似乎不支持后台渲染。做成前台渲染的单页面应用对用户体验会更友好,比如页面切换速度较快,还可以动态改变背景配色等。但这种做法对搜索引擎并不友好。

搜索引擎在检索网站时存在两大问题:

  1. 它不会尝试访问 URL 中的不同参数,也就是说只会检索 https://lv.qizhen.xyz/ 这个主页;
  2. 搜索引擎的爬虫不会运行 JavaScript,因此即便是主页的内容,它也无法看到。

总之,搜索引擎无法读取书中的任何内容,这也就意味着用户不可能通过搜索引擎找到它。

目前我还没有解决这个问题的方案。不过,在 GitHub 上搭建博客有很多其他方法,有些工具可以生成静态 HTML 页面,这种方式应该不会有类似的问题。等有时间再尝试其他工具吧。

此外,GitHub 自带的搜索功能对于中文书籍几乎没有用。它按“词”进行搜索,但 GitHub 定义的“词”是两个空格或符号之间的字符串。对于代码或英文文档来说,这种方式非常适合。然而,由于中文词语之间没有空格,GitHub 搜索中文时只能整句匹配。只有当文章中的某句内容与搜索内容完全一致时,搜索结果才会显示出来。