我有一个 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。
谁能建议如何最好地处理这个问题?我真的很想改善我的网络应用程序的 SEO。