【问题标题】:DotNetNuke robots.txt not being honored by google botsDotNetNuke robots.txt 没有被谷歌机器人认可
【发布时间】:2017-12-03 04:36:14
【问题描述】:

我有一个多门户 dotnetnuke 安装:
domain1.com
domain2.com
domain3.com 等

服务器是 32 gigs,8 个内核。

我有一个 robots.txt 文件。当谷歌开始抓取时,我看到多个谷歌 IP 地址的 cpu 峰值达到 100% 几个小时。根据 IIS,它尝试抓取的 url 是 /lmm-product-service/elmah.axd/detail?id=af51e96f-d0cd-4598-90ad-ebe980947fa6 每次启动时都有一个新 ID。 google bot 的所有当前实例的 url 都是相同的,但在重新开始抓取时会发生变化。

该网址无效。当我尝试在浏览器中访问它时,我收到 404 错误 - 未找到。

我试图在我的 robots.txt 中禁止 /lmm-product-service/ 无济于事:

    User-agent: Googlebot
    Disallow: /*/ctl/       # Googlebot permits *
    Disallow: /admin/
    Disallow: /lmm-product-service/

实际上不仅仅是谷歌在做这件事。它也是 ahrefs,但我已经在防火墙处阻止了它们。

有什么建议吗?

【问题讨论】:

    标签: dotnetnuke robots.txt


    【解决方案1】:

    问题在于外部 ASP.NET 记录器 ELMAH。如果 DNN 使用此记录器,则 DNN 软件中存在错误!升级 DNN !!... 错误:System.ComponentModel.Win32Exception 你确定 Google Bot 是真的吗?有假货的

    【讨论】:

    • 是的,这不是问题所在。 DNN 8 不使用 elmah。就像我说的,该 url 甚至无效,但机器人仍在尝试抓取它并且不尊重 robots.txt。有什么建议吗?
    • 查看您的 SQL 日志文件
    • 我有。与此无关。
    • 使用 Google 和 ELMAH 劫持会话link
    【解决方案2】:

    好的。保持我的手指交叉。我采取了不同的策略。我只是添加了一个urlrewrite规则:

        <rule name="KillElmahRequests" enabled="true" stopProcessing="true">
            <match url=".*elmah.*" />
            <action type="AbortRequest" />
        </rule>
    

    现在已经快 90 分钟了,没有任何问题。我仍然不知道为什么机器人试图抓取一个不存在的 url,以及为什么,因为它不存在,它正在吃掉 w3wp.exe 进程,但这似乎正在工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-26
      • 2012-07-03
      • 2013-02-17
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多