【问题标题】:How to customize DNN robots.txt to allow a module specific sitemap to be crawled by search engines?如何自定义 DNN robots.txt 以允许搜索引擎抓取特定模块的站点地图?
【发布时间】:2015-01-27 14:45:54
【问题描述】:

我正在为我们 DNN 网站上的博客、新闻文章等使用 EasyDNN 新闻模块。核心 DNN 站点地图不包括该模块生成的文章,但该模块会创建自己的站点地图。

例如: domain.com/blog/mid/1005/ctl/sitemap

当我尝试将此站点地图提交给 Google 时,它​​说我的 Robots.txt 文件阻止了它。

查看 DNN 附带的 Robots.txt 文件,我注意到 Slurp 和 Googlebot 用户代理下的以下行:

Disallow: /*/ctl/       # Slurp permits *
Disallow: /*/ctl/       # Googlebot permits *

我想提交模块的站点地图,但我想知道为什么这些用户代理不允许使用 /ctl,如果我只是从文件中删除这些行会有什么影响?具体来说,它与 Google 抓取网站有关。

作为补充参考,我已阅读下面有关通过禁止包含 /ctl 的特定网址(例如登录、注册、条款等)来避免重复内容处罚的文章。我想知道这是否是 DNN 刚刚禁止任何内容的原因带有 /ctl 的网址。

http://www.codeproject.com/Articles/18151/DotNetNuke-Search-Engine-Optimization-Part-Remov

【问题讨论】:

    标签: seo dotnetnuke robots.txt googlebot


    【解决方案1】:

    执行此操作的正确方法是使用 DNN 站点地图提供程序,这对于模块开发人员来说非常容易做到。

    我没有关于它的博客文章/教程,但我有示例代码,可以在

    中找到

    http://dnnsimplearticle.codeplex.com/SourceControl/latest#cs/Providers/Sitemap/Sitemap.cs

    这将允许自定义模块将自己的信息添加到 DNN 站点地图。

    不允许 /CTL 的原因是因为加载登录/注册/配置文件控件的正常方法是执行 site?ctl=login,这通常不是人们想要索引的东西。

    另一个选项是编辑 robots.txt 文件。

    【讨论】:

    • EasyDNN 告诉我,他们现在将在未来的版本中从站点地图 url 中删除 /ctl,但听起来您的第一个建议将是他们的最佳选择。至于编辑 robots.txt 文件,我是否可以只删除 */ctl 通配符行,然后禁止登录、注册等特定 url?
    • 是的,你现在可以采用这种方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多