做SEO的朋友们应该都知道搜索引擎蜘蛛,蜘蛛是搜索引擎的一个自动程序,被站长们称为“Spider”或者“Bot”,它的作用是访问收集整理互联网上的网页、图片、视频等内容,然后分门别类建立索引数据库,使用户能在搜索引擎中搜索到您想要的网页、图片、视频等内容。
对于大多数的站长来说,都是希望蜘蛛能来抓取,恨不得时时刻刻都在自己的网站里,生怕蜘蛛不收录自己的网站,很多人还会特意的去引蜘蛛等等…但是有些时候,由于站长的疏忽或者是网站程序的问题,导致了不相关、不想被搜索到的内容被收录了,这时候怎么办呢,有人可能会说,可以加到robots.txt文件里面啊。确实,通过robots文件是个不错的方法,但是往往起效比较慢,不能做到短时间快速去除搜索引擎收录的内容,下面咱们就来说说,怎样通过伪静态来屏蔽蜘蛛的抓取。
最近上班遇到了个问题,公司之前做的站点出现了一些变动,整个网站都不想被收录,可是之前已经有了很多的收录,品牌词也十分的靠前,通过robots文件禁止了搜索引擎抓取,可是没有什么效果,搜索品牌词依旧第一第二。这时候想到一个方案,能不能通过代码告诉蜘蛛,这个网站的服务器故障了、网页已经不在了,降低排名或者直接去除收录,毕竟网站是不能关站的,因为竞价那边还在用,用户要能够正常访问。通过一个下午的研究和实践,以及两三天时间不断的提交死链,最终去除了整个网站的收录。
下面总结了几条伪静态规则,希望对大家能有所帮助(返回404或503需要设置错误文件路径)
Apache服务器
Apache服务器直接新建一个.htaccess文件(已有文件可以加到结尾),放在站点根目录即可;
1、返回410代码(网页永久失效)
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC] RewriteRule .* - [G]
2、返回404代码(找不到文件)
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC] RewriteRule .* /404.php
3、返回503代码(服务器故障)
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC] RewriteRule .* /503.php
Nginx服务器
Nginx服务器直接把规则写在站点配置文件中即可;
1、返回404代码(找不到文件)
location / { if ($http_user_agent ~* baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) { rewrite /.* /404.php; } }
2、返回503代码(服务器故障)
location / { if ($http_user_agent ~* baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) { rewrite /.* /503.php; } }