0

在现有的.Net MVC3站点上,我们实施了分页,其中URL类似于www.mysite.com/someterm/anotherterm/_p/89/10,其中89是页码,10是每页结果数。如何修复GoogleBot和其他搜索引擎抓取工具不应抓取的索引页面?

不幸的是,rel="nofollow"从大于3的页面链接中丢失,并且那些页面也丢失<meta name="robots" content="noindex,nofollow" />

问题是Google和其他一些搜索引擎现在已经对这些页面建立了索引,并且现在试图抓取所有这些页面,这很常见,因为我们发现它们对prod db服务器有很大的影响。我们不希望所有这些额外的成千上万的网页被抓取,只有前几个。

我将代码恢复为不包含分页的网站版本,以便我们的数据库服务器不会受到如此严重的打击。所以,虽然搜索引擎会为所有这些页面获得404错误,但我想知道这是否是最好的做法,因为过了一段时间我会再次介绍分页网站?

我可以添加以下web.config中都404的重定向到主页:

<httpErrors errorMode="Custom"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="/" responseMode="ExecuteURL"/> 
    </httpErrors> 

但我想,这样做将呈现为“重复的内容”为所有的这些页面带有分页URL参数。

这里最好的办法就是让这些404的持续一两周 - 然后重新引入分页网站?

另一个选择是释放分页网站,并添加一些代码以拒绝大于3页的爬网程序。建议?

是否有更快的方式将这些页面从索引中取出,以便它们不被抓取?

谢谢。

+0

如果添加像'你的R /根/ anotherterm/*' obots.txt排除它们,爬行者应该停止对它们的攻击。 – 2012-08-04 01:00:13

+0

网址结构为www.mysite.com/*/*/_p/ [当前页面]/[每页项目]。你能做这样的模式w/robots.txt吗? – ElHaix 2012-08-04 05:14:16

回答

0

只要离开页面404不会做,因为这是永久性清除。纵观2616超文本传输​​协议 - HTTP/1.1第10章状态代码定义:

“的请求的资源不再可用在服务器上,并没有 转发地址是已知的。预计这种情况将被认为是永久性的,即 。具有链接编辑功能的客户端应在用户批准后删除对Request-URI的引用。如果 服务器不知道或无法确定 条件是否是永久性的,则代替使用状态码404(未找到) 。除非另有说明,否则此响应可缓存。

的410响应的主要目的是通过通知收件人,资源是故意 不可用,服务器业主的愿望是 到资源远程链接被删除,以协助网络 维护任务。 限制时间的促销服务和属于 的个人不再在服务器的网站上工作,这种情况很常见。它不是 需要标记所有永久不可用的资源为“水涨船高”或 保持大关任何时间长度 - 这是留给 自由裁量权的服务器所有者的”

我只是简单地添加新ActuionResult方法:

public ActionResult Http410() 
    { 
     return new HttpStatusCodeResult(410); 
    } 

,并创造了新的路线匹配 “__P”:

routes.MapRoute(name: "WholeCountryResultsWithPaging__p", url: "{searchTerm}/__p/{pageNumber}/{pageSize}", defaults: new { controller = "Errors", action = "Http410", pageNumber = UrlParameter.Optional, pageSize = UrlParameter.Optional }); 
0

我不会诉诸于404's,除非作为最后的手段,并且重复的内容可能会导致您的网页失去排名。我要做的第一件事是创建一个Google Webmaster Tools帐户,并配置您希望如何抓取您的网页,移除网页,使用什么属性等。

对Bing执行相同的操作(网站管理员工具),您应该在一两天内清楚。 (Bing的引擎被很多其他搜索引擎所使用,而且它看起来像你在Bing上的变化也在向他们滴漏。)

0

尝试创建robots.txt大多数(非黑帽)爬虫应该尊重如果将其放置在robots.txt文件中,则会阻止该页面。

这里是一个工具: http://www.mcanerin.com/EN/search-engine/robots-txt.asp

此外,通过谷歌网站管理员工具,让你在现场大,还可以帮助的robots.txt