網頁設計 / 差異比較 / 工具操作

官網搬家一個月零元:把攝影網站從 Webnode 整站搬到 Cloudflare Pages

攝影公司的網站,大量照片範例,161 頁、一萬四千多個檔案、2.5 GB。2026 年 8 月我把它整站搬到 Cloudflare Pages,掛在自己已經有的網域底下,畫面一比一還原,每個月零元。這篇講為什麼搬、怎麼搬、搬完多了什麼,以及前兩次為什麼都以為搬完了其實沒有。

咪卡推著裝著整棟網站小房子的手推車,從 Webnode 的地基搬到 Cloudflare Pages 的地基
整棟搬過去:161 頁、14,495 個檔案,畫面一比一還原。

這篇在講什麼

先給你看成品:lightstory.jiangyude.com,這個站現在跑在 Cloudflare Pages 上,可以直接點進去看。它是一個攝影公司的網站,放了大量照片範例,161 頁、一萬四千多個檔案、2.5 GB,本來在 Webnode 上放了很多年。2026 年 8 月我把它整站搬過來,掛在自己已經有的網域底下,畫面一比一還原,每個月零元。這篇把三件事講清楚:為什麼搬(價格表與網域歸屬)、怎麼搬(五個步驟,其中一個坑讓我前兩次都以為搬完了其實沒有)、搬完之後多了什麼。流程整套做成技能包,免費下載。

適合誰
  • 還在付 Webnode、Wix、Strikingly 月費的小工作室、攝影師、個人品牌,想知道每個月付的錢有沒有零元的選項。
  • 不會寫網頁、以前靠建站平台拖拉模板,現在會用 AI 了,想知道能不能自己接手。
  • 已經試過把網站抓下來備份,但不確定抓得完不完整的人。
你可以帶走什麼
  • 一張 Webnode 與 Cloudflare Pages 的台幣價格對照表,四個欄位:儲存、頻寬、自己的網域、移除平台商標。
  • 搬站五步驟與最容易漏的那一步:相簿圖藏在 JSON 裡,一般抓站工具抓不到。
  • 一份技能包,從偵察、抓取、補抓相簿圖、重新編譯到部署驗收,給你的 AI 照著做。
官網搬家一頁總結:161 頁 14,495 個檔案 2.5 GB、Webnode 8,744 元一年對 Cloudflare Pages 0 元、搬站五步偵察抓取補抓相簿圖重新編譯部署驗收、最容易漏的一步是 9080 張相簿圖佔全站 65%、網域要買自己的
一頁看完這篇:規模、價差、五步驟、最容易漏的那一步。

先講錢:同樣的需求,一年差八千多

我的需求很單純:要有 SEO,能放大量攝影作品。攤開來就是三件事:自己的網域、拿掉平台商標、頻寬不設限。

Webnode 的方案以年繳折扣後的月價計算(2026 年 8 月 23 日查官方定價頁,台幣用當日匯率 1 美元 31.82 元換算):

方案台幣/月儲存頻寬自己的網域移除 Webnode 商標
免費0100 MB500 MB/月不可,掛 webnode 子網域不可,掛 Webnode 廣告
Limited143500 MB1 GB不可
Mini2703 GB3 GB不可
Standard41010 GB10 GB
Professional72950 GB無限制
Business1,015100 GB無限制

2.5 GB 的攝影站,儲存塞得進 Mini,但 3 GB 的月頻寬對圖站不實際;要拿掉商標最低 Standard;三個條件一起滿足的最低方案是 Professional,年繳 274.80 美元,換算約 8,744 元(月價是四捨五入後的數字,直接乘 12 會差幾塊)。

Cloudflare Pages 的免費方案:

項目數值
靜態資源的請求與頻寬不設上限
每次部署的檔案數20,000 檔
單檔大小25 MiB
自訂網域每個專案 100 個,SSL 自動發
每月建置次數500 次
費用0
左欄 Webnode 一年 8,744 元,右欄 Cloudflare Pages 免費方案 0 元,兩隻咪卡各據一邊
同樣三個條件(自己的網域、拿掉商標、頻寬不設限),兩邊的年費。

光的故事 14,495 個檔案、最大單檔沒超過 25 MiB,整個在免費額度內。

先說清楚免費的範圍Cloudflare Pages 免費的是靜態部分。文章後面提到的「在自己的站上加 AI 客服」會用到它的 Functions,免費額度是每天十萬次請求,超過才計費。
延伸閱讀

比錢更重要的:網址掛在誰名下

這件事很多人沒注意。

沒買網域的時候,網址是 xxx.webnode.page 這種平台子網域。子網域的控制權在平台手上,你拿不到 DNS,也拿不到伺服器。後果是:

  • 不能設 301 轉址。哪天要搬家,舊網址指不到新站。
  • 網址能不能保留、保留多久,逐平台逐方案不同,要查該平台的官方說明。
  • 搜尋引擎在舊網址上累積的訊號不會自動轉移。新站可以重新被索引,但要時間。
兩個門牌:左邊 xxx.webnode.page 被小鎖鏈拴在地上,右邊「自己的網域」底下是一個手提箱,咪卡拎著手提箱往前走
左邊那個網址是平台的,右邊那個是你的。

SEO 的基礎是自己的網域。這點 Webnode 官方的 SEO 設定說明自己也這樣講:自訂網域比免費子網域在 SEO 上基礎更強。差別在於,Webnode 要付費方案才能綁自己的網域,Cloudflare Pages 免費方案就能綁。

這次搬站如果只學一件事放在自己的網域底下,以後搬到哪都帶得走。

以前為什麼選 Webnode

以前會選 Webnode,是因為我不會寫網頁,也不會架站。照片丟上去,版面拍一拍就很好看。所以貴歸貴,好用就忍著。

Webnode 還是好用,只是時代變了。現在 AI 做網頁又快又好,我自己也知道怎麼叫 AI 設計出好看的版型。用 AI 用得更順手,就換個地方放。

左邊舊相簿資料夾標著 Webnode,右邊發亮的新資料夾標著 AI 排版,咪卡從新資料夾後面探出來拿著小魔杖
兩個資料夾都乾淨,重點在換了解法。

這裡沒有要踩 Webnode 的意思。它解決的問題是「不會寫網頁的人也能有好看的網站」,這個問題現在換了另一種解法而已。

搬站實際怎麼做:五個步驟

這整套在我的知識庫裡是一份 SOP,首例就是光的故事。這裡講骨架,細節與指令在技能包裡。

第一步:偵察,先看清楚再動手

先讀 robots.txtsitemap.xml,把所有頁面網址列出來。光的故事的 sitemap 有 161 筆。

但 sitemap 不是唯一來源。它可能過期、可能漏頁。正確做法是取聯集:sitemap、站內爬連結、平台後台的頁面清單、分析工具的網址紀錄,四個來源合起來才是全部。

接著看資源放在哪個網域。這步不能跳過。Webnode 把圖片放在獨立的 CDN 網域,CSS 與 JS 放在另一個,主網域的 HTML 只是骨架。不先看清楚,下一步一張圖都抓不到。

第二步:抓取,兩個必開的開關

wget --mirror 抓,但有兩個開關不開就白抓:

開關不開會怎樣
用網址清單餵進去,不是從首頁往下爬漏掉沒有內部連結指向的孤兒頁。光的故事有 22 頁只能靠直接輸入網址進入,爬蟲永遠走不到
跨網域抓取,把 CDN 網域列進去一張圖都抓不到。第一輪抓回來 15 MB 全是 HTML,開起來是沒有圖沒有排版的裸文字

第三步:補抓藏在 JSON 裡的相簿圖,這是整篇最重要的一段

光的故事的相簿、燈箱、輪播圖片網址,寫在 HTML 內嵌的 JSON 設定字串裡,不在 <img src> 上。而 wget 只改寫它自己認得的網址(標籤屬性、CSS 的 url()),不解析 JSON 字串。

後果那批圖從頭到尾沒被下載,網址還指著線上。在平台還活著的時候,本地打開一切正常,因為它偷偷連回線上。平台一到期,相簿整批空白,而那正是你要備份的東西。

規模:9,080 張圖,佔全站圖片的 65%。

同一個站前後被抓過三次,前兩次都自認完整,實際上都漏了這 9,080 張,漏的原因完全相同。那份 SOP 存在的唯一目的,就是不要再漏第三次。

補抓的做法是寫一段小程式掃所有 HTML,把 JSON 裡的圖片網址撈出來。要做三層還原(HTML 實體、JSON 跳脫斜線、副檔名當右邊界),少一層就漏。細節與程式碼在技能包裡。

第四步:重新編譯,Webnode 的結構跟 Cloudflare 不一樣

抓回來的東西不能直接部署,要整理成靜態站的結構:

  • 檔名帶 query 參數:磁碟上存成 DSC04268.jpg?ph=abc123,靜態託管會把 ? 當參數分隔符,上線後全部載不出來。要建一份原始網址到本地檔名的對照表改寫。
  • 同名圖片:全站有 25 組同名圖片,放在不同的 CDN 路徑底下。整理目錄時要保留 CDN 網域當子目錄,不能把圖片扁平化到一個資料夾,否則互相覆蓋。
  • 導覽列指向 www 版本:161 頁的選單都連到 www. 開頭的網址,而 www 版只抓到 139 頁。要把導覽連結改寫回完整版再丟掉重複資料夾,不然整站選單全斷。
  • 分享連結與追蹤碼og:url 指向舊站要改掉,否則分享到 LINE 時預覽連回死站;GTM 與 GA 追蹤碼先問帳號歸屬再決定留不留。

做完這一步,畫面就是一比一還原。

第五步:部署到 Cloudflare Pages,然後真的驗收

部署用 wrangler pages deploy,一萬四千多個檔案用指令列比較好控制與重試。第一次整包上傳,之後增量部署只傳變動的檔,161 檔 6 秒。

驗收才是重點。前兩次失敗的真正原因,是兩個看起來很像驗收、實際上什麼都沒驗到的做法:

假驗收為什麼是假的
用程式檢查檔案存不存在macOS 檔名正規化不敏感,磁碟比對會過,瀏覽器的 HTTP 請求卻失敗。必須發真實 HTTP 請求
用 grep 找不到線上網址殘留就宣稱乾淨檢查腳本刻意跳過所有 http:// 開頭的連結,而漏掉的圖恰好全是那種。grep 沒殘留不等於沒問題,要看檢查範圍涵蓋了什麼

真驗收有六項:頁數比對(sitemap 每一筆都要有對應檔案)、全站 HTTP 掃描(只看 200 不夠,錯誤頁也可能回 200,要一併看內容型別與長度)、資源全量實測(不是抽樣,光的故事測了 14,165 個)、抽取範圍涵蓋 HTML 內嵌 JSON、檔案完整性(0 bytes 與檔頭檢查)、殘留線上網址三種寫法都掃。

延伸閱讀

搬完之後多了什麼

搬站當下的目標只是「備份、不要付錢」。搬完之後才發現多了幾件原本在平台上做不到的事:

  • 自己的網域lightstory.jiangyude.com 上線,成本 0 元。
  • 4O 的技術地基:161 頁統一補了 robots、sitemap、canonical。在平台上這些能不能自己改,要看方案。
  • 課程頁直接長在站上:兩個手機 AI 創作課的頁面從知識官網複製過來,其中一個課程簡報加了密碼,只給上過課的人看。這種「一頁一個規則」在建站平台上能不能做,要看方案有沒有開。
  • 之後要加 AI 客服,也是在自己的站上加:不用等平台開功能。這件事還沒做完,目前卡在 Cloudflare Workers 的執行環境限制,寫出來是因為它是搬到自己地盤之後才有的選項。
延伸閱讀

你的第一步

搬之前先問自己三個問題:

問題為什麼要先問
方案哪天到期?到期的後果逐平台不同,要查該平台官方說明。有些補救(例如在舊站加新網址公告)只能在到期前做
站上有沒有動態功能?表單、會員、購物車、留言,靜態備份一律救不回來,只剩外觀
有沒有自己的網域?沒有的話,這次搬家是買網域的最好時機,否則下次搬家一樣被綁住

三題都答完了,把這段貼給你的 AI:

我有一個放在 [平台名稱] 上的網站,網址是 [網址]。 請先幫我做偵察,不要動手抓: 1. 讀 robots.txt 與 sitemap.xml,列出所有頁面網址與總數 2. 看首頁的圖片、CSS、JS 各放在哪些網域 3. 找出有沒有圖片網址寫在 HTML 內嵌的 JSON 字串裡,不在 <img src> 上 4. 告訴我這個站有沒有表單、會員、購物車這類靜態備份救不回來的功能 偵察結果列成表格給我,我再決定要不要搬。
四格流程:整站抓下來、補抓漏掉的相簿圖、重新編譯一比一還原、部署驗收,咪卡扶著連接四格的箭頭
技能包做的就是這四格。
技能包:saas-site-migration

整套流程做成技能包:偵察、抓取的兩個開關、補抓 JSON 裡相簿圖的程式碼、重新編譯的路徑規則、部署與六項真驗收清單。免費,下載後放進你的 AI 工具技能包資料夾,跟它說「整站備份」或「幫我把 [網址] 整站搬走」。

GitHub 完整說明 → 看所有技能包 →

想繼續聊這個

我每個月固定辦兩場免費線上講座,分享 AI 應用與知識管理的實戰做法。如果你正在幫自己或客戶決定網站要不要搬、搬去哪,歡迎先從社群開始。

本篇所有價格與額度為 2026 年 8 月 23 日查證結果,台幣為當日匯率換算。平台方案隨時可能調整,重要決策前請重新核對官方頁面。

江江教練

隱性知識提煉師、AI 應用規劃師

加入 LINE 社群 →

看服務方案 →

本篇引用來源