前面笔者写过一篇关于删除不想被收录的域名或页面百度快照办法,但由于百度有一定延迟,想到先用robots屏蔽的办法。SEO博客原来是不带www的作为主域,现在用www的域名作为主域,原主域已经收录几百个了,删除这些快照都不知道花多长时间。提醒各位尽量减少在中途变更主域,为把排名影响减少,一定要看完本帖。
下面修改方法只适合用.htaccess把二级域名解析在子目录的虚拟主机,不适合IIS。其他方法参考文章《》
本站域名xiuzhanwang.com,解析了www.xiuzhanwang.com,zhan.xiuzhanwang.com,两个二级域名(www.xiuzhanwang.com实际上属于二级域名)
期间还解析过m.vi586.com,shop.vi586.com等二级域名,这些域名已经停止使用了,空间也过期了,但网上还有快照,无法通过robots屏蔽。
(2016.6.9更新本帖)
笔者在2016年5月中旬做了下面这些操作,前面还对其他非主域名进行过闭站保护,目前已经把非主域名的内容全部成功转到www.xiuzhanwang.com下,当然搜索引擎是比较滞后的,每个地区需要的时间不尽相等。
彻底屏蔽不需要二级域名方法
1.把不需要的二级域名分配到不同的空间进行robots屏蔽。既然已经取消二级域名的解析了,当然不推荐这样的做法,土豪请便。
2.利用.htaccess实现非主域名访问robots.txt实际是访问wrobots.txt(该文件屏蔽蜘蛛抓取)。以万网Apache平台为例,vi586.com域名做全站301跳转到www.vi586.com,用robots彻底屏蔽蜘蛛抓取,经秀站网秀站网测试成功。
wrobots.txt内容如下
User-Agent:* Disallow:/
.htaccess内容如下
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vi586.com [NC] RewriteRule ^robots.txt wrobots.txt [L] RewriteCond %{REQUEST_FILENAME} !robots.txt RewriteRule ^(.*) http://xiuzhanwang.com/$1 [R=301,L]
第四行说明尽在请求名称非robots.txt的时候,才会执行后面的301跳转,避免第三条规则被覆盖。以上规则放在最前面,以免与原来的301规则发生冲突,下面是经测试成功的完整代码:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vi586.com [NC] RewriteRule ^robots.txt wrobots.txt [L] #以下为已存在规则: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^www.xiuzhanwang.com [NC] RewriteRule ^(.*)$ http://www.xiuzhanwang.com/$1 [L,R=301] </IfModule>
效果测试访问:http://www.xiuzhanwang.com/robots.txt和http://xiuzhanwang.com/robots.txt ,出现的结果是不是不一样了呢。
当然这个方法对二级域名解析到二级目录也是可行的,方法参考文章《万网利用.htaccess完美实现子域名跳转到子目录》,由于已经URL重写了,要把二级目录下的robots.txt更名为wrobost.txt(蜘蛛只会访问robots.txt文件)不然会提示404错误。访问:http://zhan.xiuzhanwang.com/robots.txt
二级域名解析到二级目录与屏蔽不需要的域名.htaccess完整代码如下
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.xiuzhanwang.com [NC] RewriteRule ^robots.txt wrobots.txt [L] RewriteRule ^index\.(php|html|htm)$ http://www.xiuzhanwang.com/ [R=301,L] #tag伪静态规则 RewriteRule ^tags.html$ /tags.php RewriteRule ^tags/(.*).html$ /tags.php?/$1/ #二级域名解析到二级目录 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^zhan\.xiuzhanwang\.com$ [NC] RewriteCond %{REQUEST_URI} !^/zhan/ RewriteRule ^(.*)$ zhan/$1?Rewrite [L,QSA] </IfModule> #不带www域名301到带www域名 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !^www.xiuzhanwang.com [NC] RewriteRule ^(.*)$ http://www.xiuzhanwang.com/$1 [L,R=301] </IfModule>
3.如果需要屏蔽的是二级目录(如:/about)但是能抓取里面的以*.html文件,直接在robots.txt写上
Disallow:/about/ Allow:/about/*.html
4.无法用robots屏蔽的目录或二级域名可以用跟301跳转,那些没用的页面删除,向百度提交404页面即可。
5.如果是空间自带的三级域名被收录,采取规范好URL路径,所有链接采用主域名的绝对路径,不给任何不想收录的二级域名入口,并更新高质量的内容,让搜索引擎重新审核主域。
不需要的二级域名处理办法总结
笔者对不需要的二级域名刚开始并没有做太多的处理,也有朋友建议我不用去管,做好URL规范和更新内容,让百度自己去判断主域就好,事实是朋友们是对的,百度蜘蛛慢慢的也没那么“蠢”了。这些快照只是时间问题,内容质量不高的页面即使抓取了,也不会放出快照,何况一些二级域名的错误提示呢。
发表评论
评论列表(条)