08-07
06

PJBLOG用TAG做文章关键字程序修改扩展方法

网页关键字对于搜索引擎的收录与排名是至关重要的。但是PJBLOG的关键字由程序作者设置成了他自己的固定关键字。对于我们发表的文章没有益处,只对PJBLOG作者可能有贡献。PJ为什么这样做不清楚,这得问他本人。

PJBLOG每篇日志都可以自己设置几个TAGS。这个TAGS主要是为了方便访客通过TAGS访问索引具有相同TAGS的日志。对于SEO可能起不到多少作用。因为这些TAGS并不被放如META的KEYWORDS内容中。PJBLOG论坛有网友提供了PJBLOG主程序修改,实现日志TAGS自动设置成文章的KEYWORDS

现转载过来以备不时之需:

首先打开article.asp,找到

if blog_postFile then
SQL="Select top 1 log_ID,log_CateID,log_title,Log_IsShow,log_ViewNums,log_Author,log_comorder,log_DisComment FROM blog_Content Where log_ID="&id&" and log_IsDraft=false"
else
SQL="Select top 1 log_ID,log_CateID,log_title,Log_IsShow,log_ViewNums,log_Author,log_comorder,log_DisComment,log_Content,log_PostTime,log_edittype,log_ubbFlags,log_CommNums,log_QuoteNums,log_weather,log_level,log_Modify,log_FromUrl,log_From,log_tag FROM blog_Content Where log_ID="&id&" and log_IsDraft=false"
end if


把它改成

SQL="Select top 1 log_ID,log_CateID,log_title,Log_IsShow,log_ViewNums,log_Author,log_comorder,log_DisComment,log_Content,log_PostTime,log_edittype,log_ubbFlags,log_CommNums,log_QuoteNums,log_weather,log_level,log_Modify,log_FromUrl,log_From,log_tag FROM blog_Content Where log_ID="&id&" and log_IsDraft=false"


然后打开header.asp,找到

<meta name="keywords" content=


改成

<%dim tmpTag,tmp_tags,len_name
len_name=Len(SiteName)
If Left(Title,len_name)=SiteName Then
%>
<meta name="keywords" c />
<%else
set tmpTag=new tag
tmp_tags=tmpTag.filterKeys(log_ViewArr(19,0))
%>
<meta name="keywords" c />
<%end if%>


最后打开commonlibrary.asp,找到

Public function filterHTML(str) '过滤标签
If isEmpty(str) or isNull(str) or len(str)=0 Then
Exit Function
filterHTML=str
else
dim log_Tag,log_TagItem
For Each log_TagItem IN Arr_Tags
log_Tag=Split(log_TagItem,"||")
str=replace(str,"{"&log_Tag(0)&"}","<a href=""default.asp?tag="&Server.URLEncode(log_Tag(1))&""">"&log_Tag(1)&"</a><a href=""http://technorati.com/tag/"&log_Tag(1)&""" rel=""tag"" style=""display:none"">"&log_Tag(1)&"</a> ")
Next
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="{(d)}"
str=re.Replace(str,"")
filterHTML=str
end if
end function


在其后添加如下代码

Public function filterKeys(str) 'Theosoft (C) 2001-2006
If isEmpty(str) or isNull(str) or len(str)=0 Then
Exit Function
filterKeys=str
else
dim log_Tag,log_TagItem
For Each log_TagItem IN Arr_Tags
log_Tag=Split(log_TagItem,"||")
str=replace(str,"{"&log_Tag(0)&"}",log_Tag(1)&",") //此处于11月20日修改,修复中文tag的转换问题
Next
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="{(d)}"
str=re.Replace(str,"")
filterKeys=str
end if
end function


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: TAG 关键字 keywords
相关日志:
评论: 0 | 引用: 0 | 查看次数: 645
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭