艾伟_转载:VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇

简介: 本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .

本系列文章导航

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个新属性:MetaKeywordsMetaDescription,它们使得在后台代码类中用编程的手法设置这些值更容易,也更干净。

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的面向公众的网站。你应该能够使用这些特性增加到你网站的用户流量, 但愿能直接或间接地增加你从中取得的收入。

目录
相关文章
|
3月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
72 5
|
4月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
4月前
|
开发框架 .NET 开发工具
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
【Azure 应用服务】App Service 的.NET Version选择为.NET6,是否可以同时支持运行ASP.NET V4.8的应用呢?
|
5月前
|
开发框架 搜索推荐 前端开发
【.NET全栈】ASP.NET开发Web应用——Web部件技术
【.NET全栈】ASP.NET开发Web应用——Web部件技术
|
4月前
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
|
6月前
|
Linux C# C++
【.NET Developer】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
本文介绍了如何使用VS2019和.NET框架创建一个Blazor应用,并将其部署到Azure应用服务。首先,Blazor是一个使用C#而非JavaScript构建交互式Web UI的框架,支持共享服务器和客户端应用逻辑,以及与Docker和Azure集成。任务包括创建Blazor项目,配置Dockerfile为Linux容器,本地测试,发布到Azure Container Registry (ACR),然后在Azure App Service for Container上部署。在部署过程中,需确保Docker设置正确,开启ACR的Admin访问权限,并监控镜像拉取和容器启动日志。
286 0
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
51 7
|
3月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
82 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
60 0
|
4月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?