近两年的情况表明,网站启用https已是大势所趋。但由于懒,一直没有动作。在David Yin的激励
下,终于在人际稀少的春节前夕把
居易网转换成https了。

使用https加密目前看有利有弊。利,首先是安全,减少被劫持、篡改的机会。弊,主要是速度上的,由于证书验证、多次握手、CPU消耗等原因,https页面速度会被拖慢一点点。但对大部分网站来说,与复杂的脚本、大尺寸图片等相比,拖慢这一点点基本可以忽略。

改为https对SEO按说应该有好处,不过实际情况如何还有待验证。Google方面早就表明https是排名因素之一,虽然只是个很小因素。百度很久以前对https支持不好,甚至曾经提到过,百度不会主动抓取https页面,但2015年百度站长平台发布消息
,百度支持https无问题,而且对https页面优先收录、优先排名:

从相关性的角度,百度搜索引擎认为权值相同的站点,采用https协议的页面更加安全,排名上会优先对待。

此次技术升级之后,百度搜索将同一个域名的http版和https版作为一个站点来处理,优先收录https页面;

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

就SEO每天一贴来说,另一个可能造成麻烦的是,这个网站以前做过多次URL路径变化和301转向
,还
换过域名,现在再多加一次301转向,多层转向有可能造成搜索引擎不愿意跟踪,不能完全传递权重。本博客外链增加最多的时候还是刚刚开博的头两年,那时候的链接都是指向最早的URL的,到现在的https新URL,经过了3-4次转向,这恐怕是搜索引擎会跟踪的转向数的上限了。所以,可能会丢失一部分无法挽回的外链效果。

接下来,本博客的主要关键词排名可能会下降甚至消失一段时间,能不能恢复也是未知之数。但长痛不如短痛,既然是趋势,无论如何,也得跟进。

简单说一下把网站从http转换到https的过程,也许对读者有借鉴意义。下面只是我做转换的过程,并不是最优方法,按说应该先在单独的服务器上测试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功能。可以在http及https版本的账号下,用Fetch as Googlebot功能看看两种版本的URL是否返回正确头信息和页面源代码。

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

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

希望这样百度就知道应该把http和https两个版本动作一个网站处理。

持续观察抓取、收录、排名、流量

这是接下来两三个月要做的事了,以后有进展再来报告。

目前可以报告的是,
原始日志显示,百度及Google蜘蛛都抓取正常,已经抓取了301及转向后的页面。我是26号凌晨4-6点安装SSL证书、加301转向的,26号中午Google已经索引了几十个https页面(然而,没有首页,可能对待首页比较谨慎):

并且一些https页面(并不是所有已经索引了的https页面)已经进入排名,和原来的http版本位置基本是一样的。

百度到写本帖日期为止,还没有索引https页面。

怎样把网站从http转换成https相关推荐

  1. http网站转换成https网站

    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题 一:什么是https SSL(Security   Socket   ...

  2. 如何将HTTP站点转换成HTTPS、及后续问题

    文章来源:http://www.chinaz.com/web/2015/0325/393194.shtml https及https的本地测试环境搭建.asp.net结合https的代码实现http网站 ...

  3. 如何将域名http转换成https?

    如何将域名http转换成https? 转载: https://cloud.tencent.com/developer/article/1481387 Tomcat SSL证书安装指南 主要看配置ser ...

  4. 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

    HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...

  5. 用阿里云的免费SSL 证书让网站从HTTP换成HTTPS

    参考链接:https://ninghao.net/blog/4449 简介:HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能被再途中被截获,破解传递的展示内容,所以使用不加密的H ...

  6. apache http server 停止工作_(二)http协议的网站装ssl升级成https

    最终目标:微信小程序要想上线 必须内部所有域名都是https,比如网络图片,比如后端接口,比如其他链接. 问:既然https://minihome.top/能直接访问了,那我用eggjs(node)写 ...

  7. 网址由http转换成https

    2019独角兽企业重金招聘Python工程师标准>>> 参考 public function http2https($url){if(preg_match("/^(http ...

  8. 完整将pdf文件转换成ppt

    为什么PDF转换成PPT格式的文字会变成乱码?不少用户办公处理文件时常常遇到这类问题,原因在于所选择的普通PDF转换成PPT转换器程序本身的不足,无法深度识别文件内容,最终造成文件的损坏. 专业的PD ...

  9. 如何使用Python语言将测量数据曲线动起来? matplotlib转换成 GIF文件

    简 介: 本文就如何使用的Python中的Matplotlib绘制的图运动起来进行讨论.实际上是生成多个图片,将它们合成一个动图.编写了PlotGIF函数,将matplotlib绘制的图片存储,然后生 ...

最新文章

  1. tkinter实现进度条
  2. 博士生在没有导师指导的情况下,该如何自己选题发 CVPR ?
  3. 点云处理关键算法剖析及实现(涉及滤波、分割、配准、识别、重建)
  4. Apple-Watch开发2 APPIcon设置
  5. 日历记事本java代码_急需日历记事本JAVA源代码
  6. 第十三章 对文本进行排序、单一和重复操作:sort命令、uniq命令
  7. mysql表设计 列命名_MYSQL数据库字段命名及设计规范
  8. 【收藏】HTML颜色参考
  9. java swing 飞机大战游戏 github 免费 开源 公开 源码
  10. 红帽Linux 7系统修改root密码
  11. CMake基础教程(32)文件搜索指令FILE
  12. nginx参数keepalive_timeout
  13. Excel-冻结窗口和筛选
  14. 建议收藏!高企申报全流程梳理:带你了解安徽省及16市高企申报的内容及要点
  15. linux-网络安全防火墙
  16. longhorn安装与使用
  17. Windows 微博图床工具(支持多种图床)下载和picgo VSCode插件版的详细介绍
  18. slqdbx mysql_sqldbx下载 v4.3 附sqldbx使用教程
  19. 什么是优化问题 Optimization Problem
  20. 解释X_train,Y_train,X_test,Y_test分别表示什么

热门文章

  1. MTK65XX平台充电调试总结
  2. 5类6类7类网线对比_超五类网线和六类、七类网线的区别是什么?
  3. 2022.11.6 第7次周报
  4. 第二讲:物联网开关模块的温湿度传感器和光照传感器的接入
  5. HR面试问题回答技巧综合大全
  6. 国产化替代的必要性,深有感触
  7. R统计软件真有意思哈,以后我怕要用得着,先自学
  8. VsCode系列(一):下载安装及汉化
  9. php7 断言,PHP 断言(assert) 详解
  10. labview 教室灯光控制系统 可以实现图中的各项要求