导语:ASP.NET 4包括了一系列新的运行时特性,可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,从而进一步优化你的网站。这些特性包括:针对ASP.NET Web Forms的新URL导向支持、新的Response.RedirectPermanent()方法、新的Page.MetaKeywords 和 Page.MetaDescription 属性。

  下面是如何利用这些特性来进一步提高搜索引擎相关性的细节。

  Page.MetaKeywords 和 Page.MetaDescription 属性

  改进网页搜索相关性的一个简单建议是,确定你总是在你HTML中的部分输出相关的“keywords(关键词)” and “description(描述)”标识。例如:

  

  ASP.NET 4 Web Forms中一个很好的改进是在Page类中加了2个新属性:MetaKeywords 和 MetaDescription,它们使得在后台代码类中用编程的手法设置这些值更容易,也更干净。

  ASP.NET 4的 服务器控件现在会看这些值,然后在输出网页的部分时使用它们。这个行为在使用母版页的场景中尤其有用, 是在.master文件中,与含有特定页面内容的.aspx文件是分开的。你现在可以在.aspx页面中设置新的MetaKeywords 和 MetaDescription属性,它们的值会自动地由母版页中的控件来显示。

  下面是简单的代码片段,示范如何在Page_Load()事件处理函数中用编程手法设置这些属性:

  

  除了在后台代码中用编程手法设置Keywords 和 Description属性外,你现在还可以在.aspx网页顶部的@Page指令中用声明的方式设置它们。下面的代码片段示范该怎么做:

  

  就象你能预期的那样,如果你用编程手法设置这些值的话,它们会替代在部分或@Page指令中声明设置的任何值。

 Response.RedirectPermanent() 方法

  随着时间的迁移,在web应用间移动网页和其他内容是极其常见的,但会导致在搜索引擎中失效链接的积累。

  在ASP.NET中,开发人员经常使用Response.Redirect()方法,用编程的手法,将对老的URL的请求转到新的URL上。但许多开发人员没有意识到的是,Response.Redirect()方法发的是个 HTTP 302 Found (临时转向) 回复,会在用户尝试访问老的URL时,导致多余的HTTP往返。搜索引擎一般不会跟随多个重新转向跳转,意味着使用一个临时转向会负面影响你的网页排名。

  ASP.NET 4引进了一个新的Response.RedirectPermanent(string url)辅助方法,可以用来做一个HTTP 301 (永久性重定向)重新定向。这会导致能识别永久性重新定向的搜索引擎和其他用户代理保存和使用与内容相关联的新URL。这会使你的内容编入索引,你的搜索引擎页面排名得到提高。

  下面是使用新的Response.RedirectPermanent()方法重新定向到特定URL的一个例子:

  

  ASP.NET 4还引进了新的Response.RedirectToRoute(string routeName) 和 Response.RedirectToRoutePermanent(string routeName)辅助方法,可以用来通过URL导向引擎做临时或永久性的重新定向。下面的代码片段示范了如何发出临时和永久性的重新定向到注册在URL导向系统中的具名路径的(该路径接受一个category参数)。

  

  你可以同时针对基于ASP.NET Web Forms以及基于ASP.NET MVC 的URL使用上面的路径和方法。

  ASP.NET Web Forms中的URL导向

  URL导向是我们最先在ASP.NET 3.5 SP1中引进的一个功能,已为ASP.NET MVC应用所用,来呈示干净的,SEO友好的“web 2.0” URL。URL导向让你配置一个应用来接受并不映射到物理文件的请求URL,你可以使用导向来定义对用户来说语义上更具含义的URL,这些URL有助于搜索引擎优化(SEO)。

  例如,一个显示产品分类的传统网页的URL也许看上去会是这样的:

  http://www.mysite.com/products.aspx?category=softwar