昨天代维护的一家公司服务器,因为想用阿里云的服务器,所以网站不得不增加阿里云为接入商,大家都知道网站增加接入商和新备案基本一样,在这期间各大IDC商都要求网站不能打开的。
这种情况在原来那就只有放弃对网站的优化,关闭网站,等增加接入商成功后再另做优化了,而现在不同了,百度站长工具中有个闭站保护功能,据百度官方说站长可以通过闭站保护工具进行提交申请,申请通过后,百度会暂时保留索引、暂停抓取站点、暂停其在搜索结果中的展现。待网站恢复正常后,站长可通过闭站保护工具申请恢复,申请审核通过后,百度搜索引擎会恢复对站点的抓取和展现,站点的评价得分不会受到影响
因感觉百度这功能真的是很强大呀,所以昨天就推荐客户使用闭站保护功能,客户回复我说按他们流程申请闭站保护了,但好像提示说校验失败,有好多网页状态码是200的可以打开的网页,让我帮看下原因,我问客户要来百度站长工具的帐号,登录看了下他们的据体要求。
百度官方他们明确表示支持两种闭站方法,全站HTTP状态码设置为404或者关闭服务器,不支持删除域名解析的方法,如果域名PING不通也校验不通过的,既然他们有明确的说法,那就好办了,首先我们确定采用关闭服务器的方法行不通,因为服务器上面还有放的别的站点,那只有采取另一种方法了,那就是全站状态码设置为404,全站有N个网页,怎么把他们状态码全改成404呢,不要急,因为我们的服务端是用的nginx,所以设置全站状态码为404这点还是非常简单的,直接在server配置顶中添加(return 404;)直接让返回404就可以,据体看下面配置代码;
server {
listen *:80;
server_name qzze.net www.qzze.net;
if ($host = demgs.com)
{
rewrite ^(.*)$ https://www.$host$1 permanent;
}
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name qzze.net www.qzze.net;
if ($host = demgs.com)
{
rewrite ^(.*)$ https://www.$host$1 permanent;
}
ssl_certificate ssl/qzze.net.pem;
ssl_certificate_key ssl/qzze.net.key;
#ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
access_log logs/qzze.log main;
#想全站返回404状态码,只需要在下面加入return 404;然后重新加载nginx就可以了,就这么简单
return 404;
location / {
root wwwroot/qzze;
index index.html;
}
location ~ \.php$ {
root wwwroot/qzze;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404/404.html;
}
在nginx的server配置项中加入return 404;这样全站就都返回状态码404了,再次申请闭站保护,校验成功,几个小时后提示闭站成功!
最新评论
感谢
能不能屏蔽掉刷流量的,统计工具显示全部都是
路过学习了
好像不太行啊 加载不出来啊
好文章
是否可以 实现 判断手机端跳转 而网址不变呢
你好
感谢分享,我也遇到这个了,根据你的提示,屏蔽掉了