检查 Robots.txt 中的特定文本

Posted

技术标签:

【中文标题】检查 Robots.txt 中的特定文本【英文标题】:Check for specific text in Robots.txt 【发布时间】:2015-10-05 09:28:01 【问题描述】:

我的网址以&content=Search 结尾。我想阻止所有以此结尾的 URL。我在 robots.txt 中添加了以下内容。

User-agent: *
Disallow:
Sitemap: http://local.com/sitemap.xml
Sitemap: http://local.com/en/sitemap.xml
Disallow: /*&content=Search$

但是在 https://webmaster.yandex.com/robots.xml 中测试 /en/search?q=terms#currentYear=2015&content=search 时它不起作用。它对我不起作用,因为content=search# 字符之后。

【问题讨论】:

你如何测试/知道它不起作用? @unor 我在“webmaster.yandex.com/robots.xml#results”测试过 使用此检查器测试 /foobar&content=Search 对我有用:“被规则 /*&content=Search$ 阻止”。 @unor Url 我正在检查的是“/en/search?q=terms#currentYear=2015&content=search”。它对我不起作用,因为 content=search 在 # 个字符之后 【参考方案1】:

如果您测试 Search 而不是 search,Yandex Robots.txt analysis 将阻止您的示例,因为 Robots.txt Disallow 值区分大小写。

如果您的网站使用不区分大小写的 URL,您可能希望使用:

User-agent: *
Disallow: /*&content=Search$
Disallow: /*&content=search$
# and possibly also =SEARCH, =SEarch, etc.

话虽如此,我不知道 Yandex 是否真的支持 URL 片段(我猜这很不寻常),尽管他们的工具给人的印象是。

【讨论】:

以上是关于检查 Robots.txt 中的特定文本的主要内容,如果未能解决你的问题,请参考以下文章

网站robots.txt探测工具Parsero

robots.txt 文件是什么? 如何获取

robots.txt的语法和写法详解

网站的robots.txt文件

十urllib库(分析Robots协议)

robots.txt