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,451 | 50,352 | +14,901 (+42%) |
| 總瀏覽量 | 72,894 | 99,391 | +26,497 (+36%) |
| 網域權重 (Ahrefs) | 27.0 | 27.0 | 0 |
| 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 是獨立開發者喜愛的熱門社群網路。非會員可以瀏覽部分內容,但若要發文就必須成為會員,費用為每月 20 美元。他們的主打訴求是,wip.chat 社群透過讓你對專案的里程碑負責,來幫助你打造產品。
我們越深入討論為生酮打造一個 wip.chat 的可能性,我就越喜歡這個想法。我所見過所有生酮相關的社群網路,用的都是通用工具:Facebook 社團、subreddit、Discord 頻道。如果有一個專為生酮飲食者設計的工具會怎麼樣?接下來的一週,我又腦力激盪出 25 個點子,但 wip.chat 的仿製版仍高居我的首選。
本週,我打算為這個構想中的生酮社群網路建立一個到達頁面,並在 Is It Keto 上宣傳。我會放上一個註冊按鈕,但當使用者嘗試付款時,會看到類似這樣的訊息:「這個網站還在建置中,不過你可以加入這個電子報名單,以便在準備就緒時收到通知。」
這次對話帶來的另一個重要洞察與合作夥伴關係有關:
賈斯汀:一旦你建立了會員制產品,就可以和其他生酮相關企業建立直接的合作關係與聯盟行銷合作。
我:但我已經有訪客了。為什麼不現在就做呢?
賈斯汀:問得好。你現在為什麼不做呢?
這就是局外人觀點的價值所在。在 Is It Keto 早期,我曾嘗試接洽其他生酮相關公司談聯盟行銷合作,但當時規模太小,大多被已讀不回。如今 Is It Keto 每月有 10 萬次瀏覽量,已具備足夠的規模讓合作變得可行。只是因為這個想法長期以來都不可行,我就忘了重新審視它。但現在有什麼能阻止我直接聯繫那些透過 AdSense 在我網站上投放廣告的生酮商家,問問他們是否想跟我直接合作呢?

或許我可以直接跟這家廣告主談合作,而不必透過 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> 中preconnect 與 dns-prefetch(針對 Google Fonts) | 低 |
在我的 Google Fonts 匯入網址中加入 ?display=swap,以避免「Flash of Invisible Text」 | 低 |
大家都在談用webpack-bundle-analyzer 來找出 JS 打包檔中較大的元件。我覺得很困惑,因為我找不到任何關於如何實際使用它的說明。所有的教學基本上都只說:
npm install webpack-bundle-analyzer- ???
- 在瀏覽器中查看實用的視覺化圖表。
但它們從來沒解釋如何實際產生視覺化圖表。我最後才搞懂,缺少的步驟 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 屬性,它們仍然會拖垮我的效能指標:
如果我刪除 Is It Keto 上的 <script> 標籤,它的Lighthouse 分數會躍升 40 分,但網站就會無法正常運作。
預計在未來幾個月內推出的 Vue 3,據說會因為tree shaking(搖樹最佳化)而提升效能。這意味著它將能透過剔除未使用的框架程式碼來縮小 JavaScript 的承載大小。Gridsome 聲稱其 1.0 版本將相容於 Vue 3,但他們似乎受限於開發資源,讓我擔心可能還要好幾年才會實現。
將 Raspberry Pi 當作虛擬鍵盤與螢幕
過去幾週,我一直在做一個嗜好專案,我不認為它會發展成一門生意,但或許還是有市場。
我目前的伺服器是無頭(headless)的,所以沒有連接鍵盤或螢幕。我都透過 SSH 與它互動。問題在於,如果作業系統無法載入或我想更改 BIOS 設定,就會卡住——我得把整台伺服器搬到桌邊,接上桌機的螢幕和鍵盤才能存取伺服器。
對於下一台伺服器,我一直夢想能有某種虛擬主控台。有像是Dell 的 iDRAC 和HP 的 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,142 | 467 | -675 (-59%) |
| 總瀏覽量 | 2,960 | 1,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 分)。
- 向我的同儕導師團發表了一場名為How to be a Sort of Successful Blogger(《如何成為還算成功的部落客》)的演講。
學到的經驗
- 預先渲染的 Vue 網站仍需付出可觀的效能代價。
- 與新對象聊聊你的事業,有助於重新檢視自己的假設。
下個月的目標
- 驗證 Is It Keto 姊妹產品的構想。
- 在 Is It Keto 上新增 30 篇文章。
- 打造一個可透過網頁瀏覽器控制、能實際運作的 Pi 版 KVM over IP。
隨機一篇部落格

