阻止搜索引擎抓取和搜索引擎无法访问不是一回事,无法访问是直接打不开你网站,阻止抓取是通过robots.txt
有一个外贸客户就是这样,在robots.txt里面把所有搜索引擎都阻止了,他朋友说是他服务器问题,让他换服务器,结果帮忙一看,robots.txt直接Disallow了所有搜索引擎。
User-Agent: * Disallow:
解决方法:
首先弄明白什么是 Robots.txt 文件?
robots.txt是一个文本文件,包含一条或多条记录,每条记录通过空行分隔(注释标记为“#”),网站所有者可以创建该文件来告诉搜索引擎机器人如何在其网站上抓取和索引页面。
它通常存储在根目录中,robots.txt 文件的基本格式如下所示:
User-agent: [user-agent name]
Disallow: [URL string not to be crawled]
User-agent: [user-agent name]
Allow: [URL string to be crawled]
Sitemap: [URL of your XML Sitemap]
robots.txt 语法
- User-agent
该项的值用于描述搜索引擎 robot 的名字。在 robots.txt 文件中,如果有多条 User-agent 记录,则说明有多个 robot 会受到该协议的限制。对 robots.txt 文件来说,至少应该有一条 User-agent 记录。如果该项的值设为“*”,则该协议对所有的机器人均有效,但在 robots.txt 文件中, User-agent:*这样的记录只能出现一次。
- Disallow
该项值用于描述不希望被搜索引擎访问的目录或URL(可以是绝对路径或相对路径),任何以 Disallow 开头的 URL 或者目录均不会被 robot访问。
如果 Disallow 记录为空,则说明该网站的所有内容都允许访问。在 robots.txt 文件中至少要有一条 Disallow 记录。
如果 robots.txt 是一个空文件,则说明该网站的所有内容对于所有搜索引擎都是开放的。
以下是 robots.txt 示例文件:
User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-admin/
Sitemap: https://yourweb.com/sitemap_index.xml
在上面的 robots.txt 示例中
- 我们允许搜索引擎在我们的
/wp-content/uploads/
文件夹中抓取和索引文件。 - 我们禁止搜索机器人抓取插件和索引插件以及 WordPress 管理员文件夹。
- 最后,我们提供了XML站点地图的URL。
你可以使用多行说明来允许或禁止特定URL并添加多个站点地图。如果不禁止 URL,则搜索引擎机器人会默认可以抓取它。
Robots meta 标签
Robots meta 标签用于限制搜索引擎对当前页面的抓取,存放在页面的头部中。例如:
<html>
<head>
<title>…<title>
<meta name=”robots”
content=”noindex,nofollow”>
</head>
……
常见的content属性值包括:
- NOINDEX——不索引当前页
- NOFOLLOW——不跟踪当前页面中的所有链接
- NOARCHIVE—— 在搜索结果中不保存当前页面的快照
- NOSNIPPET——搜索结果中不采用当前页面的头部信息,且不保存当前页面的快照
- NOODP——在搜索结果中不使用
你需要一个针对你的WordPress网站的Robots.txt文件吗?
如果你的网站没有robots.txt文件,那么搜索引擎仍会抓取你的网站并将其编入索引。但是,你将无法告诉搜索引擎他们不应抓取哪些页面或文件夹。
当你第一次创建博客并且没有大量内容时,这不会产生太大影响。
但是,随着你的网站不断增长并且拥有大量内容,你可能希望更好地控制网站的抓取和编制方式。
这就是为什么要创建Robots.txt的原因。
搜索机器人(蜘蛛)每个网站都有一个抓取配额。
这意味着他们在爬网会话期间抓取一定数量的页面。如果他们没有完成对您网站上的所有网页的抓取,那么他们将返回并在下一个会话中继续抓取。
这可能会降低你的网站索引速度。
您可以通过禁止搜索机器人尝试抓取不必要的页面(如WordPress管理页面,插件文件和主题文件夹)来解决此问题。
通过禁止不必要的页面,您可以保存爬网配额。这有助于搜索引擎抓取您网站上的更多网页,并尽快为其编制索引。
使用 robots.txt 文件的另一个理由是,你希望阻止搜索引擎索引您网站上的帖子或页面。
这不是向公众隐藏内容的最安全方式,但它可以帮助您防止它们出现在搜索结果中。
理想的 Robots.txt 文件
许多流行的博客使用非常简单的robots.txt文件。它们的内容可能会有所不同,具体取决于特定网站的需求:
User-agent: *
Disallow:
Sitemap: http://www.example.com/post-sitemap.xml
Sitemap: http://www.example.com/page-sitemap.xml
此 robots.txt 文件允许所有机器人索引所有内容,并为其提供指向网站的XML站点地图的链接。
对于WordPress网站,我们建议在robots.txt文件中使用以下规则:
User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-admin/
Disallow: /readme.html
Disallow: /refer/
Sitemap: http://yourweb.com/post-sitemap.xml
Sitemap: http://yourweb.com/page-sitemap.xml
这告诉搜索机器人索引所有 WordPress 图像和文件。它不允许搜索机器人索引 WordPress 插件文件,WordPress 管理区域,WordPress 自述文件和会员链接。
通过将站点地图添加到 robots.txt 文件,你可以轻松地让 Google 机器人找到你网站上的所有网页。
既然知道了一个理想的 robots.txt 文件是什么样子,那么让我们来看看如何在 WordPress 中创建一个 robots.txt 文件。
如何在 WordPress 中创建 Robots.txt 文件?
有两种方法可以在WordPress中创建robots.txt文件。您可以选择最适合你的方法。
方法:使用 Yoast SEO 编辑 robots.txt 文件
如果你使用的是 Yoast SEO 插件,那么它附带了一个 robots.txt 文件生成器。
您可以使用它直接从 WordPress 管理区域创建和编辑 robots.txt 文件。
只需转到 WordPress 管理员中的SEO»工具页面,然后单击文件编辑器链接。
在下一页,Yoast SEO页面将显示你现有的robots.txt文件。
如果您没有robots.txt文件,那么Yoast SEO将为你生成robots.txt文件。
默认情况下,Yoast SEO 的robots.txt文件生成器会将以下规则添加到您的robots.txt文件中:
User-agent: *
Disallow: /
删除该文本,因为它会阻止搜索引擎索引你的网站。
删除默认文本后,您可以继续添加自己的robots.txt规则。我们建议使用上面的理想robots.txt格式。
完成后,请不要忘记点击“保存robots.txt文件”按钮来存储你的更改。
如何测试你的Robots.txt文件?
创建robots.txt文件后,最好使用robots.txt测试工具对其进行测试。
有很多robots.txt测试工具,但我们建议使用 Google Search Console 中的工具。
只需登录您的Google Search Console帐户,然后切换到旧的Google搜索控制台网站即可。
这会将您带到旧的Google Search Console界面。在这里,您需要启动位于“抓取”菜单下的robots.txt测试工具。
该工具将自动获取您网站的robots.txt文件,并在发现错误和警告时突出显示错误和警告。
总结
优化robots.txt文件的目的是阻止搜索引擎抓取不公开的网页。例如,wp-plugins文件夹中的页面或WordPress管理文件夹中的页面。
SEO专家的一个常见建议是,阻止WordPress类别,标签和存档页面将提高抓取速度并导致更快的索引和更高的排名。
这不是真的。这也违反了Google的网站管理员指南。
我们建议您按照上述robots.txt格式为您的网站创建robots.txt文件。
(从奶爸&Andy8723转载并补充改进,29.09.2023)