NEWS

分享创造价值   合作实现共赢

怎样把网站从http转换成https

网站启用https已是大势所趋。比如将http://www.znzncn.com改到https://www.znzncn.com

https加密的利弊

首先是安全,减少被劫持、篡改的机会。

改为https对SEO按说应该有好处,不过实际情况如何还有待验证。Google方面早就表明https是排名因素之一,虽然只是个很小因素。百度以前曾经提到过,百度不会主动抓取https页面,但2015年百度站长平台发布消息,百度对https页面优先收录、优先排名:从相关性的角度,百度搜索引擎认为权值相同的站点,采用https协议的页面更加安全,排名上会优先对待。此次技术升级之后,百度搜索将同一个域名的http版和https版作为一个站点来处理,优先收录https页面;


主要是速度上的,由于证书验证、多次握手、CPU消耗等原因,https页面速度会被拖慢一点。但https无疑是未来趋势。

从http改到https后的一段时间,搜索引擎需要重新抓取、判断、计算,收录,排名和流量都可能有起伏。说是起伏,恐怕主要是下降。虽然从http版本全站做了301转向到https版本,我们都知道,百度对301转向处理很慢、很保守,需要持续观察什么时候能完成正确判断并传递权重。Google也表明过,301转向不能完全传递权重,是有损耗的。

另一个可能造成麻烦的是,网站做过多次URL路径变化和301转向,现在再多加一次301转向,多层转向有可能造成搜索引擎不愿意跟踪,不能完全传递权重。所以,可能会丢失一部分无法挽回的外链效果。

 

下面做转换的过程。


购买SSL证书

这个是必须的,现在价格并不贵。到David Yin帖子看一下,便宜的3年只是几十块钱。安装SSL证书的技术问题,无法在这讨论了,不明白的问技术人员吧。

顺便广告一下,如果用我们的服务器,免费提供SSL证书。


备份、备份

这个也是必须的。对SSL安装、服务器配置不熟悉的站长来说,转换过程不一定是那么顺利的。


新版本代码改动

SSL证书安装后,https版本就可以访问了。原来网站上的所有URL都需要改到https版本,包括链接、图片、JS等,所以可能需要修改文章数据库、模板、插件等。

如果没有使用数据库管理工具,写个简单php程序运行一下也可以。

因为只是用指令在数据库执行了一下,没有,也没办法人工检查所有页面,可能有漏掉的链接、图片之类的,读者要是发现了,麻烦告诉我一下。

这里我还遇到了些没解决的问题。新浪微博组件和百度分享按钮组件貌似都不支持https,原理上应该可以把JS下载下来放到自己服务器上,但暂时没时间弄这个,先拿掉了。


检查新版本页面源代码

访问一下https版本页面,包括首页、栏目页、内页、sitemap,查一下源代码,看看还有没有http地址的存在,不仅页面可见部分,还得看看head部分,JS等,比如head里的canonical标签是否改到https版本了?程序生成的sitemap里的URL是否改为https版本了?


全站301转向

全站做http到https的301转向。访问原http版本页面,检查301是否生效。


百度站长平台和Google Search Console

搜索引擎抓取301转向后,应该可以自行判断网站已经从http转到https了。另一个通知搜索引擎的方法是通过站长平台。

在Google Search Console中,把https网站加入并验证,不需要使用Change of Address功能。可以在http及https版本的账号下,用Fetch as Googlebot功能看看两种版本的URL是否返回正确头信息和页面源代码。

百度站长平台好像不支持两个版本都加入站长平台。不过在原来http账号下,管理站点属性部分有这样一个选项:

百度站长平台https设置

点这句话右面的设置按钮,出来一个对话框,问是否确认支持https协议,点“是”后变成这样:

百度站长平台https协议

相关文章