历时 10 天,张戈博客和中国博客联盟成功转入阿里云,终于不用在服务器稳定性上操心了!实际上,早在去年 8 月份我就申请到了一台半年免费的 ECS 云服务器,当时因为提交转入备案被拒,原因如下:
①、网站名称和备案名称不一致;
②、中国博客联盟具有企业性质;
③、网站存在在线资源、在线评论等不符合个人网站备案的内容;
阿里云客服告诉我可以关站做接入备案,但是由于中国博客联盟有一个公用导航,一关站,大伙都无法使用了,于是我直接拒绝了。
找了一个便宜而且不用做接入备案的创宇云,用了几个月发现稳定性总是不尽人意!隔三差五来一次大姨妈,如果只是张戈博客倒也没啥,关键还是中国博客联盟有一个大家都在用的公用导航,所以我必须保证其稳定高可用。在忍无可忍之后,下定决心要把服务器搬到阿里云 ECS!
下面分享一下,网站中途首次备案或转入备案,无需停止服务(关站)的实用攻略。
先说一下思路:不管是阿里云还是通管局,审核时都只会看首页,是偷懒还是太白痴我就不做评判了。所以我们完全可以对首页做手脚来“瞒天过海”,通过客服和管局的审核。
对首页做手脚有 2 种方案:
①、两台主机
像我这种经常折腾的人,手头上的主机肯定不止一两台吧?做网站不到半年,主机都换了五六次了,所以手头还没到期的主机非常充裕。
这种情况的做法就非常简单了:
先同步一下 2 台主机的数据,然后参考我之前分享的《备案不影响 SEO》的方法,新增一条搜索引擎专用线路,记录的 IP 一致,最后在另一台主机的网站根目录下新增一个空白的 index.html,并将默认的解析线路修改为这台主机 IP 即可:
当然你勤快的话也可以在里新增一些描述,比如“网站维护中…”之类的描述。(但不建议过于勤快,加入其他内容,比如诗词歌赋,所谓言多必失,你懂的!)
工作原理:因为绝大多数主机都是默认先打开目录下的 index.html 或 index.htm,所以你在网站根目录下放置一个空白的 index.html,那么打开你的网站首页就是显示空白或你自定义的文字了,这样就可以通过备案审核了!而对搜索引擎来说,解析的是另一台主机,所以首页是变更对 SEO 没有任何影响!!
注意事项:由于 2 台主机的 IP 不一致,所以默认线路主机(即首页空白的网站)上任何会和搜索引擎产生通信的机制都必须取消,比如百度的 sitemap 结构化数据插件以及 WordPress 的 PING 服务等。避免 2 个不同 IP 的网站都往搜索引擎推送数据,把搜索引擎搞糊涂了!
②、一台主机
只有一台主机?说明你是个好孩子,专心只做内容!这种情况下的做法就稍微复杂点,但是也难不到哪儿去。
先说原理:既然只有一台主机,那么就只能对这台主机的首页做手脚了!又不能影响 SEO,那就只能用 js 技术了,因为国内的几家搜索引擎应该还不能识别 JS(国外的就先不考虑了,别人就算 K 得快,恢复也快啊!)。那我们就可以通过 js 代码,在首页加载的时候,写入一个图片遮罩,遮住网站的正常内容,造成网站打不开的假象,但是在搜索引擎的眼里却是正常的!(此方法感谢 橙色阳光 推荐!)
具体做法:参考如下代码,修改你的网站即可。
<!– 1. 将 body 的背景颜色定死为白色,避免露馅 –>
<body style=”background:#fff !important;”>
<!– 2. 紧接其后加入如下图片遮罩代码(核心代码) –>
<script type="text/javascript"> document.title="掌歌技术小站"; /* 修改网站名称 */ document.writeln("<p style=\"text-align:center\">"); document.writeln("<img src=\"https://zhang.ge/go/web.jpg\" /><br />"); document.writeln("<strong><span style=\"font-size:16px\">网站维护中,稍后回来........</span></strong></p>"); </script>
<!– 补刀代码:以下为其他需要隐藏的元素,以实际情况而定! –>
<style type=”text/css”>
/* 格式如下 */
#元素 ID{display:none !important;}
/* 比如张戈博客的底部公告 ID 是 gg,则如下所示 */
#gg{display:none !important;}
</style>
<!– 3. 隐藏网站主题内容 div –>
<div style=”display:none;height:0px;”>
<!– 其他正常代码略 –>
<!– 4. 在</body>之前添加闭合 div –>
</div>
</body>
<!– 以下内容若存在显示的元素,则将其 ID 添加到上面的补刀代码中,强制隐藏即可 –>
WordPress 的话,一般只要修改主题目录下的 header.php 和 footer.php。一般来说,1~3 步在 header.php,最后的 div 在 footer.php。
如果是公用模块,你还要加入首页判断,比如:
<?php if(is_home()) { /* 判断首页 */ ?>
<style type=”text/css”>
<!– 1. 将 body 的背景颜色定死为白色,避免露馅 –>
body {background:#fff !important;}
<!– 补刀代码:以下为其他需要隐藏的元素,以实际情况而定! –>
/* 格式如下 */
#元素 ID{display:none !important;}
/* 比如张戈博客的底部公告 ID 是 gg,则如下所示 */
#gg{display:none !important;}
</style>
<!– 2. 紧接其后加入如下图片遮罩代码(核心代码) –>
<script type=”text/javascript”>
document.title=”掌歌技术小站”; /* 修改网站名称 */
document.writeln(“<p style=\”text-align:center\”>”);
document.writeln(“<img src=\”https://zhang.ge/go/web.jpg\” /><br />”);
document.writeln(“<strong><span style=\”font-size:16px\”>网站维护中,稍后回来……..</span></strong></p>”);
</script>
<!– 3. 隐藏网站主题内容 div –>
<div style=”display:none;height:0px;”>
<?php } /* 判断结束 */ ?>
<!– 其他正常代码略 –>
<?php if(is_home()){ /* 判断首页 */ ?>
<!– 4. 在</body>之前添加闭合 div –>
</div>
<?php } /* 判断结束 */ ?>
</body>
<!– 以下内容若存在显示的元素,则将其 ID 添加到上面的补刀代码中,强制隐藏即可 –>
全部弄好之后,访问首页应该会如下所示:
右键查看网页源代码,可以得知一切正常!最后再输入你熟悉的文章地址,比如留言板之类的,发现并无异样!所以,这才是完美的备案不关站的做法!在你暗自得意的同时,是否会感叹一下这些“可爱”的公务猿呢?辛亏他们又懒又“可爱”呢!
现在再去提交备案,应该就没有任何问题了。就拿阿里云来说,客服也是鼓励关站备案或关站接入备案的,他宁愿你的网站打不开,也不愿意你网站有一些可能被拒的内容,不多说,看图:
相信后面的事情就不用我多说了吧!好了,分享的只是一个原理和思路,相信技术都不是问题!你看懂了吗?