MVC.NET 4中的Robots.txt文件

Beh*_*ani 9 asp.net seo robots.txt asp.net-mvc-4

我在ASP MVC.NET项目中读过一篇关于忽略某些url机器人的文章.在他的文章中,作者说我们应该在这样的一些off控制器中添加一些动作.在此示例中,他将操作添加到Home Controller:

#region -- Robots() Method --
public ActionResult Robots()
{
    Response.ContentType = "text/plain";
    return View();
}
#endregion
Run Code Online (Sandbox Code Playgroud)

然后我们应该在我们的项目中添加一个Robots.cshtml文件

@{
    Layout = null;
}
# robots.txt for @this.Request.Url.Host

User-agent: *
Disallow: /Administration/
Disallow: /Account/
Run Code Online (Sandbox Code Playgroud)

最后我们应该将这行代码添加到 Gloabal.asax

routes.MapRoute("Robots.txt",
                "robots.txt",
                new { controller = "Home", action = "Robots" });
Run Code Online (Sandbox Code Playgroud)

我的问题是机器人是否抓取了具有[授权]属性的控制器Administration

Eri*_* J. 12

机器人是否会抓取具有[授权]属性(如管理)的控制器

如果他们找到了它的链接,他们可能会尝试抓取它,但它们会像任何没有登录的网络浏览器一样失败.机器人没有特殊的能力以不同于标准浏览器的方式访问您的网站.

请注意,符合机器人排除标准机器人会抓取确切的网址

HTTP://mydomain/robots.txt

您可以根据需要为该URL创建响应.一种方法当然是拥有一个处理该请求的控制器.您还可以添加一个文本文件,其中包含您从控制器返回的相同内容,例如

User-agent: *
Disallow: /Administration/
Disallow: /Account/
Run Code Online (Sandbox Code Playgroud)

到项目的根文件夹,并确保将其标记为内容,以便将其部署到网站.

添加此robots.txt条目将阻止符合规范的机器人尝试浏览需要身份验证的控制器(并稍微减轻您网站上的负载),但如果没有机器人文件,他们只会尝试使用URL并失败.