除了遵守robots.txt之外,还应遵守nofollow
以及noindex
在<meta>
元素和链接中:
许多人认为robots.txt 并不是阻止索引编制的正确方法,因此,由于这种观点,他们指示许多网站所有者依靠该<meta name="robots" content="noindex">
标签告诉网络抓取工具不要对网页进行索引编制。
如果您试图绘制网站之间的连接图(类似于PageRank),则
(和<meta name="robots" content="nofollow">
)表示源站点对目标站点的信任不足,无法给予适当的认可。因此,尽管您可以为目标站点建立索引,但不应存储两个站点之间的关系。
SEO不仅仅是一门艺术,还不是一门真正的科学,它是由很多知道自己在做什么的人和很多阅读了自己正在做的人的执行摘要的人所实践的。您将遇到一些问题,由于某些人偷听或在SEOmoz上的博客文章中阅读了一些规则,而这些规则可能被正确解释,因此您可能会因其他规则完全可以接受的事情而被站点阻止。
由于这种人为因素,除非您是Google,Microsoft或Yahoo !,否则除非另有证明,否则您被认为是恶意的。您需要格外小心,以使其对网站所有者没有威胁,并按照希望潜在的恶意(但希望是良性)爬网程序采取的行动:
- 一旦检测到您被阻止,就停止抓取网站:您知道工作,节流,超时等的页面上的403/401。
- 避免在相对较短的时间内进行详尽的爬网:对网站的一部分进行爬网,然后稍后(几天后)返回以对另一部分进行爬网。不要发出并行请求。
- 避免搜寻潜在的敏感区域:
/admin/
例如其中包含的URL 。
即使这样,除非您采取UA欺骗或故意掩盖抓取模式等黑帽子技术,否则这仍将是一场艰苦的战斗:出于上述相同原因,许多网站所有者会视线挡住未知的抓取工具,而不是采取行动有人不尝试“入侵其网站”的机会。为很多失败做准备。
要解决未知爬虫将要拥有的负面形象,您可以做的一件事是在用户代理字符串中明确说明您是谁:
Aarobot Crawler 0.9 created by John Doe. See http://example.com/aarobot.html for more information.
此处http://example.com/aarobot.html
说明了您要完成的任务以及为什么您不是威胁。该页面应包含以下内容:
- 有关如何直接与您联系的信息
- 有关搜寻器收集的内容以及收集原因的信息
- 有关如何退出和删除所有收集的数据的信息
最后一点很关键:良好的退出选择就像“退款保证”,并且获得不合理的商誉。它应该是人道的:一个简单的步骤(一个电子邮件地址,或者理想情况下是一个表单)并且全面(不应该有任何“陷阱”:退出意味着您毫无例外地停止爬网)。