先说结论:
这篇文章会用到迁站神器SG Migrator,就算你再小白也不怕,因为就是写给你看的,通篇文章的操作,加起来花不了10分钟。
最近被频繁问到一个问题。
“颜sir,学询盘课前我就把网站做好了,在学了你课后被种草了Siteground,请问有没有办法把网站迁到SG上去?我是技术小白/菜鸟,谢谢。”
迁网站之前是个技术活,因为要打包网站内容和数据库,这样才能做到万无一失,所以我通常都回复让直接找客服。
但想来想去客服也不是完美的解决办法,因为:
恰好最近我个人博客也出了点问题,就趁着机会实践了,看能不能找到适合完全不懂技术的人的迁移方法。
结果还真被我找到了,经过我大量实践(前后迁移了4个站),发现Siteground内置的一款工具——SG Migrator用起来太爽了,而且最最重要的一点,它完全不受原本的空间限制。
不管你用的是Bluehost、Hostgator,还是各类VPS,又或者是建站公司给你弄的不知名的空间,你都可以follow这篇文章把网站迁到SG上。
因为又是一篇实操型文章,所以推荐你到电脑上看贴,边看边操作。
当然啦,想要迁移网站,首先你必须要有一个SG的空间,推荐购买下面这个版本,这个版本的空间对WordPress网站做了些微优化:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::0
为防止买错,可以点击这个链接过去。
我个人博客之前一直放阿里云的VPS上,为了极致的速度,我还用openLiteSpeed替换了Nginx,折腾无极限嘛。
直到有一天,因为频繁和印度工程师联系,我的服务器密码泄露了……(所以教训啊,印度那边网络环境真的不好,而且印度的coder也不喜欢用杀毒软件,所以尽量要给他们临时账户,而且隔三差五就要给账户改密码)
一开始服务器宕机我没在意,让印度的coder帮我检查了下,发现缺了个文件,他帮我补齐后网站恢复正常。
其实那时他就已经警告我了,但我以为是更新造成的文件丢失,没在意:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::1
再然后,阿里云开始短信提醒我,说我的流量以一天200G的速度在消耗:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::2
我以为是Cloudfront第一次上传文件导致的流量消耗,还是没在意。
直到阿里云告诉我,服务器1个T的流量耗尽,导致我服务器被强制关闭,且账户欠费,我才后知后觉意识到网站遭遇了流量攻击。
我最近事情多,也不太喜欢麻烦,就想着先把网站迁移到SG,让服务器的事情先消停消停,所以就有了这篇文章。
不得不说SG在小细节上真是做足了功夫,为了方便客户从其他服务器迁移到他们自己服务器,还专门研发了快速迁移的工具。
经过我反复尝试(加上这次,我总共用SG的工具迁移了4个站),我发现SG内置的迁移器异常好用,迁移一个500M左右的网站,只需要操作10分钟,外加一些等待时间即可。
之前用All in one migration
或者WP migrator
的时候,总会有大大小小的问题,但用SG的迁移工具则特别稳定,至今在我手里迁移的网站都是perfect状态。
使用SG内置工具迁移网站很简单,思路是:
接下来就是详细步骤。
注意,下面的步骤看上去很复杂,但其实很多步骤我都是为了保险起见加上去的,对很多人来讲,不做一点影响也没有。
不过为了cover住100%的情况,我就把所有可能性都枚举出来,做最全面的打算。
登录SG后台新建WP网站:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::3
选用临时域名,如图,系统给我分配的临时域名是judyw3.sg-host.com
:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::4
做如下配置:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::5
直接点“Finish”:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::6
等待临时网站生成:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::7
你可能会卡在这一步这一直转,如果超过10分钟还没反应,很有可能是SG早已准备好了站点,但动画卡住了导致没跳页面。
碰到这种情况,就强制刷新页面,然后点击website,此时你会发现网站已经准备好了,点击下图位置的按键,进入网站管理页面:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::8
进入后可以看到如下图所示的页面,SG已经自动帮我们生成了token,复制token代码并保存到笔记本。
什么是token?你可以把它理解成“收货地址”,有了收货地址,发文件的原网站才能“发货”。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::9
如果此处没有token代码,那说明SG没能自动帮你生成,没关系,点击“Generate”生成一个就好。
现在我们就有了临时网站的“收货地址”,是时候去原来网站“发货”了。
打开要迁移的网站(以xunpanziyou.com为例),登录后台,在plugin里搜索SG专用插件——SG Migrator。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::10
在网站后台,将token代码复制进去,就可以开始传输了。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::11
之后会弹出个警告,意思是,“收货”的临时网站里的所有文件都会被覆盖掉(本该如此),直接确认即可。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::12
等待10-30分钟。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::13
然后就会出现下面这个提示:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::14
把右边的Name Sever的信息复制到记事本中,然后开始下面的确认工作。
登录临时网址的网站后台,比如我这里就登录:judyw3.sg-host.com/wp-admin
,因为临时域名没有安装SSL证书,所以浏览器可能会弹出风险提示,这个不打紧,按照如下图所示的点击顺序进入网址即可:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::15
因为已经迁移成功,所有内容都到了临时网站上,包括后台的登录信息,所以此处填入原本网站的账户密码:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::16
只要能正常登录,就说明没有问题,登录后,把所有缓存插件暂时关闭掉,比如:
此时再登录网站前台,通常你就会发现网站的样式也完整了:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::17
确认没什么大问题后,开始处理下原始空间留下的问题。
网站迁移后,老空间就不会绑定任何域名,想要访问老空间的内容,就必须使用IP地址。
照理说,没有域名的空间,里头的内容不太可能被谷歌收录,但为了保险起见,我们最好把老空间的内容,从SEO层面禁掉。
下面就是“走狗烹”的做法:
在原始网站里,安装并激活“Advanced File Manager”:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::18
注意:是在原始网站里操作,而不是在临时网站里操作!这个很IMPORTANT!
在网站根目录(通常是public_html文件夹)下,新建一个txt文件:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::19
右键点击刚刚新建好的robot.txt,再点击Editor:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::20
将以下代码复制进去,保存退出:
User-agent: *
Disallow: /
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::21
为了确认,我们尝试用域名+/robots.txt访问这个文件,比如我访问https://xunpanziyou.com/robots.txt
,就可以看到浏览器显示如下:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::22
反正域名再过一会就要迁移到新的地方并指向新的空间,新的空间是不会有这样的robots文件的。
等域名迁移成功,这里的robots.txt的链接,也会变成类似于123.123.123.123/robots.txt
,任何爬网站的小蜘蛛,见到这个robots.txt都会绕着走。
接下来就开始转移域名和企业邮箱了,因为转移域名需要一点时间,所以我们的思路是,先保证域名转成功。
等到域名转好了,再迁移企业邮箱,这样能保证企业邮箱始终可用。
先登录管理域名的地方,比如我的域名是在NameSilo上买的,我就登录NameSilo的后台,进入DNS的管理中心:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::23
你会看到有MX和TXT的记录:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::24
找到所有MX和TXT记录,把它们的类型和值记录下来,少数企业邮箱还有mail开头的CNAME记录,也把它记录下来。
每个记录都包含:
最后我们应该得到一个类似下面这样的表格,最好把DNS的页面截个图,以备后用:
类型 | 主机名 | 值 | 优先级 | 留存时间
mx | 无 | qiye163mx01.xxx | 5 | 2小时
mx | 无 | qiye163mx02.xxx | 10 | 2小时
txt | 无 | v=spf1... | 无 | 2小时
txt | _dmarc | v=spf1... | 无 | 2小时
cname | mail | qiye.163.com | 无 | 2小时
记录好之后就暂时不用管了,等到域名迁移好了再迁邮箱,这样企业邮箱就一直是可用状态。
然后回到域名管理中心,进入NS的管理界面:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::25
把NS的值改为记事本中的两个值,确认无误后,点击submit:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::26
进入SG后台的website页面,点击临时域名的“manage”选项:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::27
点击临时域名边上的三个小点,选择里面的“change primary domain”:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::28
填入要转移的域名并确认一遍:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::29
一分钟左右就会出现以下提示:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::30
再然后就是等待了,NS传播时间有长有短,快的话几十分钟就好了,慢的话要48个小时。
实在等不及可以在NS LOOKUP网站查询NS的地址:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::31
也可以三不五时在SG的后台刷新。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::32
注意:少数情况下,域名迁移成功,SG的后台也反应不过来,依然有警告提示,我们只要尝试访问如下图所示的DNS ZONE,看看里面有没有内容。
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::33
如果有内容,就说明确确实实已经已经迁移成功,那就不要管SG的警告提示,放心大胆做接下来的步骤吧。
网址迁移成功后,就可以在SG的后台配置企业邮箱了,进入Siteground的DNS管理中心,就可以任意添加DNS记录了:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::34
比如我总共有5条记录,那这里就要添加5次:
类型 | 主机名 | 值 | 优先级 | 留存时间
mx | 无 | qiye163mx01.xxx | 5 | 2小时
mx | 无 | qiye163mx02.xxx | 10 | 2小时
txt | 无 | v=spf1... | 无 | 2小时
txt | _dmarc | v=spf1... | 无 | 2小时
cname | mail | qiye.163.com | 无 | 2小时
以第一条mx记录为例,我在下图的1、2、3、4、5处分别做如下操作,填好后点左下角的“CREATE”即可:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::35
所有的DNS记录填写规律都是一致的,只要对照我们的表格,按顺序填入就不会出错。
填完之后的第一天密切关注邮箱的收发情况,只要企业邮箱能正常收发,就说明迁移成功了。
或者你也可以给企业邮箱的卖家打个电话,让他们帮忙做下验证,看是否一切正常。
为了网站安全和客户信任,我们不妨顺手给域名配置个安全证书,超级简单,SG的后台就可以一键申请SSL,按如下顺序点击即可:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::36
之后,SG就会分配给我们一个SSL证书,我们就可以强制把网站所有链接转成安全链接了,将下图所示位置的HTTP Enforce打开即可:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::37
很多迁移插件,在网站迁移成功后,都会出现“只有首页能访问,其他页面一概不能访问”的情况,这是因为WordPress缺失了.htaccess
文件所导致的链接无法重写。
为了防止这个意外,先在Permalink中直接保存:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::38
再然后,把网站里部分临时网站链接,全部改写成现在的链接,思路是这样的:
judyw3
开头的链接,改成www.xunpanziyou.com
https://
开头的链接,改成https://
开头为了实现以上几点,首先下载插件:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::39
把网站里所有临时域名都改成现在域名,做如下配置:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::40
成功提示:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::41
在把网站所有不带https的链接改掉:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::42
成功提示:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::43
再把网站所有不带www的链接改掉:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::44
成功提示:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::45
如果网站安装了Elementor,那还需要使用Elementor里的链接替换功能,做如下设置:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::46
其中第四步,需要分别填入:
注意,因为我希望网址带上www,所以上面所有链接,最后都转到了www上,如果你不想要www,那目标网址也不应该有www,千万别照抄
成功提示如下,大多数命令执行后,你看到的应该都是个“0 row affected.”:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::47
然后,在“general”中重新生成下Elementor的样式表,保存后,清理网站的缓存:
::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::48
注意 > 仅针对高段位玩家:如果网站安装了css编辑器,比如我安装了microtheme,那网站迁移后,css编辑器生成的外部css和js文件可能会丢失,恢复方式很简单,进入编辑器,什么都不做,保存退出即可。
以上所有步骤做完就大功告成了。