我有一个 ASP.NET MVC 3 应用程序,在其上运行 IIS SEO 工具包并得到“页面包含多种规范格式”。由带有或不带有尾部斜杠的站点可访问引起的错误。
在搜索建议后,我找到了 Canonicalize NuGet 包 https://github.com/schourode/canonicalize
并在我的 RouteConfig.RegisterRoutes 方法中按如下方式使用它:
public static void RegisterRoutes(RouteCollection routes)
{
routes.Canonicalize().NoTrailingSlash();
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "BWS.WebUI.Controllers" });
}
然后 SEO 工具包报告“URL 使用不同的大小写链接”。所以我改成了代码
routes.Canonicalize().Lowercase().NoTrailingSlash();
SEO 工具包现在报告“页面包含不必要的重定向”。对于我的所有链接,因为任何使用大写字母的 URL 都将被重定向到小写字母的 URL。
谁能建议如何最好地处理这个问题?我真的很想改进我的网络应用程序的搜索引擎优化。
最佳答案
我们已将此插件/IIS SEO 工具包与 MVC 一起使用,效果良好,一般没有问题。在我们发布网站之前,我们还确保我们所有的内部网站 url 在 html 中都是小写的,否则理论上您会在没有意识到的情况下生成不必要的重定向 - 插件只是捕获它们。该插件仅应用作安全网以捕获您错过的网址。
关于asp.net-mvc - ASP.NET MVC 3 使用 Canonicalize 包和 IIS SEO 工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744736/