如何自定义DNN robots.txt以允许搜索引擎抓取模块特定的站点地图?

时间:2015-01-27 14:45:54

标签: seo dotnetnuke robots.txt googlebot

我在我们的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

1 个答案:

答案 0 :(得分:0)

这样做的正确方法是使用DNN Sitemap提供程序,这对于模块开发人员来说非常容易。

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

找到

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

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

不允许/ CTL的原因是因为加载Login / Registration / Profile控件的正常方法是执行site?ctl = login,这通常不是人们想要编入索引的内容。

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