跳到主要內容
Jason Finance
AI 創業

Jason Finance 從零到一:10 天、190 個 commit,用 Claude Code 架四語理財網站的技術架構與做法

Jason Finance 從 2026 年 10 月 2 日第一個 commit 到四語上線的完整紀錄:Astro、Cloudflare Workers、GitHub、Supabase 的技術架構、為什麼這樣選、每天做了什麼,以及內容、資料同步、SEO 和 AI 權限的做法。

本文目錄
  1. 1.一句話說完整套架構
  2. 2.10 天做了什麼
  3. 3.七個關鍵決定
  4. 3.11. 公開頁全部靜態
  5. 3.22. 文章放在 Git,一篇一個資料夾,各語言共用 slug
  6. 3.33. 規則寫進資料結構,不靠記性
  7. 3.44. 每種資料只有一個來源
  8. 3.55. 一套登入,資料庫權限是真正的邊界
  9. 3.66. 翻譯是規則,不是額外工作
  10. 3.77. 給 AI 的權限:看影響,不看指令
  11. 4.一篇文章從寫到上線
  12. 5.SEO 和 AI 搜尋的基本功
  13. 6.刻意沒用的東西
  14. 7.現在的規模
  15. 常見問題

Jason Finance 的第一個 commit 是 2026 年 10 月 2 日。到 10 月 11 日,網站累計 190 個 commit,27 篇文章各有繁體中文、簡體中文、英文版,其中 22 篇加密貨幣文章另有西班牙文版,還有後台、留言、每天自動更新的資料和一套 SEO 監控。程式都是 Claude Code 寫的,我看不懂程式碼,負責的是決定方向和審稿。

這篇把整套技術架構和做法寫下來:用了什麼、為什麼這樣選、每天做了什麼,以及哪些東西刻意沒用。想知道每個服務花多少錢、我怎麼給 AI 權限,見〈看不懂程式也能架網站〉。

本文是 Jason Finance 的架站紀錄,數字是 2026 年 10 月 11 日的狀態。工具的功能、免費額度和價格都會變動,以各服務官方說明為準。

一句話說完整套架構

一個 Astro 網站部署在 Cloudflare Workers:公開頁全部預先產生成靜態網頁,文章存在 GitHub;後台走伺服器端;登入、留言和後台資料放 Supabase;一台 Oracle 主機跑 Claude Code 和每日備份。

層 用什麼 為什麼
網站框架 Astro 公開頁輸出成靜態 HTML,只有後台和首頁的語言轉址需要伺服器
內容 Markdown + 內容結構檢查(zod schema) Git 就是內容管理系統:有版本紀錄、可以審稿,網站建置不依賴資料庫
語言 繁中、簡中、英文,加密貨幣主題另有西班牙文 每個語言都帶網址前綴,規則沒有例外
主機 Cloudflare Workers 靜態頁走全球 CDN;資料庫出問題時文章頁不受影響
部署 push 到 main 自動部署;preview 分支產生含草稿的預覽網址 push 就是發佈,不需要另外的發佈系統
登入與資料 Supabase 免費方案(Postgres、登入、RLS) 留言和後台都要分清楚「資料屬於誰」,用資料庫的列級權限控管
登入方式 Google 登入 免費方案的寄信額度很低,避開需要寄信的登入方式
後台防護 Cloudflare Access 沒授權的請求在 Cloudflare 那一層就被擋掉
留言防機器人 Cloudflare Turnstile 在資料庫裡驗證,繞過網站直接呼叫也跳不過
常駐主機 Oracle 免費主機 跑 Claude Code、每日備份
備份 資料庫每天備份到 Cloudflare R2,保留 30 天 免費方案沒有自動備份,自己做
流量與 SEO GA4、Google Search Console、另一個 SEO Monitor 專案 網站本身只負責被收錄,分析交給獨立的專案
測試 Vitest、Astro 的型別檢查、內容結構檢查 資料或格式有錯,建置就失敗,不會帶著錯誤上線

10 天做了什麼

日期 主要進度
10 月 2 日 建立 Astro 專案
10 月 3 日 寫下 AI 的權限規則(看影響決定要不要問我)、溝通語言;第一篇草稿;結構化資料(WebSite、BlogPosting、BreadcrumbList)
10 月 4 日 選單、語言切換、深色模式、作者介紹、留言;後台(Google 登入、內容分析、翻譯進度、留言審核);定期定額試算工具;第一批文章三語發佈
10 月 5 日 交易所資料框架;寫作潤稿規則
10 月 6 日 扁平的 sitemap.xml
10 月 7 日 加密貨幣內容規劃;第一篇交易所評價上線;USDT 利率工具(草稿)
10 月 8 日 交易所事實資料(費率、儲備金、牌照、事件)和公開評分方法;後台上傳截圖;西班牙文版
10 月 9 日 全站側欄和手機底部橫幅;第一篇時事文章四語上線
10 月 10 日 交接用的待辦清單;交易所依 CoinGecko 排名排序
10 月 11 日 sitemap 日期、Organization 結構化資料、四語 RSS、延伸閱讀;接上 SEO Monitor;12 篇交易所評價四語上線

每天的 commit 數從 1 到 36 個不等,最多的是 10 月 7 日。我會用手機上的 Claude App 連到 Oracle 主機上的 Claude Code,用中文交代要做什麼。

七個關鍵決定

1. 公開頁全部靜態

Supabase 免費專案閒置一週會暫停,雲端服務也會出問題。公開頁如果每次都向資料庫要資料,資料庫一掛網站就跟著掛。所以讀者看的頁面全部在建置時就產生好,Supabase 只負責留言和後台這些「多出來的功能」;留言載入失敗時,只顯示「留言暫時無法載入」,文章照常可以看。

2. 文章放在 Git,一篇一個資料夾,各語言共用 slug

每篇文章一個資料夾,裡面每種語言一個 Markdown 檔,例如 okx-review/zh-hant.md、okx-review/en.md。網址只差語言前綴,所以語言切換和 hreflang 不需要對應表。某個語言沒有檔案,就不產生那一頁,也不拿其他語言頂替。slug 一旦上線就不改,真的要改就設 301 轉址。

3. 規則寫進資料結構,不靠記性

每篇文章的 frontmatter(標題、描述、主題、日期等欄位)都有格式檢查:一定要屬於一個主題、描述不能超過 160 字、翻譯要寫明從哪個語言翻來和原文的日期。不符合就建置失敗。這次 12 篇評價上線前,就有一篇英文描述超過 160 字,被擋下來改短才上線。

4. 每種資料只有一個來源

  • 交易所的費率、儲備金、牌照、事件:放在一份資料檔,每一筆都附官方來源和查證日期;評分、比較表和每篇評價的資料框都讀同一份,數字不會互相矛盾。
  • 理財利率和交易所排名:GitHub Actions 每天抓取,抓失敗就保留上一次的資料。

5. 一套登入,資料庫權限是真正的邊界

後台有三層:Cloudflare Access 先擋、程式再檢查一次、資料庫的列級權限(RLS)最後決定能看什麼。網站程式和主機都不持有能繞過權限的最高權限金鑰。

6. 翻譯是規則,不是額外工作

繁中定稿後,簡中、英文(加密貨幣文章再加西班牙文)照固定流程產生:英文和西班牙文直接從繁中翻,簡中先依用詞對照表轉換再潤稿。翻譯版記錄原文的更新日期,原文改了、翻譯沒跟上,建置時會提醒。

7. 給 AI 的權限:看影響,不看指令

我看不懂程式碼,不可能逐一核准指令。規則是依「這件事會造成什麼影響」決定要不要問我:一般的修改和部署直接做;發佈我沒看過的內容、改正式設定要我決定;刪資料、改資料庫則是開工前說明一次範圍、風險和備份。細節在〈看不懂程式也能架網站〉。

一篇文章從寫到上線

  1. 定題目:主題和角度由我決定,Claude Code 依內容規劃提出建議。
  2. 寫繁中初稿:每個數字附官方來源和日期,我自己的經驗和截圖由我提供。
  3. 潤稿:用多語言潤稿規則修掉翻譯腔和 AI 套話,不增減事實。
  4. 自查清單:關鍵字、結構、來源、內部連結、FAQ、分享圖逐項檢查,結果回報給我。
  5. 預覽:草稿推到 preview 分支,我在預覽網址上看。
  6. 定稿後翻譯:我說定稿,Claude Code 產生其他語言版本,四語一起發佈。
  7. 上線後記錄:SEO 的修改記錄到 SEO Monitor,7、14、28 天後看成效。

SEO 和 AI 搜尋的基本功

  • 結構化資料:網站與組織(WebSite、Organization)、文章(BlogPosting)、麵包屑、FAQ、主題頁的文章清單(CollectionPage、ItemList)。
  • sitemap:一份扁平的 /sitemap.xml,每個網址的更新日期來自文章本身,列表頁取最新一篇的日期。
  • RSS:每種語言一份。
  • llms.txt:從已發佈的文章自動產生,給 AI 搜尋引擎讀。
  • 多語言:hreflang 只列出實際存在的語言版本。
  • 監控:Search Console、GA4、PageSpeed 和收錄狀態由獨立的 SEO Monitor 每天收集,Claude Code 可以直接查詢。

刻意沒用的東西

沒用 原因
公開頁走伺服器端產生 資料庫或服務掛掉時,公開站會跟著掛
用資料庫存文章、網頁編輯器 單一作者用 Claude Code 寫 Markdown,Git 已經提供版本與審稿
後台寫回 Git 雙向同步容易出錯,後台只讀
魔法連結(Email)登入 免費方案的寄信額度太低
留言支援 HTML 和自動連結 有 XSS 與垃圾連結風險,純文字就夠
捲動動畫套件 文章站不需要,接管捲動會傷害閱讀體驗
從 CDN 載入前端套件 全部打包,不依賴外部服務
備份放在 Git 或主機本機 repo 會一直變大、主機被回收就一起消失
各語言不同 slug 需要對應表,每個翻譯都變成特殊情況

現在的規模

項目 數量(2026 年 10 月 11 日)
commit 190 個
已發佈文章 27 篇 × 繁中、簡中、英文,22 篇另有西班牙文
主題 美股投資、加密貨幣、信用卡與銀行(AI 創業準備中)
每天自動更新 理財利率、交易所排名
自動測試 204 項

更多文章在 AI 創業主題頁。

常見問題

Jason Finance 用什麼技術架的?

網站框架是 Astro,公開頁全部預先產生成靜態網頁,放在 Cloudflare Workers;文章是 GitHub 裡的 Markdown 檔;登入、留言和後台資料用 Supabase;一台 Oracle 的免費主機跑 Claude Code 和每日備份。

為什麼公開頁要全部做成靜態網頁?

Supabase 免費專案閒置一週會暫停,雲端服務也可能出問題。公開頁如果每次都要向資料庫要資料,資料庫一出事網站就跟著掛;靜態頁不依賴資料庫,讀者照樣看得到文章。

從零到上線花了多久?

第一個 commit 是 2026 年 10 月 2 日,10 月 4 日第一批文章以三種語言發佈,到 10 月 11 日累計 190 個 commit、27 篇文章各有繁中、簡中、英文版,其中 22 篇另有西班牙文版。

多語言網站的網址怎麼設計?

每篇文章一個資料夾,各語言共用同一個 slug,網址只差語言前綴,例如 /zh-hant/okx-review/ 和 /en/okx-review/。某個語言沒有檔案就不產生那一頁,不拿其他語言頂替。

沒有後台編輯器,文章怎麼發佈?

文章是 Markdown 檔,Claude Code 改好後 push 到 GitHub 的 main 分支,Cloudflare 自動建置並部署。另一個 preview 分支會產生含草稿的預覽網址,先給我看過再發佈。

延伸閱讀

關於作者

Jason 的照片

Jason

Google 大客戶銷售客戶經理、哥倫比亞大學 MBA 錄取,分享自己實際用過的理財工具與經驗。

留言

使用 Google 登入即可留言。留言「不會」使用您的 Google 頭像或姓名,對外顯示的暱稱是系統隨機產生的代號,以保護您的隱私。

登入即表示你同意本站的隱私權政策。

  1. 載入留言中…