我在我们的DNN网站上使用EasyDNN新闻模块用于博客,新闻文章等 . 核心DNN站点 Map 不包含此模块生成的文章,但模块会创建自己的站点 Map .
例如:domain.com/blog/mid/1005/ctl/sitemap
当我尝试将此站点 Map 提交给Google时,它说我的Robots.txt文件阻止了它 .
查看DNN附带的Robots.txt文件,我注意到Slurp和Googlebot用户代理下面的以下行:
Disallow: /*/ctl/ # Slurp permits *
Disallow: /*/ctl/ # Googlebot permits *
我想提交模块的站点 Map ,但我想知道为什么这些用户代理不允许使用/ ctl,如果我从文件中删除这些行会有什么影响呢?具体而言,因为它与Google抓取网站有关 .
作为一个额外的参考,我已经阅读了下面的文章,通过禁止包含/ ctl的特定网址(例如登录,注册,条款等)来避免重复内容惩罚 . 我想知道这是否是为什么DNN只是禁止任何网址/ CTL .
http://www.codeproject.com/Articles/18151/DotNetNuke-Search-Engine-Optimization-Part-Remov
1 回答
正确的方法是使用DNN Sitemap提供程序,这是一个非常容易做模块开发人员的事情 .
我没有关于它的博客文章/教程,但我确实有可以找到的示例代码
http://dnnsimplearticle.codeplex.com/SourceControl/latest#cs/Providers/Sitemap/Sitemap.cs
这将允许自定义模块将自己的信息添加到DNN站点 Map .
原因/ CTL是不允许的,因为加载登录/注册/配置文件控件的正常方法是执行site?ctl = login,这通常不是人们想要编入索引的内容 .
另一个选项是编辑robots.txt文件 .