网站内容抓取(一个.txt搜索引擎蜘蛛会在网站上的特定文件引导)
优采云 发布时间: 2021-11-12 16:13网站内容抓取(一个.txt搜索引擎蜘蛛会在网站上的特定文件引导)
当搜索引擎程序抓取网站时,我们实际上可以通过相关文档对其进行引导。
简单理解一下,搜索引擎蜘蛛会通过链接了解你在网站上的信息。但他们也在浏览网站 代码和目录中的特定文件、标签和元素。接下来,让我们来看看这些元素是什么。
机器人.txt
搜索引擎蜘蛛抓取网站时,首先要先抓取robots.txt文件。
对于复杂的网站,robots.txt文件是必不可少的。对于只有几页的小型网站,可能不需要robots.txt 文件。没有它,搜索引擎蜘蛛将抓取 网站 上的所有内容。
使用 robots.txt 文件引导搜索引擎蜘蛛有两种主要方式。
1.首先可以使用“禁止”命令。这将引导蜘蛛忽略特定的 URL 文件、文件扩展名甚至整个 网站 部分:
用户代理:Googlebot
禁止:/示例/
尽管 disallow 指令会阻止蜘蛛抓取您的 网站 的特定部分(从而节省抓取预算),但它不一定会阻止页面被索引并显示在搜索结果中,例如,您可以在这里看到它:
2.另一种方法是使用 noindex 命令。不索引页面或文件不会阻止它被抓取,但会阻止它被索引(或从索引中删除它)。这个 robots.txt 命令是谷歌非官方支持的,百度/必应完全不支持:
用户代理:Googlebot
无索引:/示例/
用户代理:*
禁止:/示例/
显然,由于这些页面仍在被抓取,它们仍将使用您的抓取预算。
这是一个经常被忽视的问题:disallow 命令实际上会撤销搜索引擎蜘蛛的 noindex 标签的工作。这是因为 disallow 阻止蜘蛛访问网页的内容,从而阻止查看和观察元标记。
另一个使用robots.txt协议告诉搜索引擎哪些页面可以爬取,哪些页面不能爬取。当然,并不是所有的蜘蛛都表现得很好,有的甚至会无视你的指令(尤其是寻找漏洞的恶意机器人)。
XML 站点地图
XML 站点地图帮助蜘蛛了解站点的基本结构。请注意,蜘蛛使用站点地图作为线索,而不是学习如何索引网站的权威指南。机器人还会考虑其他因素(例如您的内部链接结构)来确定您的 网站 是关于什么的。
使用可扩展标记语言 (XML) 站点地图最重要的是确保发送到搜索引擎的消息与您的 robots.txt 文件一致。
不要将已被robots.txt屏蔽的文件内容发送给搜索引擎;考虑到网站的爬虫预算,这里一定不能出错。
第二个重要的事情是确保 XML 站点地图只收录规范的 URL,因为百度/谷歌将 XML 站点地图视为规范信号。
URL 规范化
如果站点上有重复的内容(我们应该避免重复的内容),那么 rel="canonical" 链接元素会告诉蜘蛛哪个 URL 应该被视为主版本。
如果不使用canonical标签,那么网站上面的URL不同但内容相同的页面会被搜索引擎搜索收录,这会使搜索引擎误认为网站上有很多重复的页面@网站,从而减少对 网站 的评论。
分页
正确设置 rel="next" 和 rel="prev" 链接元素非常重要。如果一个电商网站每个品类都有很多产品,想要避免落入搜索引擎的重复内容过滤器,那么rel=next和rel=prev就很重要了。
假设 网站 有 50 个不同的模型可供选择。在主分类页面上,用户可以查看前 10 个产品,每个产品都有一个产品名称和一个缩略图。然后,他们可以单击“下一页”查看接下来的 10 个结果,依此类推。
这些页面中的每一个都会有相同或非常相似的标题、元描述和页面内容,因此主类别页面的头部应该有一个 rel="next"(没有 rel="prev" 因为它是第一页)超文本标记语言 (HTML)。将 rel="next" 和 rel="prev" 链接元素添加到每个后续页面将告诉爬虫您希望将这些页面用作序列。
或者,如果我们有内容的“查看全部”页面,我们可以将其标准化为所有分页页面上的“查看全部”页面,并完全跳过 rel = prev / next。缺点是“查看全部”页面可能会出现在搜索结果中。如果页面加载时间过长,搜索访问者的跳出率会很高,这不是一件好事。
如果没有 rel="canonical", rel="next" 和 rel="prev" 链接元素,这些页面会相互竞争排名,存在重复内容过滤的风险。正确实施, rel=prev/next 将指示 Google 将序列视为一页,或 rel=canonical 将所有权重分配给“查看全部”页面。(关于分页优化技巧大家可以查看这个文章:页面分页优化技巧)
常见的编码问题
一个网站想要有一个好的排名是由很多因素决定的,其中一个很重要,那就是:一个页面的代码简洁很重要(谷歌的移动优先索引)。这将使搜索引擎更容易识别页面上的重要内容。极有可能一个小错误就会导致蜘蛛混淆爬虫,导致搜索结果出现严重问题。
以下是一些需要注意的基本事项:
1.无限空间(也称为蜘蛛陷阱)。糟糕的编码有时会无意中导致“无限空间”或“蜘蛛陷阱”。诸如指向相同内容的无休止的 URL 或以多种方式呈现相同信息的页面,或者具有不同日期的无限日历的日历等问题可能会导致蜘蛛陷入循环,这会很快耗尽您的抓取预算。
在 404 错误页面的 HTTP 标头中错误地提供 200 状态代码是另一种呈现方式。因此,正确的页面状态码也很重要,还可以节省爬虫预算。
当蜘蛛遇到大量浓缩或重复的内容时,它最终会放弃,这可能意味着它永远得不到最好的内容,并会在索引中产生一堆无用的页面。
2.嵌入内容。如果你想让蜘蛛有效地抓取 网站 的内容,最好保持简单。搜索引擎蜘蛛经常遇到 JavaScript、框架、Flash 以及异步 JavaScript 和 XML (AJAX) 的问题。虽然百度/谷歌在抓取Javascript和AJAX等格式方面做得越来越好,但使用HTML是最安全的。
一个常见的例子是使用无限滚动网站。尽管它可以提高可用性,但它可能会使搜索引擎难以正确抓取您的内容并将其编入索引。确保每个 文章 或产品页面都有一个唯一的 URL,并通过传统的链接结构连接,即使它以滚动格式显示。