現在很多的網站都在使用https,但是不少的用戶在進行更改的時候都會出現各種問題,還有的就是自己操作不當造成更改不成功。因此就讓小編給大家講講怎么正確的更改,一起來看看吧。
網站從http轉換成https方法介紹
購買SSL證書
這個是必須的,現在價格并不貴。到David Yin帖子看一下,便宜的3年只是幾十塊錢。安裝SSL證書的技術問題,無法在這討論了,不明白的問技術人員吧。
備份、備份
這個也是必須的。對SSL安裝、服務器配置不熟悉的站長來說,轉換過程不一定是那么順利的。
新版本代碼改動
SSL證書安裝后,https版本就可以訪問了。原來網站上的所有URL都需要改到https版本,包括鏈接、圖片、JS等,所以可能需要修改文章數據庫、模板、插件等。
本博客使用WordPress,要在后臺把博客地址改為https版本:
這樣,絕大部分導航中的鏈接就由WP系統自動改為https版本了。但很可能還有一些導航性質的鏈接是硬編碼在模板中的,比如這個博客帖子下面的版權聲明,那是人工寫在模板里的,別忘了改。
帖子正文中人工加的內部鏈接也需要自己改。如果使用了phpMyadmin,用下面指令跑一下數據庫就行了:
update wp_posts set post_content = replace(
post_content, ‘http://www.seozac.com/’,
‘https://www.seozac.com/’);
帖子里的圖片路徑也就同時改了。
如果沒有使用數據庫管理工具,寫個簡單php程序運行一下也可以。
因為只是用指令在數據庫執行了一下,沒有,也沒辦法人工檢查所有頁面,可能有漏掉的鏈接、圖片之類的,讀者要是發現了,麻煩告訴我一下。
這里我還遇到了些沒解決的問題。新浪微博組件和百度分享按鈕組件貌似都不支持https,原理上應該可以把JS下載下來放到自己服務器上,但暫時沒時間弄這個,先拿掉了。
檢查新版本頁面源代碼
訪問一下https版本頁面,包括首頁、欄目頁、內頁、sitemap,查一下源代碼,看看還有沒有http地址的存在,不僅頁面可見部分,還得看看head部分,JS等,比如head里的canonical標簽是否改到https版本了?程序生成的sitemap里的URL是否改為https版本了?
全站301轉向
全站做http到https的301轉向。LAMP服務器為例,在.htaccess文件中加:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.seozac.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^seozac.com [NC]
RewriteRule ^(.*)$ https://www.seozac.com/$1 [L,R=301]
這個代碼只是舉例,也是我的博客用的實際代碼,還有其他寫法也可以,只要實現了301就行。
訪問原http版本頁面,檢查301是否生效。
百度站長平臺和Google Search Console
搜索引擎抓取301轉向后,應該可以自行判斷網站已經從http轉到https了。另一個通知搜索引擎的方法是通過站長平臺。
在Google Search Console中,把https網站加入并驗證,不需要使用Change of Address功能??梢栽趆ttp及https版本的賬號下,用Fetch as Googlebot功能看看兩種版本的URL是否返回正確頭信息和頁面源代碼。
百度站長平臺好像不支持兩個版本都加入站長平臺。不過在原來http賬號下,管理站點屬性部分有這樣一個選項:
點這句話右面的設置按鈕,出來一個對話框,問是否確認支持https協議,點“是”后變成這樣:
希望這樣百度就知道應該把http和https兩個版本動作一個網站處理。
持續觀察抓取、收錄、排名、流量
這是接下來兩三個月要做的事了,以后有進展再來報告。
目前可以報告的是,原始日志顯示,百度及Google蜘蛛都抓取正常,已經抓取了301及轉向后的頁面。我是26號凌晨4-6點安裝SSL證書、加301轉向的,26號中午Google已經索引了幾十個https頁面(然而,沒有首頁,可能對待首頁比較謹慎):
并且一些https頁面(并不是所有已經索引了的https頁面)已經進入排名,和原來的http版本位置基本是一樣的。
百度到目前為止,還沒有索引https頁面。
盡量改正外部鏈接
可能的話,把外部鏈接改到新的https地址。