个别网站可能会出现以下类似困扰:
①、百度收录了自己不想收录的域名,造成内容重复,比如张戈博客,百度近一半的收录是 www 的域名,而且收录的内容还是重复的!实际上张戈博客的首选域名是不带 www,就算一开始就做了 301,也被百度无视了;
②、网站中途才设置的伪静态,收录正常后发现依然存在旧的动态链接,想删除之;
③、百度收录了虚拟主机自带的三级域名,想删除之;
④、网站改版,如精简分类数量、修改分类名称,造成了 url 死链,想删除之;
先具体说一下张戈博客是如何解决第①个困扰的:
前些天分享的《彻底禁止搜索引擎收录非首选域名的方法》,实际上仅适合新站设置,而我这种中途做禁止设置的网站,只会收到来自百度的 robots 禁封提醒,而不会删除之前的收录:
那我该如何彻底删除这些重复收录呢?
方法很简单,利用百度站长平台的闭站保护功能即可。经多次尝试,张戈博客 www 域名重复收录终于全部清空了!
下面说下具体方法:
一、去掉 robots 限制
如果之前对该域名做过 robots 禁封的话,需要先解除限制,删除 robots 即可。因为,你都不让百度抓取了,百度当然不知道你这些链接还能不能用,该不该删?他只会认为你是粗心误操作了 robots 而已。
二、设置 404 状态
经测试,百度的闭站功能申请通过的前提条件是,所有链接必须是 404 死链状态,否则无法通过:
所以,我们先对那些已收录的非首选域名,设置 404 返回码,即死链状态,如果之前设置了 301,记得要取消掉!
①、Nginx
如下修改之前非首选域名的监听设置:
server { server_name www.zhang.ge; root /home/wwwroot/zhang.ge; location / { #全部返回 404 return 404; } }
②、PHP 通用
将以下代码添加到网站的 head 部分
<?php if($_SERVER['HTTP_HOST'] == 'www.zhang.ge') { ?> header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); <?php } ?>
③、ASP 通用
同样的将以下代码添加到网站 head 部分(注意是动态模板,而不是静态页)
<% if Request.ServerVariables("SERVER_NAME")="www.zhang.ge" then Response.Status = "404 Not Found" end if %>
设置完成后,记得手动访问测试下效果。
三、闭站申请
404 确认无误之后,打开百度站长平台的抓取频率,选择闭站保护
http://zhanzhang.baidu.com/pressure/close
然后,选择你要关闭的非首选域名,比如 www.zhang.ge,最后在下方继续勾选 www.zhang.ge,提交即可!切记不要提交带星号(*)的选项,那是指所有相关域名!
大概 2 天左右,就收到了闭站申请通过的通知:
可以看到,张戈前后测试了 3 次,前 2 次测试提交时,采用的是 403 或者是仅针对搜索引擎的 404 设置,结果都没通过!
Ps:闭站是对整个域名删除的最快方法,但如果是删除部分收录,那就得使用百度站长平台的死链提交功能。
四、补刀设置
现在再去 site 非首选域名,发现已全部删除干净:
我的目的已经达到!为了保持用户体验,现在需要恢复之前的 301 跳转和 robots 禁封设置:
参考之前写的的《彻底禁止搜索引擎收录非首选域名的方法》,重新设置了 robots 禁止收录和 301 跳转。现在,只要我不去申请闭站恢复,我相信百度再也不会收录 www 域名了!
五、写在最后
看完针对困扰①的解决办法,相信其他困扰也可以依葫芦画瓢的做好相应处理。
原理很简单,你想要删除哪个快照或域名,只需要将这些对象设置为 404 死链状态,然后去百度站长平台做死链提交即可,一般 2~3 天就能立竿见影。至于,如何设置 404 死链状态,则需要对症下药,方法不尽相同,张戈就不赘述了。当然,你有任何需要都可以去留言板留言告知。
网站的head部分是主题的之前么,我设置了,为什打开首页,最上面显示一行文本呢:类似:。。。.Status = "404 Not Found" 。。。
我输入dedewp.com就自动跳转到www.dedewp.com了,忘了当初怎么设置跳转的了,不知道怎么取消301咋办!
应该是在htaccess里面设置了吧
你好,看了贵站如何删除另外一个域名的方法,很好很实用。本站也是首选域出现问题了,本站www域名为首选域,4年老站。本来不带www的域名一直301到www域名的,后来操作失误导致301失效了,不带www域名被收录了。发现后立即将不带www的域名301到www域名,但是3个月了还是没效果,不带www的快照远远比www快照快,而且核心关键词在301失效后排名下滑很严重,本来在首页,后来下滑到100名后,非热门关键词没影响。按照贵站的方法把不带www的域名申请闭站保护了,百度很快审核通过,将不带www域名收录很快删除了。我想咨询下,这样闭站保护会导致一级域名的权重丢失么?还有后续还要不要恢复一级域名的收录?301还要继续做么?怎么样可以恢复原来的排名?301问题导致本周核心关键词掉了3个月了,一直恢复不了,很头痛,希望可以向贵站请教下,qq:187229032。非常感谢。
百度收录了虚拟主机自带的三级域名,也设置了301. 还是在搜索哪里看到虚拟主机自带的三级域名。我这边是discuz的。
Jager我是今天才看到这个办法 不知道可行不!我刚刚提交了必站保护,希望可以。
博主能否详细说说,怎样让带WWW的域名返回404呢?
闭站保护180天结束后,非首选域又重现出现在了百度搜索结果中。
奇怪,htaccess里面是空的,而且宝塔里面重定向也没有添加,但还是从主域名跳到了www,好烦啊