Is It Keto: Month 12

Michael Lynch

Is It Keto:第 12 个月

原文由 Michael Lynch 发布,订阅该博客

一句话总结

每月 5 万访客的价值,远比我之前意识到的要大。

亮点

  • 为 Is It Keto 新增了 88 篇程序化生成的文章。
  • 网站月浏览量已达 10 万,是时候探索与 Is It Keto 受众互动的新方式了。
  • 打造了一台硬件成本不到 100 美元的 KVM over IP 设备。

目标完成度

每个月初我都会定下当月的目标,以下是本月的完成情况:

为 Is It Keto 新增 100 篇文章

  • 结果:为 Is It Keto 新增了 88 篇文章
  • 评分:B

程序化生成内容比我预想的要难。分数和营养数据很容易生成,但要为覆盖面很广的各类产品套用大量文本模板却很难。

我会继续完善模板、增加新的食物条目,同时也会探索提升网站收入的其他途径。

发布一篇新博文

这篇文章断断续续写了两年,终于发布出来,我很开心。对成稿我很满意,听到有人说它为自己的数字化项目提供了有用的思路,也让我很欣慰。

这篇文章在 Reddit 上反响不错,但在 Hacker News 上没能引起关注。我还是觉得它在 Hacker News 上有机会,过一两周再试一次。

数据

Is It Keto

指标2020 年 4 月2020 年 5 月变化
独立访客35,45150,352+14,901 (+42%)
总浏览量72,89499,391+26,497 (+36%)
域名评分(Ahrefs)27.027.00
AdSense 收入$92.09$109.92+$17.83 (+19%)
Amazon 联盟收入$128.39$111.61-$16.78 (-13%)
总收入$220.48$221.53+$1.05 (+0%)

Is It Keto 的访客量继续增长,似乎已恢复到疫情前的正常水平。令人担心的是,AdSense 收入没能跟上增长,Amazon 联盟收入甚至出现了下滑。

仔细查看数据后发现,Is It Keto 在 5 月份为 Amazon 带来的成交额比 4 月高出 25%,但 Amazon大幅下调了联盟佣金比例,导致 Is It Keto 的相关收入明显缩水。

更充分地利用 Is It Keto 的受众

几周前,Justin Vincent 联系了我。他是一位连续创业者,也是 The Nugget Startup Academy 的创始人。他一直在关注我的博客,想约一次 Zoom 通话,一起头脑风暴 Is It Keto 的变现思路。我答应了,这次交流也带来了几个关于业务的有价值洞察。

最让我意外的是,Justin 对 Is It Keto 的访客数据评价非常高。

Justin:你每周有多少独立访客?

:大概一万左右。

Justin:哇,你这可是坐拥金矿啊。

顶尖的生酮食谱博客每月有约 300 万独立访客,相比之下我的 4 到 5 万感觉微不足道。但 Justin 认为,发布产品最难的一环就是找到感兴趣的客户,而如果我每周都能触达 1 万对生酮感兴趣的人,这已经是巨大的优势。

Justin:你观察现有的生酮社区时,发现大家常为什么而困扰?哪些问题被反复提及?

:不太清楚。感觉大多数讨论都是大家分享进展,然后其他人送上祝贺。

Justin:互相祝贺……有意思。你看过wip.chat吗?

wip.chat 截图

wip.chat,一个面向独立开发者的热门社交网络

wip.chat 是一个面向独立开发者的热门社交网络。非会员可以浏览部分内容,但发帖必须成为会员,费用为每月 20 美元。他们的卖点是,wip.chat 社区通过对项目里程碑的监督来帮助你把产品做出来。

我们越聊这个面向生酮人群的 wip.chat 想法,就越觉得靠谱。我见过的生酮社交网络用的都是通用工具:Facebook 群组、subreddit、Discord 频道。如果有一个专门为生酮饮食者打造的工具会怎样?接下来的一周里,我又想出了 25 个点子,但那个仿 wip.chat 的想法依然排在首位。

这周我打算为这个设想中的生酮社交网络做一个落地页,并在 Is It Keto 上进行推广。页面上会有一个注册按钮,但当用户尝试付款时,会看到类似这样的一条提示:“网站仍在搭建中,你可以先加入邮件列表,上线时会第一时间通知你。”

这次对话带来的另一个重要启发是关于合作:

Justin:一旦你做出会员产品,就可以和其他生酮商家建立直接合作、谈联盟分成。

:可我现在就已经有访客了,为什么不现在就做呢?

Justin:问得好。那你现在为什么不做呢?

这正是旁观者视角的价值所在。在 Is It Keto 早期,我曾尝试找其他生酮公司谈联盟合作,但那时体量太小,大多被无视了。如今有了每月 10 万的浏览量,Is It Keto 已经具备了谈合作的分量。只是因为这个想法曾长期不可行,我就忘了重新审视它。但现在有什么能阻止我去联系那些正通过 AdSense 在我网站上投放广告的生酮商家,问问他们是否愿意和我直接合作呢?

wip.chat 截图

也许我可以直接和这个广告主合作,而不必通过 Google AdSense 中转。

提升 Is It Keto 的浏览器端性能

在 Is It Keto 的大部分时间里,性能都不是重点。偶尔我会修复那些明显拖慢速度的组件,但很少会为速度而专门设计。

考虑到 Google 带来了网站 90% 的访客,而 Google 会把性能作为搜索排名的指标之一,我花了几天时间排查 Is It Keto 的性能瓶颈。我用 Gridsome 框架来生成 Is It Keto 的内容,这篇文章帮我实现了几项性能提升。

改动性能影响
按需加载 Bootstrap-Vue 组件而非一次性引入所有 Bootstrap-Vue 和 Bootstrap-Vue-Icons
在 GraphQL 层过滤 Gridsome 数据而非在 Vue 层过滤,以减小静态 JSON 文件体积
撤销了这个用于在 Gridsome 中通过动态路径加载图片的 hack
改用 <link rel> 标签而非 CSS @import 引入 Google Fonts
调整 Google Fonts 的 URL,仅下载所需的字体
在 HTML <head> 中为 Google Fonts 添加preconnectdns-prefetch
在 Google Fonts 引入链接中添加 ?display=swap,以避免“不可见文本闪烁”

大家都在说要用webpack-bundle-analyzer 来查找 JS 打包体积中的大组件。我一度觉得自己是不是疯了,因为根本找不到具体怎么用的说明。所有教程基本都是这样写的:

  1. npm install webpack-bundle-analyzer
  2. ???
  3. 在浏览器中查看有用的可视化图表。

但它们从来不解释到底怎么生成这个可视化图表。我最后才弄明白,缺失的第 2 步是把 webpack-bundle-analyzer 接入你的构建流程(不同技术栈做法不同,这里是在 Gridsome 上的做法)。然后下次构建应用时,你会看到这样一行提示:

Webpack Bundle Analyzer saved report to /home/user/isitketo/dist/report.html

这时再打开 report.html,就能看到大家所说的那个可视化图表了。

网页性能比我想象的更复杂

Is It Keto 最初运行在 App Engine 上的 Python 2 环境。鉴于我重新把重心放回这个网站,再加上 Google 计划停止对 Python 2 的支持,我在 4 月决定重写网站。我选择了 Gridsome,一个基于 Vue 的静态站点生成器。

我本以为能两全其美:既有预渲染网站的性能,又有 Vue 灵活的开发体验。结果发现,网页性能要比我想的复杂得多。

以为浏览器会先渲染所有预生成的 HTML,然后在后台执行 JavaScript。实际上浏览器非常执着于先执行 JavaScript 再做其他事。即使在 Is It Keto 上,我的 <script> 标签已经放在 HTML 最底部并且带有 defer 属性,它们依然会严重拖累性能指标:

启用脚本时的 Lighthouse 分数:47
删除脚本后的 Lighthouse 分数:87

如果我删除 Is It Keto 上的 <script> 标签,它的 Lighthouse 分数会飙升 40 分,但网站也就无法正常使用了。

预计在未来几个月发布的 Vue 3 据称会通过摇树优化(tree shaking)提升性能。也就是说,它能通过剔除未使用的框架代码来减小 JavaScript 负载体积。Gridsome 声称其 1.0 版本将兼容 Vue 3,但他们的开发资源似乎非常紧张,我担心真要实现可能还得等上好几年。

用树莓派实现虚拟键盘和显示器

过去几周我一直在做一个业余项目,我觉得它不一定能发展成一门生意,但或许会有市场。

现有的服务器是无头(headless)运行的,没有连接键盘和显示器,平时只通过 SSH 与之交互。问题在于,如果系统无法启动或我想修改 BIOS 设置,就束手无策了——只能把整台服务器搬到桌边,接上桌面显示器和键盘才能操作。

对于下一台服务器,我一直想弄一个虚拟控制台。市面上有像 Dell 的 iDRAC HP 的 iLO 这类企业级方案,但它们会让服务器成本增加几百美元。也有 KVM over IP 设备,但同样要 400 多美元,还需要臃肿的客户端软件。

过去几周,我一直在尝试用树莓派 4来打造一个平价版的远程控制台。键盘部分在网络上已经可以很好地工作了:

我让树莓派实现了通过浏览器控制的虚拟键盘

显示目标机器的视频画面要棘手一些,但现在已经跑通了,延迟大约 1 秒。效果如下:

我让树莓派实现了通过浏览器控制的虚拟键盘

目前视频显示在单独的窗口中,我正在设法把它直接嵌入到网页里。

我正在写一篇会更详细介绍的博文,如果你想先看看源代码,代码已经公开,只是文档还不完善:

  • key-mime-pi:用于将按键转发到树莓派虚拟键盘设备的 Web 服务器。
  • ansible-role-key-mime-pi:用于配置树莓派 USB gadget 功能(使其能模拟键盘)并将 Web 服务器安装为 systemd 服务的 Ansible 角色。

我考虑以约 180 美元的价格销售预配置好的套件。如果你有兴趣购买,请访问:

遗留项目

以下是一些我仍在维护、但已不是开发重心的项目的简要更新:

Zestful

指标2020 年 4 月2020 年 5 月变化
独立访客1,142467-675 (-59%)
总浏览量2,9601,258-1,702 (-57%)
RapidAPI 收入$32.19$6.48-$25.71 (-80%)
总收入$32.19$6.48-$25.71 (-80%)

不知为何,Zestful 在 5 月迎来了一波关注。有三位客户询问了企业版报价。其中两位似乎没了下文,但第三位或许能成。我应该会在本周末前知道结果。

收尾

完成了什么?

  • Is It Keto 的文章数量增加了 40%。
  • Is It Keto 的 Lighthouse 性能分数提升了 43 分(从 4 分提升到 47 分)。
  • 在同伴互助小组中做了一场题为《如何成为一个还算成功的博主》的分享。

经验教训

  • 预渲染的 Vue 站点依然要付出不小的性能代价。
  • 和新的人聊聊你的业务,有助于重新审视自己的假设。

下月目标

  • 验证 Is It Keto 姐妹产品的想法。
  • 为 Is It Keto 新增 30 篇文章。
  • 做出一个可通过网页浏览器控制、基于树莓派的可用 KVM over IP。

本文章由 muse-spark-1.2-contributor 进行翻译

评论