快速业务通道

在asp.net 2.0中结合母板页使用meta标签(扩展@Page指令)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19

原文地址:http://www.codeproject.com/KB/aspnet/PageTags.aspx

作者:Jim Azar

介绍

母板页是asp.net 2.0中的一个非常强大的特性,但是它却不能提供一个实现最基础的针对搜索引擎优化的方法。如果你想你的web页被搜索引擎收录并提高排名,那么你就需要在每一个页都指定一个title和meta标记。本文将说明如何扩展你的asp.net页,以使得在使用母板页的时候你可以直接在你内容页的@Page指令中指定你的meta标签的描述和meta标签的关键字。

背景

当你要针对搜索引擎优化你的web页的时候,设置页的title标签和页的meta描述是其中最重要的因素之一。<title>和meta标签实际上是在每个页的HTML的<head>部分,下面出示一个Rhinoback online backup的例子。

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>
  Rhinoback Professional Secure Online Backup Services for Small and Medium Business - SMB
</title>
<meta name="description" content="Professional Online Backup Services.
   Rhinoback provides robust backup functionality at affordable prices. 
   Premium features, premium services, low prices. Get the most for
   your money with Rhinoback!" />
<meta name="keywords" content="backup, online backup, secure backup, cheap backup,
   free backup, offsite backup,internet backup, secure files, offsite data storage,
   privacy, security, features, low prices, premium service, remote backup" />
</head>
<body>
   <!-- page content -->
</body>
</html>

<title>标签的文本显示在浏览器的顶端。从下面的例子中可以看到<title>在IE中的显示

在asp.net 2.0中结合母板页使用meta标签(扩展@Page指令)

当你的页被搜索引擎收录的时候,meta描述的文本则在搜索引擎的列表中显示。下面的例子来自google。带下划线的标题的下面的文本就来自页的meta描述标签。如果没有meta描述标签,那你的页在搜索引擎的列表中将显示为你的页上的某一处的文本。指定你的每一个页的描述文本要比把这些事情交给搜索引擎做好的多。

在asp.net 2.0中结合母板页使用meta标签(扩展@Page指令)

母板页已经被证明是asp.net 2.0中非常有用的一个特性。本文不是来说明母板页的细节或是如何实现它,因为这样的文章太多了。当我们在母板页中使用了<head>的话,那么母板页下的所有内容页都将自动的包括这个<head>。幸运的是开发人员可以在内容页中直接在@Page指令中修改title属性来修改内容页的title。

<%@ Page Language="C#" MasterPageFile="~/PageTags.master" AutoEventWireup="true" CodeFile="home.aspx.cs" Inherits="home" Title="My home page title" %>

上面的@Page指令说明了这是一个使用了母板页的内容页。如果你要指定meta标签的话,应该在内容页中指定。你可以看到@Page指令中有一个“Description”属性,但是它不能在你的页上创建meta描述标签。事实上,即使你指定了“Description”属性,最后也会被忽略掉而不做任何事的。

我不可能让站点的所有页都使用同一个描述,而且我想给每一页都加一个关键字。我们首先想到的解决办法就是在后置代码中插入我们想要的meta标签到每一个页的<head>里,就像如下的做法

C#

protected void Page_Load(object sender, EventArgs e)
{
  HtmlMeta tag = new HtmlMeta();
  tag.Name = "description";
  tag.Content = "My description for this page";
  He

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号