前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站改版/域名更换全步骤

网站改版/域名更换全步骤

原创
作者头像
ZONGLYN
修改2021-03-17 14:15:01
5.7K0
修改2021-03-17 14:15:01
举报
文章被收录于专栏:程序萌部落程序萌部落

更换域名在建站初期是经常发生的事情,无非就是DNS修改下解析,替换下内部代码,但对于运营过一段时间的、搜索引擎收录良好的“成熟”站点来说,修改域名,对网站流量和引擎收录简直就是灭顶之灾。正值最近本站刚更换了域名,就此来记录下作为一个网站,更换域名所需要考虑和修改的内容。

更换DNS绑定域名

这一步不再赘述,无非就是解绑旧域名,换绑新域名。

301重定向(重要!)

此步骤是重中之重!对搜索引擎来说,有专门的网站改版提交入口,目的是主动通知搜索引擎你的原站链接变更,从而加快新域名链接的收录,但完成网站改版的验证,(百度,谷歌)都需要你将旧域名的链接通过301重定向来跳转到新链接。需要注意的是:

  • 强烈建议网站改版的链接按照规则来更新。最理想的规则是 a.com/1.html => b.com/1.html,即网站内容不变,仅仅是更换域名而已。
  • 百度站长平台支持你自定义链接替换规则。
如何完成301重定向?
  • html或js跳转X。对于绝大部分使用托管服务搭建站点的用户来说,通过一个单独的page进行跳转是最佳方案了。实现方法非常多,可以利用404.html页面,借助JavaScript进行自定义跳转,但是!!这样的跳转并不是带HTTP状态的301重定向。遗憾的是,对于Github和Coding,他们并不支持搜索引擎所需要的301重定向。

物理机/docker服务。这是最正统的实现方法,比如使用物理主机,通过Nginx配置即可完成重定向工作。但我没有云服务器我就没机会了吗?非也!HeroKu在等你!HeroKu也是一个站点托管平台,但突出点在于托管的实体对象,是docker对象,也就是说,理论上Heroku的托管应用就可以实现301重定向,确实,他们可以!

在Ubuntu上使用,只需要先安装heroku,再将重定向项目克隆并上传到你的heroku应用中,最后配置所谓的“重定向路径”。具体步骤如下:

(其他平台安装参见:https://devcenter.heroku.com/articles/heroku-cli

代码语言:txt
复制
$ sudo snap install --classic heroku
$ heroku login
$ git clone https://github.com/joeyAghion/rerouter.git 
$ cd rerouter
$ git init
$ heroku git:remote -a redirectold //heroku项目名称

$ git add . //克隆后要修改一处地方!!
$ git commit -am "make it better"
$ git push heroku master

$ heroku config:set REDIRECTS="{'www.cz5h.com'=>'www.cxmoe.com'}"
$ heroku domains:add cz5h.com

注意:克隆之后的源代码需要修改一下,把跳转链接改为 https

代码语言:txt
复制
require 'rack/rewrite'
# Expects ENV['REDIRECTS'] to be a ruby hash of source hostnames to destination hostnames. E.g.:
#   "{'old.domain.com' => 'new.domain.com'}"
REDIRECTS = eval(ENV['REDIRECTS'] || '') || {}
use Rack::Rewrite do
  REDIRECTS.each do |from, to|
    r301 %r{.*}, "https://#{to}$&", if: -> (env) { env['SERVER_NAME'] == from }
  end
end
# Fall back to default app (empty).
run -> (env) { [200, {}, []] }

完成之后,即可在Heroku网站上看到修改的内容,尤其是Redirects配置。

之后,为了匹配缺省域名,我们需要两个域名绑定,分别是“a.com”和“www.a.com”。

除此之外,为了完全对应新站链接,此处的heroku所使用的协议,应该跟我的站点一致也是“https://”,为了开启https,万恶的Heroku需要你在网站绑定信用卡,之后才可以顺利开启https。

还有,我们的301重定向需要全天可用,但heroku仅对付费者提供此项服务,因此最后选择了最便宜的类型,无需维护301太长时间,一两个月足以。

一切就绪后,下面所示的SSL证书会自动添加。

大功告成之后,可以去站长工具查询Http状态,当返回状态码和HEAD信息正确时,那就是301重定向已经搞定。

<< 更多精彩尽在『程序萌部落』>>

<< https://www.cxmoe.com >>

网站统计代码重置

汇总一下,主要有:

  • 谷歌Analytics
  • 百度统计
  • 360站长
  • cnzz

网站地图重新提交

我在以下平台重新提交了XML文件,

  • baidu统计 (+robot.txt)
  • 360站长
  • 谷歌console

主动通知网站改版

最后的步骤:去百度站长反映你要换域名了;去 Google Console 来提交网站改版。

下图显示谷歌的配置正确之后的结果。

更换第三方依赖域名

  • webpushr //推送订阅弹窗
  • valine邮件模板 //邮件设定
  • 全局查找Hexo的theme主题文件夹,找到旧域名替换。

后记

  1. 百度的网站改版校验非常奇怪,谷歌测试无误后,在百度站长就是校验失败,已经致信客服寻求帮助。
  2. 不必在意改版后的收录情况,一两个星期看一次就够啦,毕竟是一个重新收录的过程!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更换DNS绑定域名
  • 301重定向(重要!)
    • 如何完成301重定向?
    • 网站统计代码重置
    • 网站地图重新提交
    • 主动通知网站改版
    • 更换第三方依赖域名
    • 后记
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档