我在我们的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
答案 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文件。