快速答案:Cloudflare 站在你的網站前面,所以「網站本身正常,但訪客或 Google 看到的不對」多半是它:安全設定把 Google 爬蟲或正常訪客擋在驗證頁、快取把舊的 CSS 鎖住一年、SSL 模式錯造成轉址迴圈。先把 Cloudflare 暫停(或把那條記錄改成灰雲)測一次,就能分辨問題在主機還是在 Cloudflare。
為什麼會這樣 #
Cloudflare 做三件事,也各有各的出錯方式。安全:Managed Challenge、Under Attack 模式、WAF 規則,會擋掉爬蟲和外部回呼(金流通知、LINE webhook)。快取:邊緣節點會快取 CSS、JS 甚至 HTML,Elementor 的 CSS 檔名不變,改了樣式也拿到舊檔。連線:SSL 模式選錯、Rocket Loader 和自動壓縮會干擾某些外掛的 JavaScript。
另外有一種看起來像問題但不是:Cloudflare 的 Content Signals 會在 robots.txt 自動加一段 Disallow,那只針對 AI 爬蟲,不影響 Google。
怎麼處理 #
- 分辨:Cloudflare 儀表板按「Pause Cloudflare on Site」或把 DNS 記錄改成灰雲,等幾分鐘再測。正常了就是 Cloudflare 設定問題。
- 被擋:Security → Events 看誰被 challenge。安全等級從 Under Attack 降回來;把驗證過的爬蟲和金流回呼的 IP 加成例外規則。
- CSS 不更新:Caching → Purge Everything;Elementor 的「工具」重新產生 CSS。長期解法是設定 Cache Rule 讓 Elementor 的 CSS 目錄用較短的快取時間,或把 Elementor 改成內嵌輸出 CSS。HTML 不要做邊緣快取,除非有快取外掛的整合。
- 調整期間開 Development Mode,三小時內不走快取。
- SSL 模式選 Full (strict),主機端要有有效憑證。
- JavaScript 錯誤:先關 Rocket Loader 和 Auto Minify 試。
- 防火牆外掛(Wordfence)的 IP 來源要設成 X-Forwarded-For,否則封鎖會封到 Cloudflare 自己。
我們實際遇過的情況 #
一家客戶的網站整站被 Managed Challenge 擋住,連 robots.txt 都被擋在驗證頁後面,搜尋引擎的收錄跟著受影響;WordPress 本身檢查完全正常,問題全在 Cloudflare 的安全設定。另一個網站的 Elementor CSS 被 Cloudflare 代理卡住,樣式怎麼改都不動,最後是跟主機商一起排查才確定卡在代理這一層。還有一個站是 CDN 把 CSS 快取整整一年,我們改掉全站 Elementor 的 CSS 輸出方式才根治。
另外提醒一個容易誤判的地方:robots.txt 裡多出一段 Disallow,不一定是有人改了設定。Cloudflare 的 Content Signals 會自動加上那一段,它只針對 AI 爬蟲,不影響 Google 的收錄。看到先確認來源,不用急著動手改。
什麼時候該找人 #
金流回呼被擋(客人付了錢但訂單狀態沒更新)、收錄整個掉光、或搞不清楚 DNS 和 Cloudflare 帳號在誰手上。第一種每多一天就多一批對不上的帳。
WPTOOLBEAR網站工具熊