問題描述:Wordpress網站的某一頁出現『不安全』提示,除此之外其他頁面都正常。
點選提示,也確定SSL憑證有效,到底是怎麼一回事,又該怎麼解決呢?
這種狀況通常是因為該頁面上有不安全的內容(即使用 HTTP 而不是 HTTPS 資源),如果頁面中包含未加密的資源(如圖片、影音、腳本、樣式表等),即使SSL有效,瀏覽器仍然會提示該頁面不安全。
接下來,讓我們找出包含問題內容的區塊:
一、檢查混合內容(Mixed Content)
- 在顯示不安全提示的頁面上,點擊右鍵並選擇「檢查」或按下鍵盤上的F12。
- 切換到「Console」(主控台)分頁
- 看到瀏覽器報告的錯誤,這些錯誤通常會提到「Mixed Content」或「不安全內容」,並列出具體的 HTTP 資源。
以下圖為例,不安全內容是上傳到媒體庫的影片,原因不明一套用就變成http://
二、更新資源網址
我們的目標就是確保網站資源的URL通過HTTPS提供,以下提供幾個常見的做法:
方法1. 到後台變更網站位址及WordPress 位址
後台側邊欄>設定>一般
如果本頁的 WordPress 位址 (網址)以及 網站位址 (網址)是http開頭,請改成https,如下圖所示:
變更完之後可能要重新登入或重整SEO外掛。
方法2. 更改佈景主題的functions.php
在佈景主題的 functions.php 加入這段程式碼,強制取代 http:// 網址為 https://
add_filter('wp_get_attachment_url', function($url) {
return str_replace('http://', 'https://', $url);
});
方法3. 變更資源的存放位置
上述範例是影片,如果影片不放本地主機,也可以用非公開模式放在其他平台(如youtube)來取得影片網址。優點是不占主機空間,載入速度可能還更快,但不是一次性解決此問題。
三、記得清除緩存
已經變更網址或刪除http資源,卻仍顯示不安全頁面,記得清除CDN緩存。
此外,在已登入狀態編輯模式下,與其他訪客查看的結果可能不同,請在瀏覽器按下『ctrl+F5』重整,或用無痕模式檢查。