存档

文章标签 ‘标签’

在asp.net 2.0中结合母板页使用meta标签

2008年5月25日 編程·程序設計 531 views

介绍
母板页是asp.net 2.0中的一个非常强大的特性,但是它却不能提供一个实现最基础的针对搜索引擎优化的方法。如果你想你的web页被搜索引擎收录并提高排名,那么你就需要在每一个页都指定一个title和meta标记。本文将说明如何扩展你的asp.net页,以使得在使用母板页的时候你可以直接在你内容页的@Page指令中指定你的meta标签的描述和meta标签的关键字
背景
当你要针对搜索引擎优化你的web页的时候,设置页的title标签和页的meta描述是其中最重要的因素之一。<title>和meta标签实际上是在每个页的HTML的<head>部分,下面出示一个Rhinoback online backup的例子。

XML/HTML代码

<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中的显示

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

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

XML/HTML代码

<%@ 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";   
    Header.Controls.Add(tag);   
}  

ASP/Visual Basic代码

Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)   
    Dim tag As HtmlMeta = New HtmlMeta()   
    tag.Name = "description"  
    tag.Content = "My description for this page"  
    Header.Controls.Add(tag)   
End Sub  

这种解决方法有一个问题,就是页的标题,meta描述,meta关键字都是相互关联的,所以我们想的是最好让标题和描述在同一个文件中指定。在Page_Load方法里确实可以很简单的在.aspx页中加入一个<script>标签,但是我想要一个更简单的设置和检查每一页标签的解决方案。
在接下来的方案中我们会看到如何通过扩展@Page指令给每一页加上meta标签。

解决方案
我创建了一个继承自System.Web.UI.Page的page基类,并且让我的内容页继承自我的BasePage类。BasePage类包含了在.aspx页中给header控件中增加meta标签的代码,当我们继承了BasePage的之后,这段代码就只需要在一个地方存在,而不用每一页都写一遍。

C#代码

using System;   
using System.Web.UI;   
using System.Web.UI.HtmlControls;   
using System.Text.RegularExpressions;   
  
/**//// <SUMMARY>   
/// 为了给内容页增加meta标签而扩展基类   
/// </SUMMARY>   
public class BasePage : Page   
{   
    private string _keywords;   
    private string _description;   
    // 构造函数   
    // 增加一个Init的事件处理   
    public BasePage()   
    {   
        Init += new EventHandler(BasePage_Init);   
    }   
  
    // 页将使用这个基类初始化   
    // 如果可用则增加meta关键字和meta描述   
    void BasePage_Init(object sender, EventArgs e)   
    {   
  
        if (!String.IsNullOrEmpty(Meta_Keywords))   
        {   
            HtmlMeta tag = new HtmlMeta();   
            tag.Name = "keywords";   
            tag.Content = Meta_Keywords;   
            Header.Controls.Add(tag);   
        }   
  
        if (!String.IsNullOrEmpty(Meta_Description))   
        {   
            HtmlMeta tag = new HtmlMeta();   
            tag.Name = "description";   
            tag.Content = Meta_Description;   
            Header.Controls.Add(tag);   
        } [...]

, , , ,

丰富meta标签之Sablog

2008年3月31日 SEO 603 views

今天在SEO杂碎中看到该blog的一篇文章是改进Sablog的meta功能,这个也是近来自己在考虑到事,想对Sablog进行一次动手术,没想到今天就看到这个,所以免去了自己的研究,按他的方法对本站进行修改,效果也蛮好的。下面内容是转载自Sablog改进之丰富meta标签。
对Description标签说明如下:
Description标签就在title后面,该标签可以是一小段(一个或者两个句子)。用于描述你网站。与title标签一样,这也是人们在搜索引擎 列表中链接到你网站的点击。这些描述将鼓动人们去浏览你的网站而不是你竞争对手的。(描述不能太夸张。不然,当访问者到你网站发现内容根本不是你说的那个 样子,那么他很快就会退出去。)很多搜索引擎允许描述的字数在150个左右,所以你要保证你的描述在150以下,否则搜索引擎会自动把多余的部分剪去从而 造成你网站的描述的不完整。搜索引擎认为描述里的关键字远比网页中的内容要重要(好像现在这种情况不是那么明显了)。真如上所述,这里提供了非常重要的信 息:确定你的描述能正确的反映你网站的主题,尽量在描述中加入你主要的关键字,越靠meta的关键字意义越大。这样会突显你的关键字。
我们要利用的就是Sablog中的文章描述。
咱们就把文章描述当作显示此文章的页面的Description标签。
具体如何改呢?
只需要修改index.php文件,查找到如下内容,大概在259行:

PHP代码

//设置文章的分类名、作者、TAG、标题成为meta\title信息      
$options['meta_keywords'] = $article['cname'].‘,’.$article['username'].‘,’.($article['keywords'] ? $article['keywords'].‘,’ : ”).$article['title'].‘,’.$options['meta_keywords'];      
$options['meta_description'] = $article['cname'].‘,’.$article['username'].‘,’.($article['keywords'] ? $article['keywords'].‘,’ : ”).$article['title'].‘,’.$options['meta_description'];      
$options['title_keywords'] = ‘ - ’.$article['cname'].‘,’.($article['keywords'] ? $article['keywords'].‘,’ : ”).$article['username'].‘,’.$options['title_keywords'];     

然后在这些内容的下面,加入如下内容: 

PHP代码

//丰富网页中的Mate标签。     
  
if(!emptyempty($article['description'])){    
    $options['meta_description']=  strip_tags($article['description']);     
  
}  

此行的含义就是如果文章的描述不为空,那么就用文章的描述内容代替Description标签。
所以以后定文章一定记得加上关键字密度高的文章描述噢!
原文链接:http://blog.zxlm.cn/show-1371-1.html

, ,

增加UBB标签 之 [MP3]

2007年11月8日 网站建设 631 views

=================================
插件版本:     SaBlog-X 1.6 正式版
安装难易:     简单
数据升级:     无
修改文件:     2个
原 作 者:     angel  tension
整理修改:     tension
演示地址:     www.mytension.cn
=================================

=-=-=-=-=-=-=-=-=-=-=-=-=-= 安装开始 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1.修改global.php
查找
复制内容到剪贴板
 

XML/HTML代码

// 获取页面调试信息  

在上面填加

PHP代码

// MP3播放器   
function makemp3($id) {   
$code = ‘<object type="application/x-shockwave-flash" height="20" width="200" data="./images/flash/mp3player.swf?mp3=’.$id.‘&autoreplay=1"><param value="./images/flash/mp3player.swf?mp3=’.$id.‘&autoreplay=1" name="movie" /></object>’;   
return $code;   
}  

2.修改index.php (共2处)

查找

PHP代码

//处理PHP高亮   
     $article['content'] = preg_replace("/\s*\[php\](.+?)\[\/php\]\s*/ies", "phphighlite(‘\\1′)", $article['content']);  

在下面填加

PHP代码

//处理MP3   
$article['content'] = preg_replace("/\s*\[mp3\](.+?)\[\/mp3\]\s*/ies", "makemp3(‘\\1′)", $article['content']);  

将包内的1个文件夹1个文件上传到images目录内
附件:mp3.zip

 
转自:http://www.sablog.net/
原贴地址:http://www.sablog.net/bbs/viewthread.php?tid=1285&extra=page%3D1

, ,