已为老胡 - 网络技术研究和生活琐事记录 - PJblog
经过小胡的不懈努力，终于成功的由PJBlog转换成了WordPress了，到现在终于可以松一口气了，呵呵，不过还是值得的，大家看看现在的WordPress博客怎么样，简洁但是也很漂亮，由ASP平台转换成了PHP的平台，一切很新奇，从中小胡又学到了很多的东西，感觉很高兴。 除了以前博客的留言没有转过来，日志和评论，甚至还有日志浏览数，小胡都完完整整的转了多来，做了好几天的努力的哦，WordPress的留言板问题还是没有很好的解决，这个小胡也正在努力，希望大家多多关照小胡哦！ 最近一段时间在找工作，天天在投简历和面试，博客更新的有点少了，不过还是感谢网上很多朋友对我的帮助，来到WordPress的世界王欢帮了我不少的忙，在此对王欢表示感谢了！ WordPress没有提供友情链接的申请功能，所以小胡只把和小胡做友链的而且将小胡的链接放在首页的博客放上了首页，其他放在了友情链接的分页面。以后申请链接的朋友直接在分页留言就可以了。 从WordPress中文论坛也找到了很多不错的插件，昨天由于插件装的太多了，导致在页面和日志发表评论均不正常，听从了群里哥们的建议，停用了几个插件，现在终于正常了！加了一个WordPress菜鸟乐园，群里面很活跃，问题很快就能得到解决，给大家推荐下，群号是51122618，使用WordPress的朋友可以加入哦。
因为修改了很多次的博客，也总结了一下pjblog的备份的方法： 1.备份blogDB目录下的数据库 2.备份attachments目录下的文件，这个目录里都是上传的附件 3.备份Plugins目录下的文件，这里面都是BLOG的插件 4.备份skins目录下的文件，这里面都是皮肤文件 5.备份根目录下的plugins.asp文件 6.备份post文件夹，这个里面保存具体的日志数据。没有这个不能正常显示具体日志内容。 7.备份cache这个文件夹，这个里保存主页上显示的内容，没这个主页上显示不了东西。 还原： 1.把mbk文件上专到backup文件夹，进pjblog后台——数据库与附件——数据库管理——点还原数据库——看好了是还原数据库，不是压缩修复。 2.然后把备份的这些文件全部覆盖就可以了。 注：以上方法只适合于对毫无修改的博客，如果想和以前的博客效果一样，请按照以前的修改方法修改。
在网上逛的时候发现了很多PJblog可以用的状态栏特效，也许大家有需要的，就贴出来给大家共享下了，一下有两种方法：请将代码中的"替换成" ①复制其中一种效果代码，粘贴到 footer.asp 文件中最后。 ②复制其中一种效果代码，将开头字段删除，粘贴到 common 文件夹中的 common.js 的最后面。并在前插入一行 //状态栏 （将会以灰色显示）来注释，以免忘记这段代码的用途 1，文字向右弹处，然后返回 2，状态栏文字从右依次弹出 3，状态栏文字从左依次弹出 4，文字在状态栏上先拆散然后再组合 5，状态栏文字跑马灯 6，状态栏文字逐个弹出再左移的效果 7，状态栏上的文字缩放出现 // -->
这个相信大家都喜欢，都来看看，效果如本博右边栏所示 具体添加方法： 1.修改 comomn.js 在最底下加入//*相关信息 选项卡标签*/ function showDiv(sobj,num){ for(var id = 1;id<=4;id++){ var ss = sobj + id; var nss = sobj + "nav" + id; if(id==num){ try{$(ss).style.display="block"}catch(e){}; try{$(nss).className="active"}catch(e){}; }else{ try{$(ss).style.display="none"}catch(e){}; try{$(nss).className=""}catch(e){}; } } }然后在后台建立模块 热 门 日 志 评 论 留 言 <$HotLog$> <$NewLog$> $comment_code$ <$NewMsg$> 然后在皮肤下的layout.css加入/* 选项卡关键属性 */ .endTag{clear:both; height:26px; background:url(end_n_bg3.gif) bottom repeat-x; margin:0 auto; } .endTag .text{float:left;background:url(end_n_i6.gif) 0 7px no-repeat; padding:4px 8px 0 18px; text-align:left;} .endTag ul{ float:left;list-style:none;} .endTag li{float:left; margin:0 3px 0 0; border:1px solid #ccc; border-bottom:0; height:24px; background:#fff;overflow:hidden;} .endTag .active{ height:25px;} .endTag h2{padding:4px 10px 0 10px; clear:both;} .endTag a{color:#000;font-size:12px;} .endTag a:visited{color:#000;} .endTag a:hover{color:#bc2931;} .endTag .text a{color:#1f3a87;} .endTag .text a:hover{color:#bc2931;} .endContent {margin-top:6px;margin-left:10px;height:auto;} .Content-body .endContent {height:90px;} .Pcontent .endContent {margin-left:0;} .Pcontent .endTag {margin-top:15px;} .Content-body .endContent ul{margin-left:20px;} .Content-body .endContent li{list-style-type: disc;}
今天逛PJ论坛，发现自己博客的链接在首页推荐了 呵呵，太高兴了，留此做纪念…
静态下： 在Templatestatic.htm 在 之后
步骤1 下载您的站点文件Templatestatic.htm，找到代码：Tags: <$log_tag$>在其后面加上如下代码： 相关日志: 然后上传覆盖到相应目录。 步骤2 下载附件中的两个文件。点击下载 步骤3 打开附件中的wbc_getarticle.asp文件，找到Const AccessFile=这部分代码，将后边的数据库路径进行修改，使其和自己网站的数据库地址保持一致。
今天，PJ论坛上面出现PJ3的升级文件，早晨用手机把升级文件下载了下来，按照帖子上面的升级方法，本博现在已经成功升级至PJ3最终版，只有少量的以前的修改失效了，本博以后会继续修改。失效的修改： PJBlog增加多附件上传功能 已修复 发布日志的“来自”一项增加多个选项 已修复 统计信息修改 已修复未受影响的修改 首页顶部多选项的TAB效果 可用 联系站长,版权说明等门户网站底部插件 可用 友情连接滚动 可用 彩色ASP验证码 可用 友情链接中添加本站信息 可用
PJBlog3 SEO,title/keywords/description优化实现
相对于PJBLOG v2.7来说，PJBLOG3最大改进之处在于文章页的全静态化处理，大大提升了网站整体性能。下面我们来看下会针对 PJBLOG3 如何进行搜索引擎优化。这里主要讲解下全静态化模式下的更改，如果你使用的是半静态模式请参考PJBLOG v2.7进行更改，有不明白的地方可以通过E-mail 与我联系。 一．PJBlog3 页面标题搜索引擎优化程序实现(分类页面标题与标签页面标题) -header.aspIf InStr(Replace(LCase(Request.ServerVariables("URL")), "", "/"), "/article.asp") = 0 Then getBlogHead BlogTitle, "", -1 End If 这句代码是判断URL中是否包含字符串 "/article.asp" 如果没有则执行代码，这正是我们修改的地方，将它替换为以下代码：'如果url中不包含字符串"/article.asp"，处理除文章显示外的其它页面标题 If inStr(Replace(Lcase(Request.ServerVariables("URL")),"","/"),"/article.asp") = 0 Then Dim strTag Dim intCateID Dim objCategory strTag = Request.QueryString("tag") intCateID = Request.QueryString("cateID") If strTag<>"" Then BlogTitle = strTag & "-" & BlogTitle If IsInteger(intCateID) Then Set objCategory = New Category objCategory.load(intCateID) BlogTitle = objCategory.cate_Name & "-" & BlogTitle getBlogHead BlogTitle,objCategory.cate_Name,intCateID Set objCategory=Nothing Else getBlogHead BlogTitle,"",-1 End If End If If InStr(Replace(LCase(Request.ServerVariables("URL")), "", "/"), "/article.asp") = 0 Then getBlogHead BlogTitle, "", -1 End If 这句代码是判断URL中是否包含字符串 "/article.asp" 如果没有则执行代码，这正是我们修改的地方，将它替换为以下代码：'如果url中不包含字符串"/article.asp"，处理除文章显示外的其它页面标题 If inStr(Replace(Lcase(Request.ServerVariables("URL")),"","/"),"/article.asp") = 0 Then Dim strTag Dim intCateID Dim objCategory strTag = Request.QueryString("tag") intCateID = Request.QueryString("cateID") If strTag<>"" Then BlogTitle = strTag & "-" & BlogTitle If IsInteger(intCateID) Then Set objCategory = New Category objCategory.load(intCateID) BlogTitle = objCategory.cate_Name & "-" & BlogTitle getBlogHead BlogTitle,objCategory.cate_Name,intCateID Set objCategory=Nothing Else getBlogHead BlogTitle,"",-1 End If End If 二．meta 标签优化(文章显示页面) -classcls_logAction.asp 1、找到1044行： Temp1 = Replace(Temp1, "<$comment$>", ShowComm(LogID, comDesc, log_View("log_DisComment"), True, log_View("log_IsShow"))) 将以下代码插入到此语句下方新行中' 文章关键字及描述值设定 Dim objTag, objRe Set objTag = New tag Dim strKeywords, strDescription strKeywords = objTag.filterHTML(log_View("log_tag")) strDescription = log_View("log_Intro") Set objTag = Nothing strKeywords = Replace(strKeywords," , Set objRe=new RegExp objRe.IgnoreCase =True objRe.Global=True objRe.Pattern = "<.*?rel.*?>(.*?)</.*?>" ' 过滤HTML标签 strKeywords = objRe.Replace(strKeywords,"$1") & "," & log_View("log_Title") objRe.Pattern = "[img.*?].*?[/img]" ' UBB标签[IMG]特别处理 strDescription = objRe.Replace(strDescription,"") objRe.Pattern = "[(w+)[^[]]*]([^[]]*)[/1]" ' 过滤UBB标签 strDescription = objRe.Replace(strDescription,"$2") & "," & log_View("log_Title") objRe.Pattern = "<(.[^>]*)>" ' 过滤HTML标签 strDescription = objRe.Replace(strDescription,"") Set objRe = Nothing Temp1 = Replace(Temp1, "<$keywords$>", strKeywords) Temp1 = Replace(Temp1, "<$description$>", strDescription) 2、文章静态页面模板修改 -Templatestatic.htm 找到以下语句 将以上 meta 标签替换为 " /> " /> 1、找到1044行： Temp1 = Replace(Temp1, "<$comment$>", ShowComm(LogID, comDesc, log_View("log_DisComment"), True, log_View("log_IsShow"))) 将以下代码插入到此语句下方新行中' 文章关键字及描述值设定 Dim objTag, objRe Set objTag = New tag Dim strKeywords, strDescription strKeywords = objTag.filterHTML(log_View("log_tag")) strDescription = log_View("log_Intro") Set objTag = Nothing strKeywords = Replace(strKeywords," , Set objRe=new RegExp objRe.IgnoreCase =True objRe.Global=True objRe.Pattern = "<.*?rel.*?>(.*?)</.*?>" ' 过滤HTML标签 strKeywords = objRe.Replace(strKeywords,"$1") & "," & log_View("log_Title") objRe.Pattern = "[img.*?].*?[/img]" ' UBB标签[IMG]特别处理 strDescription = objRe.Replace(strDescription,"") objRe.Pattern = "[(w+)[^[]]*]([^[]]*)[/1]" ' 过滤UBB标签 strDescription = objRe.Replace(strDescription,"$2") & "," & log_View("log_Title") objRe.Pattern = "<(.[^>]*)>" ' 过滤HTML标签 strDescription = objRe.Replace(strDescription,"") Set objRe = Nothing Temp1 = Replace(Temp1, "<$keywords$>", strKeywords) Temp1 = Replace(Temp1, "<$description$>", strDescription) 2、文章静态页面模板修改 -Templatestatic.htm 找到以下语句 将以上 meta 标签替换为 " /> " />
如图 打开 control/c_general.asp 找到 重新建立日志列表翻页索引（可以修复日志列表翻页错误的问题） 下面添加 4.指定日志缓存和静态日志重建（这个过程可能会花很长时间,由你设定的日志数量来决定） 起始ID： 更新到ID： 打开 control/Action.asp 找到 If Request.Form("ReBulidArticle") = 1 or Request.Form("ReBulidArticle") = 2 Then 到session(CookieName&"_MsgText") = Session(CookieName&"_MsgText")&"共处理了 "&LogLen&" 篇日志文件! " 之间全部换成 If Request.Form("ReBulidArticle") = 1 or Request.Form("ReBulidArticle") = 2 Then Dim LogLen, LoadArticle, silent, Start_Log_id, End_Log_id, Logid Start_Log_id = Request.Form("Start_Log_id") End_Log_id = Request.Form("End_Log_id") silent = Request.Form("silentMode") If Start_Log_id = "" or Start_Log_id > End_Log_id then Start_Log_id = 1 If End_Log_id = "" or End_Log_id < Start_Log_id then End_Log_id = conn.Execute("Select count(log_ID) FROM blog_Content")(0).Value For Logid = Start_Log_id to End_Log_id Set LoadArticle = conn.Execute("Select * FROM blog_Content where log_id="&Logid) If not (LoadArticle.bof or LoadArticle.eof) then LogLen = LogLen + 1 Next If silent <> 1 Then %> 正在静态化相关的日志缓存... 共<%=LogLen%>篇日志需要处理. 静态化过程，请不要关闭您的浏览器 0% <% End If Application.Lock Application(CookieName & "_SiteEnable") = 0 Application(CookieName & "_SiteDisbleWhy") = "抱歉!网站在初始化数据，请稍后在访问. :P" Application.UnLock Dim iLen For Logid = Start_Log_id to End_Log_id Set LoadArticle = conn.Execute("Select * FROM blog_Content where log_id="&Logid) If not (LoadArticle.bof or LoadArticle.eof) then If Request.Form("ReBulidArticle") = 2 Then PostArticle Logid, True Else PostArticle Logid, False End If If silent <> 1 Then iLen = iLen + 1 Response.Write (" ") Response.Flush() End If End If Next Application.Lock Application(CookieName & "_SiteEnable") = 1 Application(CookieName & "_SiteDisbleWhy") = "" Application.UnLocksession(CookieName&"_ShowMsg") = True session(CookieName&"_MsgText") = Session(CookieName&"_MsgText")&"共处理了 "&LogLen&" 篇日志文件! " 方法感觉不是挺好，因为读取了2次数据库，第一次计算处理的日志数量