2018年7月,谷歌瀏覽器開始將所有非HTTPS網站標記為“不安全”,無論它們是否收集資料。從那時起,HTTPS變得比以往任何時候都更加重要!
在今天的文章中,我們將深入探討從HTTP到HTTPS的遷移,並分享實用技巧,以期使您的WordPress網站的過渡儘可能順利。對於WordPress網站所有者來說,如果您能積極主動,那總是很棒的。
由於新的網路協議、SEO優勢以及更準確的推薦資料,現在正是將您的WordPress網站遷移到HTTPS的最佳時機。在下面瞭解更多原因和方法。
什麼是HTTPS?
HTTPS(安全超文字傳輸協議)是一種允許您的瀏覽器或Web應用程式與網站安全連線的機制。HTTPS是幫助確保您的瀏覽安全的措施之一。
這包括登入您的銀行網站、獲取信用卡資訊,甚至登入您的 WordPress 網站的後端。WordPress網站上的HTTPS要求您擁有用於加密的SSL證書。這確保了任何資料都不會以純文字形式傳遞。
根據Builtwith的資料,截至2022年10月,前10,000個網站中有73.73%使用HTTPS。這比2018年2月的49.8%有所上升:
熱門網站的HTTPS使用情況
MozCast報告稱,截至2022年5月,超過98.9%的搜尋查詢是通過HTTPS進行的,高於2016年1月的26%。這表明許多網站正在從HTTP遷移到HTTPS。
甚至谷歌也在推動其產品和服務的100%加密標記。截至2022年5月,大約95%的Google流量是通過HTTPS傳輸,高於2013年12月的48%。
MozCast HTTPS查詢
根據Firefox遙測資料和Let’s Encrypt統計資料,超過78%的頁面載入現在是HTTPS。
為什麼要使用HTTPS?
WordPress網站所有者應該關心HTTPS並考慮現在而不是以後從HTTP遷移到HTTPS的原因有很多。
1. 安全
當然,HTTPS的最大原因是增加了安全性。您現在通過從HTTP遷移到HTTPS,通過加密的SSL/TLS連線為您的網站提供服務。這意味著資料和資訊不再以純文字形式傳遞。對於處理信用卡資訊的電子商務網站,這是必不可少的。技術上沒有法律要求,但您作為企業有責任保護您的客戶資料。
這也適用於您的WordPress登入頁面或部落格。如果您通過HTTP執行多作者WordPress網站,則每次有人登入時,該資訊都會以純文字形式傳遞給伺服器。HTTPS對於維護安全的網站和瀏覽器連線至關重要。這樣,您可以更好地防止黑客訪問您的網站。
2. 搜尋引擎優化
Google已經正式表示HTTPS是一個排名因素。雖然這只是一個很小的排名因素,但你們中的大多數人可能會利用在SERP中獲得的任何優勢來擊敗競爭對手。
由於谷歌推動大家將HTTP重定向到HTTPS,你可以打賭這個排名因素的權重在未來很可能會增加。Semrush的一項研究發現, Google上98%的表現最佳的精選片段內容使用HTTPS。
3. 信任和信譽
根據最近的研究,大多數網際網路使用者都擔心他們的資料如何在網上被截獲或濫用。
HTTPS可以通過建立我們所說的SSL信任來幫助您的業務。通過檢視URL旁邊的掛鎖圖示,客戶會更加安心,因為他們知道他們的資料更安全。
4. 推薦資料
這個原因適用於所有的營銷人員。如果您使用Google Analytics,您可能對推薦資料很熟悉。許多人沒有意識到HTTPS到HTTP推薦資料在Google Analytics中被阻止。那麼資料會發生什麼變化呢?其中大部分只是與“直接流量”部分混為一談。如果有人從HTTP轉到HTTPS,則仍會傳遞引薦來源網址。
這也很重要,因為如果您的引薦流量突然下降,但直接流量上升,則可能意味著您的較大引薦來源之一最近已遷移到HTTPS。反之亦然。檢視Moz關於直接流量的更深入指南。
5. Chrome警告
截至2018年,Chrome 68及更高版本已將所有非HTTPS網站標記為“不安全”,即使它們不收集資料:
Chrome上的連線不安全
2021年,對於不完整的URL,瀏覽器開始預設使用HTTPS。例如,如果使用者鍵入“domain.com”,Chrome將自動使用“https://domain.com”。如果HTTPS由於缺少SSL/TLS而失敗,它將恢復為HTTP。
Chrome擁有超過77%的瀏覽器市場份額,因此這將影響您的許多訪問者。您還可以在Google Analytics中的受眾群體>技術>瀏覽器與作業系統下檢視訪問者正在使用哪些瀏覽器:
在Google Analytics中檢查瀏覽器
谷歌向訪問者明確表示您的WordPress網站可能無法在安全連線上執行。以下是Google關於如何避免警告的一些提示。
Firefox也緊隨其後,在2017年釋出了Firefox 51,為收集密碼的非安全站點顯示了一個帶有紅線的灰色掛鎖。當然,如果您將整個站點遷移到HTTPS,那麼您不必擔心這一點:
您的連線不是私密連線
如果您尚未遷移到HTTPS,您可能還會開始從Google Search Console收到以下警告:
致: http://www.domain.com的所有者
以下URL包含將觸發新Chrome警告的密碼或信用卡詳細資訊的輸入欄位。檢視這些示例以檢視這些警告將出現在何處,您可以採取措施幫助保護使用者的資料。該列表並不詳盡。
http://www.domain.com
新警告是長期計劃的第一階段,將通過非加密HTTP協議提供的所有頁面標記為“不安全”。
6. 效能
最後但同樣重要的是,由於名為HTTP/2的協議,那些通過HTTPS執行經過適當優化的站點通常可以看到速度提高。
由於瀏覽器支援,HTTP/2需要HTTPS。效能提升有多種原因,例如HTTP/2能夠支援更好的多路複用、並行性、Huffman編碼的HPACK壓縮、ALPN擴充套件和伺服器推送。過去在HTTPS上執行的TLS開銷相當大,但現在要少得多。
TLS 1.3也釋出了,它可以進一步加快HTTPS連線!
同樣重要的是要注意,域分片和連線等Web效能優化可能會損害您的效能。這些現在已經過時,並且在大多數情況下不應再使用。
預設情況下,網路上的所有內容都應加密。– Jeff Atwood,Stack Overflow的聯合創始人
HTTP到HTTPS遷移指南
是時候進入有趣的部分了:將您的WordPress網站從HTTP遷移到HTTPS。讓我們首先回顧一些基本要求,以及一些需要注意的事項。
- 您將需要SSL證書。我們將在下面對此進行更詳細的介紹。
- 仔細檢查以確保您的WordPress主機和CDN提供商支援HTTP/2。
- 您需要留出大量時間將HTTP重定向到HTTPS。遷移不是5分鐘就能完成的事情。
- 仔細檢查以確保您使用的所有外部服務和指令碼都有可用的HTTPS版本。
- 重要的是要知道,除非您使用支援分享恢復的外掛,否則您將失去所有文章和頁面上的社交分享計數。這是因為您的分享計數基於檢視HTTP版本的API,並且您無法控制3rd方社交網路。
- 根據您網站的大小,Google可能需要一段時間才能重新抓取所有新的HTTPS頁面和文章。在此期間,您可能會看到流量或排名的變化。
- 不要忘記本地引用。
我們建議在開始之前關閉CDN整合並禁用任何快取外掛,因為這些會使事情複雜化。
1. 選擇SSL證書
如果您沒有SSL證書,您需要做的第一件事就是購買SSL證書。您可以選擇三種主要型別的證書:
- 域驗證:單個域或子域(電子郵件或DNS驗證),在幾分鐘內釋出。這些通常可以低至每年9美元購買。
- 業務/組織驗證:單個域或子域需要提供更高階別的安全/信任的業務驗證,在1-3天內釋出。
- 擴充套件驗證:單個域或子域需要提供更高階別的安全/信任的業務驗證,在2-7天內釋出。
Google建議使用2048位或更高的金鑰證書。您可以從Comodo、DigiCert、GeoTrust、Thawte、Rapid SSL或Trustwave購買證書 。還有更便宜的替代品,例如GoGetSSL、Namecheap和GoDaddy。
Let’s Encrypt還提供了一種獲取免費SSL證書的方法。請諮詢您的WordPress主機和CDN提供商,看看他們是否有Let’s Encrypt整合。您還可以按照Certbot指南瞭解如何手動安裝它們。Let’s Encrypt證書每90天過期一次,因此必須有一個自動化系統。
2. 安裝自定義SSL證書
如果您購買了SSL證書,則需要在您的WordPress網站上安裝SSL證書。在通過供應商設定的證書時,系統會要求您提供伺服器型別。如果您的網路伺服器是Nginx。如果該選項不可用,那麼“其他 ”也可以使用。
SSL提供者將需要一個CSR程式碼來建立/簽署證書檔案。如需生成CSR程式碼和RSA金鑰,請填寫以下表格:https://www.ssl.com/online-csr-and-key-generator/ 。
我們建議填寫每個欄位,但至少應填寫以下內容(如下面的螢幕截圖所示):
- 通用名稱(域名)
- 電子郵件地址
- 組織
- 城市/地區
- 州/縣/地區
- 國家
注意:對於通用名稱欄位,如果您正在生成萬用字元證書,則需要輸入您的域名,例如 *.domain.com。
生成CSR表格
該表單將生成您的私鑰檔案和CSR。確保儲存它們,因為沒有它們,證書將無法使用:
CSR和私鑰
接下來,使用您的SSL提供商上傳您的CSR以重新生成您的SSL證書 (.cert)。
然後,您需要去您的WordPress主機並給他們證書和私鑰。如果您是寶塔使用者,您可以登入儀表板-網站,然後找到您需要配置SSL的網站,然後點選該網站對應的SSL證書操作項。
選擇其他證書,然後,您就可以在那裡新增您的私鑰和證書:
新增自定義SSL
完成後,選擇儲存退出即可。
3. 驗證您的SSL證書
現在您已經安裝了SSL證書,您需要對其進行驗證以確保一切設定正確。一種快速簡便的方法是使用Qualys SSL Labs提供的免費SSL檢查工具。如果一切都正確,你應該在測試中獲得A字母等級,如下圖所示:
檢查SSL證書等級
檢視關於如何執行SSL檢查的更深入的教學。
4. 將HTTP重定向到HTTPS
驗證SSL證書後,接下來必須將所有HTTP流量永久重定向到HTTPS。在WordPress中將HTTP重定向到HTTPS時有幾個選項。
這使您可以在伺服器級別單擊幾下將HTTP流量自動重定向到HTTPS。你也可以在你的網路伺服器的配置中手動完成,或者使用免費的WordPress外掛。
注意:我們的示例都包含一個301重定向指令,這是在SEO方面實現它的正確方法。使用不同型別的重定向可能會損害您的排名。同樣重要的是要知道301重定向可能不會通過100%的連結權重,即使Google可能會說他們會這樣做。檢視Cyrus在Moz的這篇關於HTTPS遷移和301重定向的文章。
選項 1:在Nginx中將HTTP重定向到HTTPS
如果您的Web伺服器正在執行Nginx,您可以通過將以下程式碼新增到Nginx配置檔案來輕鬆地將HTTP重定向到HTTPS:
server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; }
這是重定向在Nginx上執行的WordPress的推薦方法。
在Apache中將HTTP重定向到HTTPS
如果您的Web伺服器正在執行Apache,您可以通過將以下程式碼新增到您的.htaccess檔案來將所有HTTP流量重定向到HTTPS:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
這是重定向在Apache上執行的WordPress的推薦方法。
選項 2:使用Really Simple SSL外掛將HTTP重定向到HTTPS
您必須從HTTP重定向到HTTPS的第三個選項是使用免費的Simple SSL外掛:
Really Simple SSL
我們不建議將此方法作為永久解決方案,因為第三方外掛可能會引入另一層問題和相容性問題。這是一個很好的臨時解決方案,但您應該更新硬編碼的HTTP連結,我們將在下一步中向您展示。
實施HSTS標頭(可選)
HSTS(HTTP嚴格傳輸安全)是您新增到Web伺服器的安全標頭,當站點通過HTTPS執行時,它會強制瀏覽器使用安全連線。這有助於防止中間人攻擊 (MitM) 和 cookie 劫持。您可以將上述301重定向與HSTS標頭一起使用。檢視我們關於如何新增HSTS的深入文章。
5.檢查重定向過多
新增從HTTP到HTTPS的重定向後,您應該仔細檢查以確保沒有太多重定向。這個問題很常見,會影響您的WordPress網站的速度。您可以使用Patrick Sexton的重定向對映器工具快速檢視您的網站上有多少重定向。
下面您將看到一個設定不正確的重定向示例。這在使用重定向對映器時很容易發現:
重定向設定不正確
您可以看到在www和非www版本上都發生了重複的HTTPS重定向。
以下是正確設定重定向的示例:
重定向設定正確
如您所見,只有一個重定向。您可以檢視我們關於WordPress重定向和最佳實踐的深入文章,以獲得更快的效能。
6. 更新硬編碼的HTTP連結
現在您有了重定向,是時候修復所有那些硬編碼的HTTP URL。通常,不建議對URL進行硬編碼。但是,隨著時間的推移,您很可能會(我們都這樣做)。以下是將您的HTTP連結更新為HTTPS的一些選項。
選項 1:Better Search Replace外掛
您可以使用一個名為Better Search Replace的免費外掛,由WordPress團隊在Delicious Brains提供:
Better Search Replace
該外掛可以免費使用。在您的站點上安裝並啟用後,您可以導航到工具 >Better Search Replace以開始使用它。
選項 2:interconnect/it Search Replace DB PHP Script
執行WordPress搜尋和替換的第二種選擇是使用來自互連/它的免費PHP指令碼,稱為Search Replace DB。對於任何HTTP到HTTPS的遷移,這是我們最喜歡的工具之一。
重要的!如果您不知道自己在做什麼,使用此指令碼可能會破壞您的WordPress網站。如果您對此感到不自在,請先諮詢開發人員或您的網路託管服務商。
要使用該指令碼,只需下載zip檔案,提取名為search-replace-db-master的資料夾,然後將其重新命名為其他名稱。在我們的示例中,我們將其重新命名為update-db-1551。然後,通過FTP、SFTP或SCP將其上傳到Web伺服器的公共目錄。這通常與包含/wp-content資料夾的目錄相同。
然後在瀏覽器中導航到您的私密資料夾,例如https://domain.com/update-db-1551:
互連搜尋和替換指令碼
該指令碼將自動嘗試查詢並填充資料庫欄位,但您必須檢查詳細資訊是否正確以及它是否適用於您希望執行搜尋/替換操作的資料庫。您可以先單擊Dry Run以檢視它將更新/替換的內容。然後,當您準備好時,單擊Live Run, 它將執行資料庫更新和 WordPress 搜尋和替換。
HTTPS 遷移的一個示例是將“http://yourdomain.com”替換為“https://yourdomain.com”。
搜尋替換選項
由於安全原因,完成後刪除此指令碼也很重要。您可以單擊“Delete me”按鈕。如果您不這樣做,它可能會使您的網站容易受到攻擊。
還建議您仔細檢查您的Web伺服器並確認資料夾/指令碼已被完全刪除。注意:此指令碼將更新您資料庫中的所有條目,包括您的WordPress站點URL、頁面和文章上的硬編碼連結等。
如果您在wp-config.php檔案中硬編碼您的主頁、站點或WP內容區域,請確保將它們更新為HTTPS:
define('WP_HOME', 'https://yourdomain.com'); define('WP_SITEURL', 'https://yourdomain.com'); define( 'WP_CONTENT_URL', 'https://yourdomain.com/wp-content' );
如果您有CDN並使用CNAME,例如cdn.domain.com,您可能還想再次執行上述指令碼以查詢任何硬編碼的URL http://cdn.domain.com並將它們替換為https://cdn.domain.com。
選項 3:使用WP-CLI搜尋和替換
您還可以使用WP-CLI為那些不喜歡離開命令列的精通技術的人和開發人員更新您的連結。我們建議檢視此高階搜尋並替換WP-CLI指南。
7. 更新自定義指令碼和外部庫
現在您已經更新了舊的硬編碼URL,您將需要檢查您可能已新增到頁首、頁尾等的任何自定義指令碼或外部庫。這可能包括Google jQuery、Font Awesome、CrazyEgg、AdRoll、Facebook , Hotjar等
對於Google jQuery,您只需將其更新為指向HTTPS版本:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
每個提供商和服務都應該有一個可以切換到的HTTPS版本。
8. 將CDN從HTTP遷移到HTTPS
接下來,如果您使用的是CDN,您還需要將其遷移到HTTPS。否則,您將在WordPress網站上遇到混合內容警告問題。
Cloudflare CDN替代品
如果您正在尋找Cloudflare CDN替代品,有很多選擇。最受歡迎的一種是KeyCDN。
這種高效能CDN通過將您的網站內容快取在全球伺服器上,加快了向訪問者交付網站內容的速度。它還提供針對DDoS攻擊和其他威脅的安全性和保護。
另外兩個選項是Amazon CloudFront, 它是Amazon Web Services (AWS) 的一部分,以及Sucuri,它有助於優化網站效能和速度。它具有廣泛的安全功能。
以下是一些有關為不同的第三方CDN提供商安裝和設定SSL的有用連結和教學。
- 在KeyCDN上設定SSL
- 在Cloudflare上設定SSL (我們建議使用Full SSL)
- 在MaxCDN上設定SSL
- 在Amazon CloudFront上設定SSL
注意:有些甚至整合了Let’s Encrypt,這意味著SSL是免費的。如果您遇到問題,您可以隨時諮詢您的CDN提供商,以幫助您完成HTTP到HTTPS的遷移。
更新CDN後,您需要確保在用於整合的任何WordPress外掛中更新它。在下面的示例中,我們使用的是CDN Enabler:
將CDN更改為HTTPS
我們將通過HTTP的URL翻轉為HTTPS,然後在底部啟用CDN HTTPS選項。完成後,選擇儲存更改 按鈕。
9. 檢查您的網站是否有混合內容警告
接下來,您將需要檢查您的WordPress網站以確保您沒有收到混合內容警告。載入HTTPS和HTTP指令碼或內容時會出現這些警告。你不能同時載入兩者。
當您遷移到HTTPS時,一切都需要通過HTTPS執行。Wired記錄了他們從HTTP到HTTPS的過渡以及他們遇到的一個障礙:
遷移到HTTPS的最大挑戰之一是準備我們所有的內容以通過安全連線交付。如果頁面通過HTTPS載入,則所有其他資產(如影象和Javascript檔案)也必須通過HTTPS載入。我們看到大量關於這些“混合內容”問題的報告,或者在安全的HTTPS頁面上下文中載入不安全的HTTP資產的事件。為了正確地進行部署,我們需要確保混合內容問題更少——確保我們儘可能安全地交付WIRED.com的內容。
下面是一些示例,說明如果您不修復這些警告,瀏覽器會發生什麼。
Chrome混合內容警告示例
下面是當混合內容警告觸發時Chrome中發生的情況的示例:
Chrome混合內容警告
Firefox混合內容警告示例
以下是Firefox在混合內容警告觸發時發生的情況的示例:
Firefox混合內容警告
Internet Explorer混合內容警告示例
IE混合內容警告
下面是一個示例,說明當混合內容警告觸發時Internet Explorer中發生的情況:
如您所見,IE可能是最糟糕的一種,因為它會破壞頁面的呈現,直到單擊彈出視窗為止。
JitBit有一個很棒的免費小工具,叫做SSL Check,您可以執行它來快速掃描您的網站或URL以查詢不安全的內容。該工具將抓取您的HTTPS WordPress站點並搜尋將在瀏覽器中觸發警告訊息的非安全影象、指令碼和CSS檔案。每個網站抓取的頁面數量限制為200個。
您還可以使用Chrome DevTools通過檢視網路請求面板來快速檢查任何頁面。安全面板實際上也非常有用。您可以立即看到任何不安全的來源,然後單擊請求以檢視它們的來源:
在Chrome Devtools中檢查HTTPS
還有一個名為HTTPS Checker的桌面軟體 ,您可以安裝它來掃描您的站點:
HTTPS Checker軟體
經過重大更改後,它可以幫助您檢查“不安全”的警告和內容。它適用於Windows、Mac和Ubuntu。免費計劃允許您檢查多達100頁。
10. 更新谷歌搜尋控制檯配置檔案
現在您的WordPress網站已在HTTPS上啟動並執行(希望沒有警告),是時候深入研究營銷方面了。其中一些非常重要,所以不要跳過它們!
您首先要為HTTPS版本建立一個新的Google Search Console配置檔案。
在GSC中新增HTTPS屬性
建立新的HTTPS版本後,您需要重新提交站點地圖檔案。新的HTTPS版本:
HTTPS站點地圖檔案
如果您有來自不良反向連結的拒絕檔案或受到處罰,您將需要重新提交。如果您現在不這樣做,您可能會永久損害您的網站。
轉到Google的Disavow Tool並單擊您的原始HTTP配置檔案。下載拒絕檔案(如果存在)。然後返回工具並在HTTPS版本下提交您的拒絕檔案。
注意:完成所有這些操作後,您可以安全地刪除Google Search Console中的HTTP配置檔案。
11. 必應網站管理員工具
Bing Webmaster Tools與Google Search Console略有不同:
必應網站管理員工具HTTPS
您無需建立新的HTTPS配置檔案。相反,您可以只提交新建立的HTTPS站點地圖。
12.谷歌分析
接下來,您需要更新您的Google Analytics(分析)媒體資源和資料檢視。這不會影響您的分析資料:它只會在將您的網站連結到Google Search Console等時有所幫助。
要更新您的屬性,請單擊您的域屬性設定,然後在預設URL下將其更改為HTTPS://版本:
將Google Analytics(分析)媒體資源更新為HTTPS
要更新您的檢視,請單擊您的域檢視設定。在網站的URL下,將其更改為HTTPS://版本:
將Google Analytics(分析)檢視更新為HTTPS
將Google Analytics連結到GSC
您還需要將您在第8步中建立的新建立的Google Search Console配置檔案與您的Google Analytics帳戶重新關聯。為此,請點選您域的屬性設定,然後選擇Adjust Search Console:
然後,您可以連結新的HTTPS GSC配置檔案。將這些連結在一起可以使搜尋查詢資料流入您的Google Analytics(分析)帳戶。
13. YouTube頻道
如果您有YouTube頻道,您需要在Google Search Console中將您的網站與新的HTTPS版本重新關聯。否則,您將收到有關HTTPS連結無效的註釋和其他訊息的錯誤。
在您的YouTube儀表板中,單擊您的頻道,然後進入Advanced。接下來,將您的域更改為新的HTTPS版本,然後單擊Add。您可能必須刪除舊的,然後重新新增它。然後,您必須通過進入Google Search Console、導航到該站點的訊息並選擇Approve來批准它。
14. 雜項
當涉及到從HTTP到HTTPS的遷移時,就是這樣!這裡還有一些您還想更新的雜項。其中一些可能適用也可能不適用,具體取決於您使用的內容。
- 確保檢查您的robots.txt是否可訪問且正常工作。
- 確保所有規範標籤都指向HTTPS版本(如果您按照上面的第3步操作,這應該已經完成)。
- 如果您執行諸如Disqus之類的評論外掛,則必須將您的Disqus評論從HTTP遷移到HTTPS。
- 在您的電子郵件營銷軟體中更新您的URL
- 更新PPC廣告網址:AdWords、Bing Ads、AdRoll、Facebook Ads等。
- 更新社交媒體連結(Facebook、Twitter、Pinterest、Google+等)
小結
HTTPS不僅僅是Google排名因素。這是一個重要的安全協議,有助於保護您的網站和訪問者免受攻擊。
評論留言