阅读时间
阅读完一段文本所需的预估时间,根据字数或单词数计算得出。
阅读时间是指从头到尾读完一段文本所需的预估时间。作为参考值被广泛使用的数字是:日语每分钟 400 至 600 个字符,英语每分钟 200 至 250 个单词。让这项显示在博客和新闻网站上普及开来的契机之一是 Medium,该公司在 2014 年 6 月公开了自家网站的计算方法。那里采用的前提是每分钟约 275 个单词,比上述参考值更快。也就是说,同一份稿件采用哪个前提值,显示出来的分钟数就会不同。
计算本身很简单:把正文的总字符数 (或单词数) 除以每分钟的阅读速度,然后向上取整。一篇 2,000 个单词的文章,按 200 单词/分是 10 分钟,按 275 单词/分则是 8 分钟。日语的实现多采用每分钟 500 个字符左右,若设想的是技术文档或专业书籍,则会下调到 300 至 400 个字符。对于含有图片和代码块的文章,也有把浏览时间加算进去的做法。Medium 在前述公开的资料中说明了这样一种方式:第 1 张内嵌图片加 12 秒,第 2 张加 11 秒,每多一张就减少 1 秒,从第 10 张起一律加 3 秒。原因是若简单地按每张图片 12 秒一直乘下去,图片多的文章其阅读时间会拉长到不现实的程度。
显示阅读时间的目的,是让读者在开始阅读之前就能掌握篇幅。写着"约 3 分钟可以读完"的话,即使手头没有整块时间,也更容易判断要不要现在读。对写作者而言,它是考虑把文章拆开还是收紧结构时的判断材料。不过,把显示阅读时间会让阅读情况改变多少加以一般化的数值并未公开,因此应当在"效果要用自己网站的实测来确认"这一前提下对待。
在实现方面,有在服务器端预先计算和在客户端用 JavaScript 动态算出两种方式。静态网站生成器通常在构建时计算每篇文章的阅读时间并作为元数据嵌入。Hugo 标准提供页面变量 .ReadingTime,Gatsby 则由 gatsby-transformer-remark 提供 timeToRead。WordPress 也有多个显示阅读时间的插件。采用预先计算方式时要留意的事故是:修改了正文之后没有重新计算,旧的分钟数就留在了页面上。阅读时间不是元数据,而是从正文导出的值,所以要把生成的顺序固定在正文定稿之后。
计算范围如何界定,也是各实现之间会出现偏差的部分。标题、图的说明文字、脚注、代码、表格、评论区,把其中哪些纳入对象,得出的词数就会不同。代码和表格会分化出跳读的读者和逐行追读的读者,因此无论怎么处理都不会得到适合所有人的值。向上取整同样有它的怪癖:300 个字符的文章和 600 个字符的文章都会显示为"1 分钟"。在短文并列的网站上,仅靠分钟数传达不出长短的差别,因此同时标出字符数更实用。
一个常见的误解是认为阅读时间必须准确。阅读速度的个人差异很大,同一个人也会因题材和专注程度而变化,所以准确的预测本来就无法成立。重要的不是准确而是一致:对网站内的所有文章套用相同的前提值和相同的计算范围,才能带来信任。把时间显示得比实际更短以促使读者开始阅读的做法,会背离那些没能读完的读者的期待,从长期来看并不值得推荐。
就与字数统计的关联而言,阅读时间是直接从字符数导出的指标。目标字符数一定下来,阅读时间也就定下来了,因此也可以采用在策划阶段先问"要做成几分钟能读完的文章"再倒推字符数的推进方式。一篇 5 分钟能读完的日语文章,按 500 字符/分的前提大约是 2,500 个字符。另外,没有任何搜索引擎公开表示会把阅读时间的长短本身用作搜索排名的指标。目的在于把篇幅收在读者能够读通的范围内,它并不构成为了迁就某个分钟数而注水或削减的理由。