Cloudways HTTPS 與 Mixed Content 排錯教學
網站已安裝 SSL,瀏覽器仍可能顯示「不安全」。常見原因是 HTTPS 頁面仍載入 HTTP 圖片、CSS、JavaScript、字型或 iframe,形成 Mixed Content。以下流程先找出來源、備份,再逐項修正。
步驟 1:用開發者工具找出 HTTP 資源
以 HTTPS 開啟問題頁面,按 F12 或「檢查」,查看 Console 及 Network。重新載入,搜尋 `Mixed Content` 或以 `http://` 篩選,記下資源網址、類型及來源。首頁正常不代表全站正常,亦要檢查文章、表單及結帳頁。
步驟 2:修改前建立完整備份
搜尋及取代會改動資料庫,先在 Cloudways 建立應用程式備份,確認檔案及資料庫均已完成。WooCommerce 網站宜安排維護時段,避免備份後新增訂單。記下備份時間,出錯時才有清楚的還原點。
步驟 3:確認 WordPress 網址使用 HTTPS
到 WordPress「設定 → 一般」,檢查 WordPress 位址及網站位址是否均以 `https://` 開始。兩個欄位通常應使用同一正式網域。若欄位被鎖定,網址可能由 `wp-config.php` 管理,不要在未確認設定來源前重複修改。
步驟 4:安全搜尋及取代舊 HTTP 網址
使用支援序列化資料的 Search and Replace 工具,把自己的舊 `http://` 網域改為相同的 `https://` 網域。先執行 Dry Run,核對預計修改的資料表及筆數,再正式執行。不要把所有 `http://` 全域取代,外部連結未必支援 HTTPS,錯誤取代亦可能破壞內容。
步驟 5:只保留一個 HTTPS 轉址來源
確認 SSL 正常後,可在 Cloudways Application Settings 啟用 HTTPS Redirection。若 Cloudflare、Sucuri、WordPress 外掛或 `.htaccess` 已負責轉址,就不要再開第二套規則。多重轉址可能造成循環、過多跳轉或後台登入失敗。
步驟 6:清除快取並重新驗證
清除 Breeze、Varnish、物件快取及 CDN 快取,再以無痕視窗測試。確認 HTTP 只以一次 301 轉到 HTTPS、Console 沒有 Mixed Content 警告,圖片、字型、表單及登入均正常。若仍有警告,依 Console 顯示的位置檢查主題 CSS、頁面建立器、自訂程式碼或第三方嵌入。
為甚麼只改 WordPress 網址仍未解決?
WordPress 網址只控制主要 URL,舊圖片、頁面建立器、CSS 或外掛資料仍可能保存 HTTP 網址。須找出真正來源,再按資料庫、主題或第三方服務處理。
修正後還需要保留 SSL 外掛嗎?
若外掛只用來強制轉址,而 Cloudways 已負責,可先在 Staging 停用並測試,再決定是否移除。涉及 HSTS、安全標頭或其他功能的外掛不能一概刪除,應先核對用途。
