如何將 WordPress 網站從 HTTP 遷移到 HTTPS? (新手指南)
已發表: 2023-04-13當您訪問您的 WordPress 網站時,您是否厭倦了瀏覽器中可怕的“不安全”警告? 如果您希望為訪問者提供更安全、更值得信賴的瀏覽體驗,那麼您來對地方了! 在本文中,我們將引導您完成將 WordPress 站點從 HTTP 重定向到 HTTPS 的過程。
您是出於這些原因之一來這裡嗎?
- 您看到“不安全”警告
- 您希望為訪問者提供更安全的體驗
- 您已在您的網站上設置 SSL,但它無法正常工作
- 你不想被谷歌懲罰
那麼你為什麼在這裡閱讀這篇文章? 您可能是希望提高 WordPress 網站安全性的網站所有者,或者您可能是負責實施更改的開發人員。 無論哪種方式,我們都能滿足您的需求。 到本文結束時,您將能夠輕鬆地將您的 WordPress 站點重定向到 HTTPS。
這是即將發生的事情的快速 TL;DR:我們將回顧切換到 HTTPS 的原因,解釋設置重定向的技術步驟,並提供一些技巧以確保順利過渡。 讓我們開始吧!
在我們開始之前,請務必確保您已經為您的站點設置了 SSL 證書。 如果你還沒有,別擔心! 我們有一篇有用的文章可以引導您完成整個過程。 如果您不確定您的 SSL 證書是否已正確安裝,同一篇文章還介紹瞭如何測試它。
使用 Really Simple SSL WordPress 插件強制重定向到 HTTPS
將您的 WordPress 網站重定向到 HTTPS 變得更加容易! 使用“Really Simple SSL”插件,您只需點擊幾下即可完成切換。 這是您需要做的:
- 從 WordPress 存儲庫安裝“Really Simple SSL”插件。
- 激活插件。
- 按照屏幕上的簡單說明配置插件。
- 接下來將要求您進行備份,您已經完成了。
- 接下來,它會要求您繼續並單擊“繼續,激活 SSL”。
就是這樣! 您的站點現在將被重定向到 HTTPS。
現在,讓我們來看看這個插件在幕後做了什麼:
- 它會檢查您的網站是否安裝了 SSL 證書。
- 它確保到您網站的所有流量都通過安全的 HTTPS 連接發送。
- 它使用正確的配置更新 .htaccess 文件。
- 它會更新您網站上的所有內部鏈接以使用 HTTPS,因此您的訪問者將始終訪問您網站的安全版本。
- 它通過用 HTTPS 替換任何不安全的元素來確保您前端的所有內容也是安全的。
使用“真正簡單的 SSL”插件,您不必擔心任何技術細節或編碼。 該插件會為您處理一切,讓您輕鬆切換到 HTTPS!
使用 .htaccess 文件強制重定向到 HTTPS(快速修復)
這是您網站的可能解決方案。 它使用 htaccess 文件將所有訪問者重定向到網站的 HTTPS 版本。
以下是如何使用 .htaccess 將您的 WordPress 站點從 HTTP 重定向到 HTTPS:
- 檢查您網站的根目錄中是否存在現有的 .htaccess 文件。
- 如果有,打開它並添加以下代碼:
- 如果沒有,請創建一個新的 .htaccess 文件並添加代碼。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
.htaccess 文件中的代碼執行以下操作:
- 啟用 RewriteEngine,它允許代碼重定向請求。
- 檢查請求是否通過不安全的 HTTP 連接發出(RewriteCond %{HTTPS} 關閉)。
- 如果是,代碼使用 RewriteRule (RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]) 將請求重定向到站點的 HTTPS 版本。
添加代碼後,保存 .htaccess 文件並將其上傳到網站的根目錄。
要測試重定向是否正常工作,請嘗試訪問您網站的 HTTP 和 HTTPS 版本。 如果一切設置正確,所有對 HTTP 版本的請求應該自動重定向到 HTTPS 版本。 您還可以使用在線 SSL 檢查工具來驗證您的站點是否已正確設置並重定向到 HTTPS。
在哪裡添加此代碼?
不知道在 htaccess 文件中的什麼位置添加此代碼可能會讓人感到困惑。 大多數情況下,上面提到的可以放在文件的頂部。
支持此方法的虛擬主機
大多數流行的虛擬主機都支持這種設置重定向的方法。 我們已經在這些虛擬主機上測試了該解決方案。
GoDaddy、SiteGround、BlueHost、Nexcess、LiquidWeb、Cloudways、Dreamhost。 世界上還有許多使用基於 cPanel(Apache) 的託管或基於 LiteSpeed 的託管的小型主機。
使用 Nginx 強制重定向到 HTTPS
如果您不確定,請跳過此步驟。 大多數人不需要此選項。
如果您使用 Nginx 在您自己的服務器上託管您的 WordPress 網站,您可以按照以下方法將您的網站重定向到 HTTPS:
- 使用終端或 SSH 客戶端登錄到您的服務器。
- 打開站點的 Nginx 配置文件。
- 將以下代碼添加到您站點的服務器塊中:
server { listen 80; server_name example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name example.com; ... }
- 將 example.com 替換為您自己的域名。
- 保存文件並退出。
- 重新啟動 Nginx 以使更改生效。
Nginx 配置文件中的代碼設置了兩個服務器塊——一個用於 HTTP 流量,一個用於 HTTPS 流量。
第一個服務器塊偵聽端口 80 (HTTP) 並將 301 重定向返回到您網站的 HTTPS 版本。 第二個服務器塊偵聽端口 443 (HTTPS) 並包含 SSL 證書的配置。
通過將此代碼添加到您的 Nginx 配置文件,您可以輕鬆地將所有流量重定向到您的站點以使用 HTTPS。
使用 Cloudflare 輕鬆重定向到 HTTPS
在下一節中,我們將探討如何通過 Cloudflare 重定向到 SSL。
就是這樣:
- 登錄您的 Cloudflare 帳戶
- 選擇您的網站
- 去加密
- 向下滾動到“始終使用 HTTP S”
- 將開關切換到“開”
就是這樣! Cloudflare 將處理其餘部分,確保您的所有訪問者都被重定向到您網站的安全 HTTPS 版本。
無需再擔心複雜的代碼或技術細節。 使用 Cloudflare,重定向到 SSL 從未如此簡單。
在 WP Engine 託管的 WordPress 主機上強制重定向到 HTTPS
如果您使用的是 WP Engine 託管的 WordPress 託管,那麼將您的網站重定向到 HTTPS 是一件輕而易舉的事! 這是您需要做的:
- 轉到 WP Engine 儀表板的 SSL 部分。
- 設置您的 SSL 證書並確保選中“保護所有 URL”選項。
- 確保您沒有使用任何強制 SSL 插件。
通過選擇“保護所有 URL ”選項,WP Engine 將通過安全的 HTTPS 連接自動處理所有 HTTP 頁面請求。
WP Engine 還提供了“添加重定向”功能,允許您為您的站點設置自定義重定向。 這使您可以靈活地將特定頁面或 URL 重定向到不同的位置。
要了解有關 WP Engine 的“添加重定向”功能的更多信息,請查看以下資源:
- https://wpengine.com/support/redirect/
使用 WP Engine,將您的站點重定向到 HTTPS 既快速又簡單!
在 Flywheel 主機上強制重定向到 HTTPS
如果您使用的是 Flywheel 託管 WordPress 主機,您可以輕鬆地將您的網站重定向到 HTTPS! 就是這樣:
- 前往 Flywheel 儀表板中該站點的“高級”選項卡。
- 找到“強制 HTTPS ”切換開關並將其打開。
- 就是這樣! 您網站的所有流量現在都將自動重定向到 HTTPS。
Flywheel 還提供了“管理重定向”功能,允許您為您的站點設置自定義重定向。 這使您可以靈活地將特定頁面或 URL 重定向到不同的位置。
要了解有關 Flywheel 的“管理重定向”功能的更多信息,請查看以下資源:
- https://getflywheel.com/wordpress-support/how-do-i-set-up-redirects/
- https://getflywheel.com/wordpress-support/flywheel-redirects/
使用 Flywheel,將您的網站重定向到 HTTPS 既快速又簡單!
在 Pantheon 上重定向到 HTTPS
如果您使用的是 Pantheon 託管 WordPress 主機,您可以輕鬆地將您的網站重定向到 HTTPS! 這是您需要做的:
- 轉到您站點的 pantheon.yml 文件。
- 在文件中啟用enforce_https選項。
通過在 pantheon.yml 文件中啟用 enforce_https 選項,Pantheon 將為您的站點設置 HSTS 標頭並強制執行 HTTPS 連接。
Pantheon 還提供了進一步定制的高級選項。 要了解更多信息,請查看以下資源:
- https://pantheon.io/docs/http-to-https
使用 Pantheon,將您的站點重定向到 HTTPS 是輕而易舉的事!
為什麼將 HTTP 重定向到 HTTPS?
將 HTTP 重定向到 HTTPS 很重要的原因有幾個:
- 提高安全性:如前所述,HTTPS 為服務器和客戶端之間傳輸的數據提供了額外的安全層。 這對於處理密碼、信用卡信息和個人數據等敏感信息的網站尤為重要。
- 更好的搜索引擎排名:Google 已確認 HTTPS 是其搜索算法中的排名信號。 這意味著與使用 HTTP 的網站相比,使用 HTTPS 的網站在搜索引擎結果中的排名可能更高。
- 改進的用戶體驗:當用戶訪問使用 HTTPS 的網站時,他們將在瀏覽器的地址欄中看到一個掛鎖圖標。 這種視覺提示讓他們知道該網站是安全的並且他們的數據受到保護。
配置後清單
在進行更改之前備份您的網站
在對您的網站進行任何更改之前,重要的是要進行備份以防出現任何問題。 擁有備份將確保您可以在出現任何問題或錯誤時快速恢復。
在此處查看最好的 WordPress 備份插件:
https://blogvault.net/5-best-wordpress-backup-plugins/
請記住,在進行任何重大更改之前備份您的網站始終是個好主意,尤其是在將您的網站重定向到 HTTPS 時。 通過備份,您可以保護您網站的數據,並確信您可以在出現任何問題時快速恢復。
更改 WordPress 和站點地址設置
- 登錄到您的 WordPress 儀表板並轉到Settings > General 。
- 轉到 WordPress 和網站地址。
- 將 URL 從 http:// 更改為 https://
- 保存並關閉窗口。
搜索替換數據庫中的所有 URL
在您高枕無憂之前,還有一步!
您可能錯過了幾個 HTTP URL 實例。
使用“Better Search Replace”插件快速將所有 HTTP URL 替換為 HTTPS URL。
但不要忘記再次檢查主題文件和 wp-config.php!
在此處獲取插件:https://wordpress.org/plugins/better-search-replace/
重定向到 HTTPS 後清除緩存
將您的站點重定向到 HTTPS 後,清除緩存以避免錯誤結果很重要。 原因如下:
- 您對站點進行了許多更改。
- 舊的 HTTP 鏈接可能仍被緩存。
- 緩存的頁面在測試時會給您不正確的結果。
為確保准確的結果,請在更改後清除緩存以將您的站點重定向到 HTTPS。 我們有一篇綜合文章解釋瞭如何使用所有主要插件和網絡主機清除緩存:
- https://www.malcare.com/blog/how-to-clear-wordpress-cache/
通過清除緩存,您可以確信您的站點已正確重定向到 HTTPS 並按預期運行!
更新您的站點地圖
將站點重定向到 HTTPS 後,更新站點地圖以反映更改很重要。 這是您需要做的:
- 檢查您的 SEO 插件(例如 Yoast)是否已自動更新站點地圖。
- 如果沒有,請登錄您的 WordPress 管理員。
- 導航到 SEO > 功能 > XML 站點地圖。
- 禁用站點地圖。
- 再次啟用它。
這將使用更新後的 HTTPS URL 重新生成站點地圖。
通過更新您的站點地圖,您可以確保搜索引擎能夠在重定向到 HTTPS 後正確地抓取和索引您的站點。
更新 Google Analytics 上的 URL
將您的網站重定向到 HTTPS 後,更新 Google Analytics 上的 URL 很重要。 這是您需要做的:
- 登錄到您的 Google Analytics(分析)帳戶。
- 轉到管理 > 屬性設置 > 默認 URL。
- 從下拉菜單中選擇 HTTPS。
- 更新您網站的 URL。
Google Analytics 將 HTTP 和 HTTPS 視為不同的網站,因此更新 URL 對確保准確跟踪和報告至關重要。 通過更新 Google Analytics 上的 URL,您可以對從網站流量中收到的數據和見解充滿信心。
將您的 HTTPS 站點提交到 Google Search Console
將您的網站重定向到 HTTPS 後,請務必將您的新 URL 提交到 Google Search Console,以避免出現任何 SEO 問題。 這是您需要做的:
- 登錄您的 Google Search Console 帳戶。
- 單擊“添加屬性”按鈕。
- 添加您網站的新 HTTPS 地址。
- 驗證您網站的所有權。
Google 將 HTTPS 和 HTTP 視為兩個不同的網站,因此將您的新 URL 提交到 Google Search Console 對於確保准確跟踪和報告您的網站在搜索結果中的表現至關重要。 通過驗證您網站的所有權,您可以確保 Google 擁有有關您網站的正確信息,並可以幫助您提高其知名度和排名。
強制 HTTPS 導致的問題排查
在您的 WordPress 網站上強制使用 HTTPS 時,您可能會遇到以下三個問題之一:
- 登錄和管理頁面上沒有 SSL
- 破損的掛鎖或顯示警告標誌的掛鎖(混合內容問題)
- 重定向循環
以下是修復它們的方法 –
1. 登錄和管理頁面上沒有 SSL
您的登錄頁面和管理區域是否顯示“不安全”警告?
當 SSL 證書配置不正確時會發生這種情況。
如果您在沒有SSL證書的情況下繼續登錄,登錄憑證一旦被黑客獲取,很容易被利用。 在這樣的災難發生之前,您需要在登錄和管理頁面上強制使用 HTTPS。
本文將幫助您做到這一點——WordPress 登錄不安全。
2. 破損的掛鎖或顯示警告標誌的掛鎖(混合內容問題)
您的 SSL 證書是否顯示警告標誌?
這是由於混合內容問題。 這意味著您擁有來自不使用 HTTPS 的 WordPress 插件和主題的鏈接、圖像、腳本和/或樣式表。
要確定您的網站是否包含混合內容,您需要做的就是在 SSL 檢查器(例如 Whynopadlock 和 Jitbit)上運行您的網站。 或者,您可以按照以下步驟進行手動檢查:
1. 打開您的網站。 右鍵單擊並選擇檢查。
2. 從下面彈出一個小窗口。 在那裡,轉到控制台,它會向您顯示混合內容警告,以及有關混合內容問題起源位置的詳細信息。
例如,問題可能是由 WordPress 插件或主題引起的。
這可能是由您網站上的圖片引起的。
修復不安全內容:兩步解決方案
解決在您的站點上強制使用 HTTPS 時“不安全內容”警告的常見問題。
第 1 步:將 HTTP URL 替換為 HTTPS。 使用 Better Search Replace 之類的插件來更新數據庫中的 URL。
第 2 步:設置Content-Security-Policy標頭。 您可以使用提供的代碼將所有 HTTP 資源即時升級到 HTTPS 並報告任何不安全的請求。
header("Content-Security-Policy: upgrade-insecure-requests;"); header("Content-Security-Policy-Report-Only: img-src https:; script-src https: 'unsafe-inline'; style-src https: 'unsafe-inline';");
通過執行這些步驟,您可以確保一個安全的、帶有掛鎖的站點,沒有“不安全內容”警告。
3.重定向循環
您的網站是否經常被重定向?
重定向循環的發生有多種原因。 那些是:
- 您的 WordPress 和網站地址有誤
- .htaccess 文件中的錯誤重定向指令
- 在不安裝 SSL 證書的情況下強制使用 HTTPS
- 重定向插件的配置問題
如果您仔細遵循我們的指南,那麼前三個問題就不太可能發生。 但是,我們建議您再次檢查您執行的步驟。 由於這是一個關鍵的變化,一個小錯誤可能會導致重定向循環。
都好? 那麼很可能您網站上的重定向插件才是真正的罪魁禍首。 嘗試禁用它。
重定向循環將阻止您訪問管理儀表板。 所以你需要通過 FTP 禁用插件。
→ 打開 Filezilla 並轉到public_html > wp-content > plugins 。
→ 選擇您網站上安裝的重定向插件。 右鍵單擊並選擇重命名它。 只需添加.deactivate即可停用插件。
這就是所有人。 這就是您在 WordPress 中將 HTTP 強制轉換為 HTTPS 的方式。 我們希望您發現該指南有價值且易於遵循。
接下來是什麼?
我們相信,如果您仔細遵循我們的指南,您就能夠在整個 WordPress 網站上強制使用 HTTPS。
但是,僅將您的網站移動到 HTTPs 並不能保護它免受黑客和機器人的攻擊。
您需要採取其他主動安全措施。
您可以為 WordPress 網站採取的最重要的安全措施是安裝可信賴且可靠的安全插件。
一個有效的安全插件將通過以下步驟保護您的網站:
- 使用防火牆和登錄保護功能阻止不良流量訪問您的站點。
- 每天對您的網站進行自動掃描。
- 在幾個小時內徹底清理您的網站。
- 幫助實施網站加固措施。