txt文件是一个有用的资产,可以限制搜索引擎爬虫(如Googlebot)在您的网站上看到不重要的页面。在seoClarity,我们推荐谷歌的指导方针和最佳实践。这意味着配置您的网站,以控制非html内容如何显示在搜索结果(或确保它不显示)与X-Robots-Tag HTTP头全球。通过HTTP头阻止文件,您将确保您的站点不会开始看到您不希望出现在搜索结果中的url索引增加。

这有助于站点避免潜在的安全问题和任何可能导致索引页面不需要出现在搜索结果中的潜在冲突。然而,robots.txt也是一种有效的方法。

我们来复习一下robots.txt的基本知识和一些标准的最佳实践。

什么是Robots.txt文件?

一个robots.txt文件告诉搜索引擎爬虫可以或不能从您的站点请求哪些页面或文件。搜索引擎机器人(如谷歌机器人)会先读取robots.txt文件,然后再对你的网站进行爬网,以了解它应该处理哪些页面。

下面是robots.txt文件的示例。

机器人三种

txt文件还用于阻止机器人、爬行器和其他爬行器访问您的站点页面。当机器人、蜘蛛和其他爬虫攻击您的站点时,它们会利用大量的资源(内存和CPU),还会导致服务器上的高负载并减慢您的站点。txt文件用于限制来自机器人、蜘蛛和其他爬行器的服务器负载,它们还告诉搜索引擎他们应该和不应该在你的网站上索引什么内容。

这是很有帮助的,例如,如果你想让你的网站的一部分不被谷歌搜索引擎索引,或者如果你想让某些内容被谷歌索引,而不是Bing。下面是一个例子谷歌其中Googlebot阻止了对某些目录的访问,同时允许访问/directory2/subdirectory1/。您还将看到“另一个爬虫”被从整个网站屏蔽。

机器人示例2

用户代理被列在“组”中。每个组可以在它自己的行中通过爬虫类型指定哪些文件可以访问,哪些文件不能访问。收集机器人活动数据对于识别应该阻止访问站点内容的任何其他机器人、爬行器或爬虫尤其重要。

为什么Robots.txt文件很重要?

通知爬虫程序哪些页面要爬行,哪些页面要跳过,可以让您更好地控制站点爬网预算通过引导爬虫到你最重要的资产。通过使用robots.txt文件,您可以避免站点服务器因请求而超载的可能性。这很大程度上是因为你能够管理爬虫增加的流量,避免爬行不重要或类似的页面在你的网站。例如,在上面的robots.txt示例文件中,网站的/cgi-bin文件夹中存储了编码资产,所以添加一个禁止行可以让爬虫程序注意到,在这个文件夹中没有网站需要索引的资产。

未找到搜索结果一个警告是,根据谷歌,被robots.txt文件屏蔽的页面可能仍然会出现在搜索结果中,但搜索结果将没有描述和外观就像这张图。(了解更多关于没有页面信息的困境谷歌的帮助中心.)

如果您看到页面的搜索结果,并希望修复它,请删除robots.txt条目中阻止页面的一行。那些仍然有反向链接的页面可能仍然会出现在搜索结果中。为了正确地防止你的URL出现在谷歌搜索结果中,你应该用密码保护你服务器上的文件,或者使用noindex元标记或响应头(或者通过410或其他方法完全删除页面)。

robots . txt文件中您也可以指定哪些资产要防止出现在搜索结果中包括特定的图像、视频和音频文件,以及阻止无关紧要的形象,脚本,或样式文件(如果你认为页面加载没有这些资源不会显著影响损失)。

因为robots.txt文件向爬虫程序指示哪些页面和资源不能爬行(因此那些不会被索引的页面和资源),它们应该被审查,以确保实现是正确的。

如果页面被禁止在robots.txt文件中爬行,那么任何关于索引或服务指令的信息将不会被找到,因此将被忽略。

需要对呈现页面内容所需的重要资源(例如,包括加载以提高页面速度所需的资产)进行爬网。如果必须遵循索引或服务指令,则不能禁止对包含这些指令的URL进行爬网。

谷歌的Robots.txt文件的最佳实践

#1.阻止特定网页

txt可以用来阻止网络爬虫访问你网站上的特定网页,但一定要遵循seoClarity的建议如下。

seoClarity提示:如果有特定的页面你想阻止爬行或索引,我们建议在页面级添加一个“无索引”指令。我们建议用X-Robots-Tag HTTP头作为理想的解决方案来全局添加这个指令,如果你需要特定的页面,那么在页面层面添加“noindex”。谷歌提供了一个各种方法关于如何做到这一点。

# 2。媒体文件

使用robots.txt来管理爬行交通,还可以防止图像、视频和音频文件出现在SERP中。请注意,这并不会阻止其他页面或用户链接到您的图像、视频或音频文件。如果其他网页或网站链接到该内容,它仍可能出现在搜索结果中。

seoClarity提示:如果最终目标是不让这些媒体类型出现在SERP中,那么您可以通过robots.txt文件添加它。

# 3。资源文件

如果您认为没有这些资源加载的页面不会受到丢失的显著影响,则可以使用robots.txt阻止资源文件,例如不重要的图像、脚本或样式文件。但是,如果缺少这些资源使Google Bot更难理解页面,您不应该阻止它们,否则Google将无法分析依赖这些资源的页面。

seoClarity提示:我们推荐这种方法如果没有其他方法效果最好。如果您正在阻止重要资源(例如,在页面上呈现文本的CSS脚本),这可能会导致Google不将该文本呈现为内容。类似地,如果需要第三方资源来呈现页面并被阻止,这可能会产生问题。

如何处理“无索引”属性

谷歌不建议使用“noindex”指令向robots.txt文件中添加行。在robots.txt文件中,这一行将被忽略。如果你在robots.txt文件中仍然有" noindex "指令,我们推荐以下解决方案之一:

#1.使用Robots元标记:

上面的例子指示搜索引擎不要在搜索结果中显示该页面。name属性(robots)的值指定该指令应用于所有爬虫。要定位特定的爬虫,请将name属性的“robots”值替换为您正在定位的爬虫的名称。

seoClarity提示:对于特定页面,建议这样做。元标记必须出现在部分。如果有特定的页面,你想阻止爬行或索引,我们建议在页面上添加一个“无索引”指令。谷歌提供了具体方法来做这个

# 2。联系你的开发团队负责你的服务器,并配置X-Robots-Tag HTTP头

X-Robots-Tag可以用作给定URL的HTTP头响应的元素。可以在robots元标记中使用的任何指令也可以指定为X-robots-tag。下面是一个HTTP响应示例,其中X-Robots-Tag指示爬虫不索引页面:

HTTP / 1.1 200 OK
日期:2010年5月25日星期二21:42:43 GMT
(...)
X-Robots-Tag: noindex
(...)

此外,在某些情况下,您可能需要使用多个指令。在这些情况下,指令可以组合在逗号分隔的列表中。

seoClarity提示:我们建议您将此作为从搜索引擎阻止任何内容的首选方法。需要文件夹级别的全局指令。使用带有HTTP响应的X-Robots-Tag的好处是,您可以指定在整个站点上全局应用的爬网指令。这是在您的服务器上处理的,为了实现它,您需要与负责处理站点内部服务器的开发团队讨论。

Robots.txt常见问题

#1.失踪的robots . txt

一个没有robots.txt文件、robots元标签或X-Robots-Tag HTTP头的网站通常会被抓取和索引。

这如何成为一个问题:对于网站来说,拥有robots.txt文件是一个推荐的最佳实践,它可以为谷歌可以抓取和索引的内容和文件添加一定的控制级别。没有一个简单的谷歌将爬行和索引所有内容。

# 2。添加禁止行阻止私有内容

在robots.txt文件中添加禁止行也会带来安全风险,因为它会识别内部和私有内容的存储位置。

这如何成为一个问题:使用服务器端身份验证阻止对私有内容的访问。这对于个人身份信息(PII)尤其重要。

#3.添加禁止以避免重复内容/与规范相反使用

网站需要被抓取,以便看到规范和近似的索引。不要通过robots.txt文件阻止内容,试图将其作为规范处理。

这如何成为一个问题:某些CMS和Dev环境可能使添加自定义规范变得困难。在这种情况下,Dev可能会尝试其他方法作为变通方法。

# 4。向托管在第三方站点上的代码添加“不允许”

如果你想从第三方网站删除内容,你需要联系网站管理员让他们删除内容。

这如何成为一个问题:当很难为特定内容解释源服务器时,可能会出现错误。

#5.绝对URL的使用

robots.txt文件中的指令(除了“Sitemap:”)仅对相对路径有效。

这如何成为一个问题:有多个子目录的站点可能希望使用绝对url,但只传递相对url。

#6.Robots.txt未放置在根文件夹中

文件必须放在网站的最顶层目录中,而不是子目录。

这如何成为一个问题:确保没有将robots.txt放在任何其他文件夹或子目录中。

#7.提供不同的Robots.txt文件(国际或其他)

不建议基于用户代理或其他属性为不同的robots.txt文件提供服务。

这是如何成为一个问题的:站点应始终为国际站点实施相同的robots.txt。

# 8。添加指令阻止所有网站内容

网站所有者经常在开发过程中意外触发默认的robots.txt文件,该文件会列出一个禁止行,阻止所有网站内容。

这是如何成为一个问题的:这通常是一个错误,或者当整个站点应用了一个默认值,影响robots.txt文件并将其重置为默认值时。

#9.添加允许与不允许

网站不需要包含“允许”指令。" allow "指令用于覆盖robots.txt文件中的" disallow "指令。

这如何成为一个问题:在“禁止”非常相似的情况下,添加“允许”可以帮助添加多个属性,以帮助区分它们。

# 10。错误的文件类型扩展名

谷歌搜索控制台帮助区域有一个帖子涵盖如何创建robots.txt文件.创建文件后,可以使用robots . txt测试仪

这如何成为一个问题:文件必须以。txt结尾,并以UTF-8格式创建。

# 11。将“不允许”添加到页面所在的顶级文件夹希望索引也出现

阻止谷歌抓取一个页面可能会从谷歌的索引中删除该页面。

这如何成为一个问题:这通常是由于放置了asterix(*)而发生的。当添加到文件夹之前时,它可以表示介于两者之间的任何内容。当它添加在后面时,这是一个标志,用于阻止包含在URL/后面的任何内容。

# 12。在开发期间阻止整个站点的访问

通过为所有url(包括robots.txt文件)返回一个503的HTTP结果代码,可以暂时中止所有爬行。robots.txt文件将定期重试,直到可以再次访问它。(我们不建议将robots.txt文件更改为禁止爬行。)

这如何成为一个问题:当重新定位一个站点或进行大规模更新时,robots.txt可以默认为空,以阻止整个站点。这里的最佳实践是确保它留在现场,在维护期间不被取下。

# 13。使用大写指令和非大写指令

请记住robots.txt文件中的指令区分大小写。

这如何成为一个问题:一些CMS/Dev环境可能会自动设置url以大写和小写形式呈现robots.txt。指令必须与实际的200-live状态URL结构匹配。

# 14。使用服务器状态码(例如403)阻止访问

为了阻止网站的爬行,robots.txt必须正常返回(即200 " OK " HTTP结果代码),并在其中添加适当的" disallow "。

这如何成为一个问题:当重新定位站点或进行大规模更新时,robots.txt可能为空或被删除。最佳做法是确保它留在现场,在维护期间不被取下。

如何检查你的网站是否已经实现了x - robots标签

一个快速和简单的检查服务器头的方法是使用基于web的服务器头检查器,或使用“获取作为广告的"功能在谷歌搜索控制台。

关键外卖

您应该检查我们的最佳实现步骤,以确保您的站点遵循robots.txt文件的所有最佳实践,并将您的站点与我们上面列出的常见错误进行比较。

然后,创建一个进程来处理和删除robots.txt中的无索引行。进行一次完整的网站爬行以识别应添加为禁止行的任何附加页。确保你的站点没有使用自动重定向或改变robots.txt。对站点更改前后的性能进行基准测试。请注意我们的客户成功的经理可以帮助您创建这些报告以进行基准测试。

如果你需要额外的帮助,我们的专业服务团队可以帮助诊断任何错误,为您提供实现清单和进一步的建议,或协助QA测试。