首页 > 计算机应用 > PJBLOG优化之keywords、description

PJBLOG优化之keywords、description

注:本文适用于全静态化下的关键字、描述优化,全动态、半静态暂不支持。
pjblog的默认静态模板如果不修改,拿出去给搜索引擎一看所有的站关键字、描述、站点信息。。全部都是一模一样的,更糟糕的是站内所有的关键字和描述也都是一样的(这一点不仅存在于全静态状态下,也存在于全动态和半静态)。这样搜索引擎必然会降低网站权重,甚至怀疑你在作弊。
本文主要参考了seog.org.cn的文章,并在此基础上做适当修改。
原理分析:

1.将内容的的前100个字符作为描述Description

2.将标签tag作为关键词keywords.

原文建立于PJBlog3 v2.8.5.157基础上,经测试,在PJBlog3 v3.0.6.170下照样通过。

第一步
用编辑工具(个人喜欢比较喜欢EmEditor,因为它支持所有常见代码的高亮显示,并且易于显示行、列),打开开 /class/cls_logAction.asp,如下操作:

   搜索"If log_View("log_comorder") Then comDesc" (第1120行前后)找到如下代码:

复制内容到剪贴板程序代码程序代码
If log_View("log_comorder") Then comDesc = "Desc" Else comDesc = "Asc" End If      
Temp1 = Replace(Temp1, "<$CategoryList$>", CategoryList(0))  
Temp1 = Replace(Temp1, "<$base$>", baseUrl)  
Temp1 = Replace(Temp1, "<$siteName$>", siteName)      
Temp1 = Replace(Temp1, "<$blog_Title$>", blog_Title)  
Temp1 = Replace(Temp1, "<$skin$>", blog_DefaultSkin)      
Temp1 = Replace(Temp1, "<$blogabout$>", blogabout)      
Temp1 = Replace(Temp1, "<$comDesc$>", comDesc)      
Temp1 = Replace(Temp1, "<$CookieName$>", CookieName)

修改为:

复制内容到剪贴板程序代码程序代码
Temp1 = Replace(Temp1, "<$CategoryList$>", CategoryList(0))  
Temp1 = Replace(Temp1, "<$base$>", baseUrl)  
Temp1 = Replace(Temp1, "<$mykey$>", delHtml(getTags.Mykeytags(log_View("log_tag"))))    
If log_View("log_edittype") = 1 Then  
Temp1 = Replace(Temp1, "<$Mydescription$>", replace(left(delHtml(UnCheckStr(UBBCode(HtmlEncode(log_View("log_Content")), Mid(log_View("log_ubbFlags"), 1, 1), Mid(log_View("log_ubbFlags"), 2, 1), Mid(log_View("log_ubbFlags"), 3, 1), Mid(log_View("log_ubbFlags"), 4, 1), Mid(log_View("log_ubbFlags"), 5, 1)))),100),vbcrlf,""))  
Else  
Temp1 = Replace(Temp1, "<$Mydescription$>", replace(left(delHtml(UnCheckStr(log_View("log_Content"))),100),vbcrlf,""))  
End If  
Temp1 = Replace(Temp1, "<$siteName$>", siteName)      
Temp1 = Replace(Temp1, "<$blog_Title$>", blog_Title)  
Temp1 = Replace(Temp1, "<$skin$>", blog_DefaultSkin)      
Temp1 = Replace(Temp1, "<$blogabout$>", blogabout)      
Temp1 = Replace(Temp1, "<$comDesc$>", comDesc)      
Temp1 = Replace(Temp1, "<$CookieName$>", CookieName)

第二步
      找到/common/function.asp,搜索"%>",不含引号,大约在1207行左右。
      在“%>”的前面加上以下代码:

复制内容到剪贴板程序代码程序代码
Function delHtml(strHtml)  
Dim objRegExp, strOutput      
Set objRegExp = New Regexp      
objRegExp.IgnoreCase = True        
objRegExp.Global = True    
objRegExp.Pattern = "(<[a-zA-Z].*?>)|(<[\/][a-zA-Z].*?>)"    
strOutput = objRegExp.Replace(strHtml, "")      
strOutput = Replace(strOutput, "<", "<")  
strOutput = Replace(strOutput, ">", ">")    
delHtml = strOutput  
Set objRegExp = Nothing  
End Function

第三步
找到common目录下libary.asp文件,定位到384行左右,会看到
'*******************************************
'  Tag Class
'*******************************************
我们找到以下代码:

复制内容到剪贴板程序代码程序代码
Public Function filterHTML(Str)'过滤标签
        If IsEmpty(Str) or IsNull(Str) or Len(Str) = 0 Then
            Exit Function
            filterHTML = Str
        ————————–中间省去————————
        End If
    End Function

在下面加入:

复制内容到剪贴板程序代码
Public Function MykeyTags(Str)
        If IsEmpty(Str) or IsNull(Str) or Len(Str) = 0 Then
            Exit Function
            MykeyTags = 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>,")
            Next
            Dim re
            Set re = New RegExp
            re.IgnoreCase = True
            re.Global = True
            re.Pattern = "\{(\d)\}"
            Str = re.Replace(Str, "")
            Str = left(Str,len(Str)0)          
           MykeyTags = Str
        End If
    End Function

第四步
现在可以找到Template目录下全静态时的模板文件static.htm,将meta的以下代码:

复制内容到剪贴板程序代码程序代码
<meta name="keywords" content="PuterJam,Blog,ASP,designing,with,web,standards,xhtml,css,graphic,design,layout,usability,accessibility,w3c,w3,w3cn" />    
<meta name="description" content="<$siteName$> – <$blog_Title$>" />

改为:

复制内容到剪贴板程序代码程序代码
<meta name="keywords" content="<$mykey$><$log_Title$>" />
<meta name="description" content="<$Mydescription$>" />

关键字从简为好,首先是tag关键字,但为了解决当文章没有tag时或tag不够充分时,再在后面添加日志标题,这样就周全而不显臃肿了。

半静态化如果也能实现类似的关键字和描述优化就再好不过了,但可惜本人不懂asp,以后有机会再发表这方面的文章。

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/pc-tech/390

  1. 0point
    0point 1月 9th, 2009 @ 22:25 | #-31

    最终检查发现每一个代码段里多出了一对颜色代码,在代码段最开始的"[color=#000000~]"和代码段最后的"[/color]",将这一对代码去除即可。
    注意:前面的[color]标签我故意多加了一个"~"符号,不然评论会自动转换。

  2. 0point
    0point 1月 9th, 2009 @ 21:58 | #-32

    刚发现UBB编辑器的“幻码,代码高亮功能”有问题,每一组代码段中首次出现的color标签结束符号都放到了代码段最后,狂汗。先手工把这篇日志里的BUG修正了再说。

评论提交中, 请稍候...

留言



注意: 您给他人的评论回复将通过邮件通知到对方。

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks