Is It Keto: Month 12

Michael Lynch

Is It Keto:第 12 個月

一句話總結

每月 5 萬名訪客的價值,遠比我原本認為的還要高。

亮點

  • 我在 Is It Keto 上新增了 88 篇以程式自動產生的文章。
  • 隨著每月 10 萬次的瀏覽量,是時候探索與 Is It Keto 讀者群互動的新方式了。
  • 我打造了一台硬體成本不到 100 美元的 KVM over IP(網路遠端 KVM)裝置。

目標成績單

每個月一開始,我都會訂下想完成的目標。以下是本月的達成狀況:

在 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 的營利方式。我答應了,這次對話為這個事業帶來了幾個很有用的洞察。

最讓我驚訝的是,賈斯汀對 Is It Keto 的訪客數據評價非常高。

賈斯汀:你每週有多少不重複訪客?

:大約一萬人。

賈斯汀:哇,你坐擁一座金礦。

頂尖的生酮食譜部落格每月約有 300 萬不重複訪客,所以我的 4 到 5 萬感覺微不足道。賈斯汀認為,推出產品最困難的部分之一就是找到感興趣的顧客,但如果我每週都能接觸到 1 萬名對生酮飲食感興趣的人,那就是巨大的優勢。

賈斯汀:當你觀察現有的生酮社群時,你注意到人們常為什麼感到困擾?哪些問題最常出現?

:我不太清楚。我覺得大多數討論都是大家分享進展,然後其他成員給予祝賀。

賈斯汀:互相祝賀……這很有意思。你看過wip.chat 嗎?

wip.chat 截圖

wip.chat,一個深受獨立軟體開發者歡迎的社群網路

wip.chat 是獨立開發者喜愛的熱門社群網路。非會員可以瀏覽部分內容,但若要發文就必須成為會員,費用為每月 20 美元。他們的主打訴求是,wip.chat 社群透過讓你對專案的里程碑負責,來幫助你打造產品。

我們越深入討論為生酮打造一個 wip.chat 的可能性,我就越喜歡這個想法。我所見過所有生酮相關的社群網路,用的都是通用工具:Facebook 社團、subreddit、Discord 頻道。如果有一個專為生酮飲食者設計的工具會怎麼樣?接下來的一週,我又腦力激盪出 25 個點子,但 wip.chat 的仿製版仍高居我的首選。

本週,我打算為這個構想中的生酮社群網路建立一個到達頁面,並在 Is It Keto 上宣傳。我會放上一個註冊按鈕,但當使用者嘗試付款時,會看到類似這樣的訊息:「這個網站還在建置中,不過你可以加入這個電子報名單,以便在準備就緒時收到通知。」

這次對話帶來的另一個重要洞察與合作夥伴關係有關:

賈斯汀:一旦你建立了會員制產品,就可以和其他生酮相關企業建立直接的合作關係與聯盟行銷合作。

:但我已經有訪客了。為什麼不現在就做呢?

賈斯汀:問得好。你現在為什麼做呢?

這就是局外人觀點的價值所在。在 Is It Keto 早期,我曾嘗試接洽其他生酮相關公司談聯盟行銷合作,但當時規模太小,大多被已讀不回。如今 Is It Keto 每月有 10 萬次瀏覽量,已具備足夠的規模讓合作變得可行。只是因為這個想法長期以來都不可行,我就忘了重新審視它。但現在有什麼能阻止我直接聯繫那些透過 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 中以動態路徑載入圖片的技巧
使用 <link rel> 標籤而非 CSS @import 來匯入 Google Fonts
調整 Google Fonts 的網址,只下載我需要的字型
在 HTML <head>preconnectdns-prefetch(針對 Google Fonts)
在我的 Google Fonts 匯入網址中加入 ?display=swap,以避免「Flash of Invisible Text」

大家都在談用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 屬性,它們仍然會拖垮我的效能指標:

啟用 scripts 時 Lighthouse 分數為 47
移除 scripts 後 Lighthouse 分數為 87

如果我刪除 Is It Keto 上的 <script> 標籤,它的Lighthouse 分數會躍升 40 分,但網站就會無法正常運作。

預計在未來幾個月內推出的 Vue 3,據說會因為tree shaking(搖樹最佳化)而提升效能。這意味著它將能透過剔除未使用的框架程式碼來縮小 JavaScript 的承載大小。Gridsome 聲稱其 1.0 版本將相容於 Vue 3,但他們似乎受限於開發資源,讓我擔心可能還要好幾年才會實現。

將 Raspberry Pi 當作虛擬鍵盤與螢幕

過去幾週,我一直在做一個嗜好專案,我不認為它會發展成一門生意,但或許還是有市場。

目前的伺服器是無頭(headless)的,所以沒有連接鍵盤或螢幕。我都透過 SSH 與它互動。問題在於,如果作業系統無法載入或我想更改 BIOS 設定,就會卡住——我得把整台伺服器搬到桌邊,接上桌機的螢幕和鍵盤才能存取伺服器。

對於下一台伺服器,我一直夢想能有某種虛擬主控台。有像是Dell 的 iDRACHP 的 iLO 這類企業級解決方案,但它們會讓伺服器成本增加數百美元。也有KVM over IP 裝置,但同樣要價 400 美元以上,而且需要臃腫的用戶端軟體。

過去幾週,我一直嘗試用Raspberry Pi 4 打造窮人版的遠端主控台。鍵盤的部分透過網路運作得很順暢:

我讓 Raspberry Pi 成功作為由瀏覽器控制的鍵盤來運作

要顯示目標機器的影像就比較棘手了,不過我現在已經讓它運作起來,延遲約 1 秒。實際效果如下:

我讓 Raspberry Pi 成功作為由瀏覽器控制的鍵盤來運作

目前影像顯示在獨立的視窗中,但我正在努力將它直接嵌入網頁中。

我正在撰寫一篇會更詳細說明一切的部落格文章,不過如果你想先睹為快,原始碼已經公開,只是尚未完整撰寫文件:

  • key-mime-pi:用於將按鍵轉送至 Raspberry Pi 虛擬鍵盤裝置的網頁伺服器。
  • ansible-role-key-mime-pi:用於設定 Pi 的 USB gadget 功能(使其能模擬鍵盤)並將網頁伺服器安裝為 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 月突然獲得一波關注。有三位客戶詢問企業版的報價。其中兩位似乎已經沒下文,但第三位或許有機會談成。我應該在本週末前就會知道結果。

總結

完成了什麼?

學到的經驗

  • 預先渲染的 Vue 網站仍需付出可觀的效能代價。
  • 與新對象聊聊你的事業,有助於重新檢視自己的假設。

下個月的目標

  • 驗證 Is It Keto 姊妹產品的構想。
  • 在 Is It Keto 上新增 30 篇文章。
  • 打造一個可透過網頁瀏覽器控制、能實際運作的 Pi 版 KVM over IP。

原文由 Michael Lynch 發布

本文章由 muse-spark-1.2-contributor 進行翻譯