How to tuning your wordpress blog

因为最近提供了Free Hosting的计划,有不少朋友入住我共享的免费虚拟主机,也给每个朋友都安装了Wordpress(之前是2.7版本,现在登陆后台界面应该已经可以看到升级到2.8的提示了,不用担心,直接点Upgrade升级吧)。

如何让你的Wordpress Blog显得更专业,更美观,更让他人容易浏览呢?总结一下这几年自己用Wordpress的心得。

1. 选择合适的Theme
如果是技术性的blog,会粘贴大量的实验代码(包括SQL语句等)请选择两栏的Theme,其实就是让文章区更宽一些,这样可以容纳下绝大多数长度的SQL语句和输出结果,而三栏的Theme由于要预留两个侧边栏,通常文章区就比较窄,这样很多SQL语句会换行,让他人浏览起来很不舒服。

2. 首页全文输出
作为个人blog,如果不在乎你的首页到底有多长(再长恐怕也长不过新浪、网易啥的首页吧),也并不在乎你到底能获得多少点击率,那么还是在首页全文显示文章吧,没有”Read More”可以让别人少进行一次鼠标点击,这是很体贴的设计。

3. RSS全文输出
同样,对于RSS聚合输出,也请输出全文,这样方便通过RSS阅读器订阅你的blog的人群,我个人就很讨厌在Google Reader中只能看到一篇文章第一段话前几句的这种情况。对于RSS聚合,推荐使用Feedburner或者国内的Feedsky进行RSS烧制。这样做的好处是,统一且更加灵活设置RSS输出格式,另外,即使以后你改变了自己的域名,也只需要在feedburner中绑定一下新域名即可,对于其它订阅者来说,仍然是之前的RSS地址。

4. 代码美化插件
对于粘贴代码的文章,请一定要使用语法高亮的插件来进行美化,最常用的插件是WP-Syntax或者SyntaxHighlighter Evolved,在最新版本的Wordpress中可以直接从后台进行插件的安装(Plugins->Add New->Search Plugins,输入Syntax,能找到很多),非常方便。

这是没有美化过的效果。
SQL> DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
*
ERROR at line 1:
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.

这是用WP-Syntax美化过后的效果。

SQL> DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
                *
ERROR at line 1:
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.

这是用SyntaxHighlighter Evolved美化后的效果。
[sourcecode language=”sql”]SQL> DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
*
ERROR at line 1:
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.
[/sourcecode]

发表完文章之后自己先读一下,错别字尽量改正,自己看着舒服,别人才可能觉得赏心悦目。请以专业的心态对待自己的每一篇文章。

5. 垃圾留言屏蔽插件
垃圾留言是每个blogger头疼的事情,幸好有优秀的Spam Block插件可以使用,在新版的Wordpress中自带了Akismet,但是启用这个插件需要一个Wordpress.com API Key,这个Key可以通过免费注册Wordpress.com用户来获取,但是很可惜Wordpress.com在国内被GFW了,有需要的朋友可以翻墙出去。如何翻墙,可以查看这篇经典的翻墙教程

在注册完Wordpress.com用户之后,可以通过后台管理界面的Users->Your Profile页面获知自己的API Key。大致信息如下。

如果确实无法注册Wordpress.com用户,无法得到API Key,也就无法启用Akismet,那么推荐使用Spam Karma 2插件,后台安装之后,几乎无需任何设置,也能很有效地进行垃圾留言屏蔽。

6. 数据库备份
作为一个Oracle技术人员,备份是时刻要放在心上的,那么对于Wordpress来说,后台使用的MySQL数据库也同样需要经常备份。同样可以通过插件来实现 – WP-DBManager,此插件可以实现定期对Wordpress后台数据库惊醒备份,并将备份文件压缩发送至指定的邮件地址。

7. 贴图
如果要贴图,我通常都是将图片通过Picasa3传到Google Web Album中,然后将Google Web Album中的地址粘贴到文章中,因为在这里可以选择到底将图片以多大px显示,这样就不会由于图片宽度过大而将整个blog页面布局损坏。如下图选择的是400px,这在一般的文章中会有很好的效果。

8. 介绍自己
为了介绍自己,请在Pages里面写一份完整的About me,对你的文章感兴趣的人通常对你到底是怎样的人也感兴趣。

9. 善用插件
没有插件的Wordpress就好比没有插件的Firefox,也好比没有插件的World of Warcraft,都让人无法忍受。我目前在使用的插件有:
Akismet:垃圾留言过滤。
All in One SEO Pack:简单地进行SEO设置。
CoolCode:之前使用的代码美化插件,现在已经用WP-Syntax替代,但是为了保留之前文章的格式,还是保留了此插件。
Custom Smilies:在文章或者留言中可以插入笑脸,这纯属是好玩。
Dean’s Permalinks Migration:重定向不同格式的permalinks。之前有修改过文章 Permalinks的格式,为了自动转化,使用了此插件,具体用处参看如何无风险的修改Permalink
Dynamic Headers by Nicasio Design:在站点header处或者需要的地方,动态显示不同的图片。
Google Analyticator:在站点中自动添加Google Analytics代码。
Google XML Sitemaps:自动生成易于Google抓取的站点结构图。
Spam Karma 2:垃圾留言过滤。
WP-DBManager:提供Wordpress后台数据库管理,包括自动备份。
WP-PageNavi:提供文章分页。
WP-Syntax:提供代码高亮及美化。

10. 多学习别人的经验
在国内,我爱水煮鱼这个站点专门介绍使用Wordpress的经验,还有多种模板和插件推荐。适合不定期去浏览一下。

Update WordPress to 2.7.1

昨天将一直在使用的Wordpress2.1版本升级到了2.7.1,升级过程非常简单。

1. 禁用所有的plugin,以防升级以后不兼容导致问题。

2. 登陆到dreamhost的shell中。

wget http://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp -rpf ./wordpress/* ./wordpress_directory

此处注意备份自己使用的theme相关文件,特别是如果使用的是经过自己修改的default theme,那么这些文件将被覆盖,务必备份出来。

3. 登陆wordpress后台管理界面,提示需要升级数据库,按照提示一路next下去,升级完毕。

新版本的Wordpress自动支持Tag,并且使用了很久的Ultimate Tag Warrior 3插件也不再兼容,因此需要将UTW中的tag导入到Wordpress中,这很容易实现。在后台管理界面中,Tools -> Import -> Ultimate Tag Warrior,一共4步,非常简单。

新版本的Tools -> Export可以将所有已经发布的文章下载为一个xml文件,这对于大家备份自己的blog又多了一个选择。

放弃了之前的三栏页面,选择了iNove,这是一个很优秀的仿Mac页面布局,并且天生支持Gravatar和Quote Comment,这两个插件就不再需要了,另外UTW也不再需要,后台插件数减少到7个。

Custom Smilies:在回复栏前添加自定义的笑容图标,比如 😀
Dean’s Permalinks Migration:重定向不同格式的permalinks
Google Analytics:在站点中自动添加Google Analytics代码
Google XML Sitemaps:自动生成易于Google抓取的站点结构图
Spam Karma 2:垃圾留言屏蔽
WP-DBManager:提供多样的Wordpress后台MySQL数据库的管理
WP-PageNavi:提供文章分页
WP-Syntax:提供代码高亮

Why wordpress theme changed automatically

抓狂啊,我确认自己已经修改完了新的3栏样式,有图为证。

可是为什么过一段时间再去刷新,就发现又变回Wordpress默认的样式了呢?在我自己找到答案之前,有人能告诉我WP是如何展现设置完的Theme的?又怎么会自动变回default样式呢?

Update:
知道原因了。

之前dbform.com这个域名由于忘了缴费而被暂停的那天,由于要找些原来的文章,所以临时把所有程序copy到wisky.org这个域名下面了,读取的也是正式的后台数据库。

后来dbform.com恢复之后,就忘了这件事情。昨天开始修改dbform.com中的页面,新的Theme名称在wisky.org下面肯定是没有的,所以只要有人访问了wisky.org,那么数据库中的Theme设定就会由于找不到新Theme的名称而被修改为默认值。

这就是为什么不定期wordpress theme总是自动被修改的原因。真是挺搞的。;)

升级到WP2.1的问题

即使我使用WP2.1的默认模版,也发现当对post作comment的时候,comment的总计数不再自动更新了。
也就是你们现在可以看到”No Response to” 某某文章,但是实际上这篇文章是有留言的。

搞得我现在只能手动执行下面这样的SQL,来定期更新,我觉得应该是某个插件的问题。

update wp_posts SET comment_count = (SELECT COUNT(*) FROM wp_comments WHERE comment_post_ID = 240 AND comment_approved = ‘1’) where id=240

Update@2007-2-3
最终发现Spam Karma 2插件的版本没有更新到2.0导致的,升级以后OK了,终于可以宣告这次WP升级完成了。

WP升级&域名更改

闲来无事,今天把WordPress从1.5升级到2.1,同时又把域名从原来的blog.dbform.com更改为顶级的www.dbform.com。

1。用dbmanager插件备份原先的数据库,以防不测
2。下载WordPress2.1,通过net2ftp上载到dbform.com的目录下并且自动解压
3。将blog.dbform.com的wp-config.php文件复制到dbform.com目录下
4。禁用blog.dbform.com中的所有插件
5。直接在浏览器中访问dbform.com的upgrade.php,一步next就完成升级
6。然后登录admin界面,修改blog的site属性为www.dbform.com
7。至此,新的站点就已经可以正常浏览了
8。将blog.dbform.com中plugins目录中需要的插件复制到www.dbform.com的plugins目录中,激活这些插件,目前除了Ultimate Tag Warrior插件还有些兼容性问题,其它插件都很正常
9。将letterhead模版复制到themes目录中,启用此模版,站点就跟原来看上去一模一样了。
10。原来upload上去的图片都还在blog.dbform.com中,本来想一并转移过来,但是考虑到posts表中的文章内容里仍然写死的是指向blog.dbform.com的图片路径,如果转移了,还需要update数据库中的这部分内容,多一事不如少一事,索性不改了。
11。修改feedburner中的feed信息,指向www.dbform.com(Feedburner现在访问真慢)。

升级非常简单,所有上传,下载,解压,复制,粘贴甚至修改文件内容的操作都可以通过Dreamhost的net2ftp功能完成,很方便。

修改文章分类

一直觉得自己的文章分类太细,今天终于决定动手改一下。

1。直接用SQL把MySQL库里面的文章更新到想要留下的分类里面,更新wp_post2cat.category_id字段
2。直接用SQL把原来的二级分类提升为一级分类,更新wp_categories.category_parent字段
3。删除所有不再有文章的分类,直接在Wordpress中操作

至此,分类缩减到9个,并且全部都是一级分类。

Update
本来想手工修改一下代码显示每个分类下的文章个数,结果发现WP本来就自带了这个功能,只是默认没有打开而已。
修改wp-includes/template-functions-category.php,找到下面两行:

if (!isset($r[‘optiondates’])) $r[‘optiondates’] = 0;
if (!isset($r[‘optioncount’])) $r[‘optioncount’] = 0;

将0全部修改为1

if (!isset($r[‘optiondates’])) $r[‘optiondates’] = 1;
if (!isset($r[‘optioncount’])) $r[‘optioncount’] = 1;

其中optiondates表示显示该分类最新的更新日期,optioncount则表示该分类的文章数。

让我们都有化身吧

这是一个体现自己的时代,所以让我们都有自己的化身(avatar)吧。

改进blog评论的10点建议中看到gravatar,觉得还挺有意思,尝试了一下。所谓avatar其实用大白话来说就是头像,而gravarar则是一个网站允许你通过邮箱地址来关联自己的avatar,这样以后在所有支持avatar的站点只要输入了自己的email,就自然会显示出自己的avatar。

首先我们在gravatar上注册一个账号,用自己最常用的信箱地址作为标识,比如我是一定会用自己的Gmail信箱了。注册之后会让你上传一个小图片,即使你上传得比较大,也会自动压缩为80*80的大小。

然后剩下的事儿,就都交给各个网站的admin了。比如在我的站点上,只要你发comment时输入了注册gravatar时使用的email地址,那么你的头像就会自动显示在comment的后面。是不是很有意思?

对于Wordpress来说,gravatar提供了插件,如果要稍微自己订制一下,可以去修改自己使用的theme中的comments.php文件。可惜我的HTML功力太差,不知道怎么才能改成像本文中截图的效果。

2005年度使用频率最高的5个软件

看到大家都在盘点,能说的也基本上被说光了,不能免俗,我也学Incomplete盘点一下2005年度个人使用频率最高的5个软件吧。

1。Total Commander
这是我放到Start菜单中的程序,开机自启动,但是不好意思的是,排在第一位的这个软件就是D版的,谁有Free的可替代产品推荐一下吗?双窗口的操作,丰富的插件,自定义Folder Bookmark,快捷键迅速查看文件内容,后台Copy等等一系列的功能让我再也不去使用Windows Explorer那个别扭的文件管理器。

2。Firefox
这个不用多说了,2005年火到不行的浏览器,无他,丰富的Extentions一是用的顺手,二是满足个人搭积木堆一个自己喜爱的东西的欲望。Firefox的使用频率里面当然也包含了很多Web应用,比如GMail,Bloglines,Flickr,Del.icio.us,都是大名鼎鼎,耳熟能详的,不费心去做链接了。

3。金山词霸2003
这个可是正版哦,现在金山已经升级到词霸2006了,不过自从试用D版的词霸2005之后,对于那个每次最小化以后都会不辞辛苦弹出来的提示框(您可以按什么什么快捷键让词霸再次显示啥的)深恶痛绝,还是装回了2003版。今年在更多的场合接触了更多的英语,必须有一个翻译软件,虽然没有帮助我记住多少新词儿,不过基本上还是满足翻译需求的。

4。Password Agent
太多的服务器需要用户密码,太多的Web服务需要用户密码,太多的银行卡需要用户密码,好记性不如烂笔头,在现在这个不用笔的时代,我选择将密码全部记录到软件中,我不知道Password Agent是不是最优秀的密码记录软件,但是他的小巧,快速,齐全的功能却十分满足我的需要。惭愧得是,又是一个D版软件,仍然拜托各位推荐好用的可替代的Free软件。

5。WordPress
几乎快到年底了,才开始使用WP搭建自己的blog系统,所以只能排到最后一名。相信不出意外的话来年的排名会大幅度飙升。:D
Php的方便易用,大量优秀并且加载简单的插件让WP迅速成为继MT之后最为优秀的个人blog发布系统,WP最近也公布了自己的blog服务站点,没有租用虚拟主机的各位可以去那儿申请一个,相信比国内的大多数BSP都要稳定,只是需要祈求上天不要让GFW照顾到它。