【问题标题】:Exclude specific Folders from being crawled?排除特定文件夹被抓取?
【发布时间】:2014-02-09 21:06:18
【问题描述】:

我想排除我的用户文件夹被搜索蜘蛛抓取。

结构如下。用户帐户在

www.mydomain.com/username

问题是我不能在 robots.txt 的不允许部分中排除“/”,因为还有其他文件夹,例如

 www.mydomain.com/legal
 www.mydomain.com/privacy

还有一些用户可以生成的项目应该是可抓取的。他们在

 www.mydomain.com/username/items/itemId

我必须如何为该场景设置我的 robots txt?

【问题讨论】:

    标签: html web-crawler backend robots.txt google-search


    【解决方案1】:

    检查以下已回答的问题,也许它可以解决您的问题:

    Robots.txt Disallow Certain Folder Names

    希望这会有所帮助。

    编辑

    请参阅以下已回答的问题以排除文件夹但不排除其子文件夹

    Robots.txt Allow sub folder but not the parent

    你还应该考虑使用如下结构:

    mydomain.com/users/user1/subfolder
    mydomain.com/users/user2/subfolder
    

    为了更准确地定位您的规则。

    【讨论】:

    • 嗯,它有助于解决第一个问题,但不是第二个问题。因为,用户名位于项目的路径中。对这个问题有任何想法吗?
    • 用户名是变量吗?假设您有 2 个用户(taxicala 和配置文件),您将有 2 个文件夹,对吗? (www.mydomain.com/taxicala/ 和 www.mydomain.com/confile/)
    • 是吗?在这些文件夹中有子文件夹 /items/,即 confile/items/ 和 taxicala/items/。我希望这些子文件夹中的所有内容都应该是可抓取的。我该怎么做?
    • 在答案中查看我的编辑。
    • 没有users文件夹也可以吗?
    【解决方案2】:

    如果可能,您应该按照taxicala 的建议更改您的目录结构。

    如果你绝对不能改变你的目录结构,你可以使用允许指令和通配符来处理这两个问题:

    User-agent: *
    Allow: /legal$
    Allow: /privacy$
    Allow: /*/items/
    Disallow: /
    

    请注意,并非所有机器人都支持这种语法。这肯定适用于所有主要搜索引擎,但它可能不适用于一些较旧的机器人。此外,这并不是特别面向未来的。如果您稍后添加一些新的顶级页面而忘记将它们添加到 robots.txt 文件中,它们将被静默阻止。理想的方法是使用目录结构,将您想要阻止的内容与您不想阻止的内容隔离开来。

    【讨论】:

    • $ 符号代表什么?
    • $ 表示“URL 的结尾”,因此 /legal$ 将匹配 /legal 但不会匹配 /legal/subdir 或 /legalese 或 legal?param=value。
    猜你喜欢
    • 2015-12-11
    • 2012-11-19
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    相关资源
    最近更新 更多