个别网站可能会出现以下类似困扰:
①、百度收录了自己不想收录的域名,造成内容重复,比如张戈博客,百度近一半的收录是 www 的域名,而且收录的内容还是重复的!实际上张戈博客的首选域名是不带 www,就算一开始就做了 301,也被百度无视了;
②、网站中途才设置的伪静态,收录正常后发现依然存在旧的动态链接,想删除之;
③、百度收录了虚拟主机自带的三级域名,想删除之;
④、网站改版,如精简分类数量、修改分类名称,造成了 url 死链,想删除之;
前些天分享的《彻底禁止搜索引擎收录非首选域名的方法》,实际上仅适合新站设置,而我这种中途做禁止设置的网站,只会收到来自百度的 robots 禁封提醒,而不会删除之前的收录:
那我该如何彻底删除这些重复收录呢?
方法很简单,利用百度站长平台的闭站保护功能即可。经多次尝试,张戈博客 www 域名重复收录终于全部清空了!
下面说下具体方法:
如果之前对该域名做过 robots 禁封的话,需要先解除限制,删除 robots 即可。因为,你都不让百度抓取了,百度当然不知道你这些链接还能不能用,该不该删?他只会认为你是粗心误操作了 robots 而已。
经测试,百度的闭站功能申请通过的前提条件是,所有链接必须是 404 死链状态,否则无法通过:
所以,我们先对那些已收录的非首选域名,设置 404 返回码,即死链状态,如果之前设置了 301,记得要取消掉!
①、Nginx
如下修改之前非首选域名的监听设置:
②、PHP 通用
将以下代码添加到网站的 head 部分
③、ASP 通用
同样的将以下代码添加到网站 head 部分(注意是动态模板,而不是静态页)
设置完成后,记得手动访问测试下效果。
404 确认无误之后,打开百度站长平台的抓取频率,选择闭站保护
然后,选择你要关闭的非首选域名,比如 www.zhangge.net,最后在下方继续勾选 www.zhangge.net,提交即可!切记不要提交带星号(*)的选项,那是指所有相关域名!
大概 2 天左右,就收到了闭站申请通过的通知:
可以看到,张戈前后测试了 3 次,前 2 次测试提交时,采用的是 403 或者是仅针对搜索引擎的 404 设置,结果都没通过!看来,闭站保护是采用人工审核的,而非机器!
Ps:闭站是对整个域名删除的最快方法,但如果是删除部分收录,那就得使用百度站长平台的死链提交功能。
现在再去 site 非首选域名,发现已全部删除干净:
我的目的已经达到!为了保持用户体验,现在需要恢复之前的 301 跳转和 robots 禁封设置:
参考之前写的的《彻底禁止搜索引擎收录非首选域名的方法》,重新设置了 robots 禁止收录和 301 跳转。现在,只要我不去申请闭站恢复,我相信百度再也不会收录 www 域名了!
看完针对困扰①的解决办法,相信其他困扰也可以依葫芦画瓢的做好相应处理。