本系列文章导航
VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇
VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇
VS 2010 和 .NET 4.0 系列之《起始项目模板》篇
VS 2010 和 .NET 4.0 系列之《多定向支持》篇
VS 2010 和 .NET 4.0 系列之《多显示器支持》篇
VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇
VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇
VS 2010 和 .NET 4.0 系列之《自动启动ASP.NET应用》篇
VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇
VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇
VS 2010 和 .NET 4.0 系列之《VS 2010代码智能提示的改进》篇
VS 2010 和 .NET 4.0 系列之《添加引用对话框的改进》篇
VS 2010 和 .NET 4.0 系列之《内置图表控件》篇
ASP.NET 4包括了一系列新的运行时特性,可以帮助你进一步优化你的网站。其中一些新特性可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,这些特性包括:
- 新的Page.MetaKeywords 和 Page.MetaDescription 属性
- 针对ASP.NET Web Forms的新URL导向支持
- 新的Response.RedirectPermanent()方法
下面是如何利用这些特性来进一步提高搜索引擎相关性的细节。
Page.MetaKeywords 和 Page.MetaDescription 属性
改进网页搜索相关性的一个简单建议是,确定你总是在你HTML中的<head>部分输出相关的“keywords(关键词)” and “description(描述)” <meta>标识。例如:
SP.NET 4 Web Forms中一个很好的改进是在Page类中加了2个新属性:MetaKeywords 和 MetaDescription,它们使得在后台代码类中用编程的手法设置这些值更容易,也更干净。
ASP.NET 4的 <head> 服务器控件现在会看这些值,然后在输出网页的<head>部分时使用它们。这个行为在使用母版页的场景中尤其有用,<head> 是在.master文件中,与含有特定页面内容的.aspx文件是分开的。你现在可以在.aspx页面中设置新的MetaKeywords 和 MetaDescription属性,它们的值会自动地由母版页中的<head>控件来显示。
下面是简单的代码片段,示范如何在Page_Load()事件处理函数中用编程手法设置这些属性:
除了在后台代码中用编程手法设置Keywords 和 Description属性外,你现在还可以在.aspx网页顶部的@Page指令中用声明的方式设置它们。下面的代码片段示范该怎么做:
就象你能预期的那样,如果你用编程手法设置这些值的话,它们会替代在<head>部分或@Page指令中声明设置的任何值。
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=software
使用ASP.NET 4中的URL导向引擎,你现在可以配置应用来接受下面这样的URL来显示同样的信息:
http://www.mysite.com/products/software
在ASP.NET 4.0中,象上面那样的URL现在可以映射到ASP.NET MVC控制器类,也可映射到基于ASP.NET Web Forms的网页。你甚至可以有一个应用,同时含有 Web Forms 和 MVC控制器,使用单一一套导向规则在它们之间映射URL。
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 4包含了成堆的特性改进来方便建造极致SEO的面向公众的网站。你应该能够使用这些特性增加到你网站的用户流量, 但愿能直接或间接地增加你从中取得的收入。