经过前几篇的过程,现在的WordPress已经能正常使用了,但是也许我们还需要进一步优化一下,解决一些问题。
一、WordPress的非必要插件
主要是指对Blog进行美化或者SEO的插件,我用了以下几个:
- All in One SEO Pack:通过自动修改你的页面title,自动添加meta等功能来实现搜索引擎优化
- Google XML Sitemaps:通过自动生成XML Sitemaps(不仅仅针对Google)而对搜索引擎进行优化
- WP-DownloadManager:非常强大的下载管理工具,我最喜欢的功能是可以随意添加服务器上存在的文件进行管理(从而不必通过http上传,FTP上传也可);生成统一的下载页面等等
Blog的人气除了来自于朋友的访问,搜索引擎也是很重要的一点,我的Blog就常年有一半左右的访问来自Google的链接,主要关键字是Squid和百合驿站 :)
二、WordPress的复杂化
什么是复杂化,看到classicning的blog你就明白了……这里指的就是添加各种widgets,在WordPress 2.3中,通过后台管理方便地添加widgets已经是不需要任何技术的事情,但是你想不想让各网站的widgets以及你blog内置的widgets风格统一?请看几点注意事项:
1、内置>Javascript>Flash
对于web2.0网站,往往提供Flash和Javascript的widgets,但是由于新版本的Flash浏览器插件的安全设置,一般的嵌入方法会导致出现一层虚框,既影响美观又可能导致页面排版问题,而特殊的嵌入方法不仅麻烦,兼容也可能有一点点小问题。所以尽量使用内置的RSS widget达到你要的效果(如饭否就提供消息的RSS,直接用内置RSS widget读取最好),如果rss不能满足你的需要(例如饭否的“好友信息“,我现在用的就是),或者根本不提供rss(例如豆瓣),非要嵌入该网站自己的widget的时候,请尽量使用Javascript的版本。
2、注意网站widget的格式
很多网站(例如豆瓣)都提供了自定义widget的功能,这里要注意配置好自己的widget,要和sidebar风格协调统一,例如底色、长宽等。我现在的豆瓣插件就设置成尽量长宽和sidebar协调,看起来比classicning那个就要舒服一些……
3、修改代码让text widget显示图标
想像我一样让各个网站的图标显示在WordPress内置的text widget的标题中?请打开wp-includes下的widgets.php文件(建议用WordPress自己的编辑工具),修改这个函数 function wp_widget_text_control($number) 的内容,把
$newoptions[$number]['title'] = strip_tags(stripslashes($_POST["text-title-$number"]));
改为
$newoptions[$number]['title'] = stripslashes($_POST["text-title-$number"]);
把
$title = attribute_escape($options[$number]['title']);
改为
$title = format_to_edit($options[$number]['title']);
试试看,在text widget的标题中,输入
<img src='你的ico文件地址' /> 你需要的标题(例如 ”WilliamGates的豆瓣”)就可以显示图标了。图标可以通过用FireFox打开该网站,右键点击页面,选”查看页面信息“里面的”媒体“来获得。
三、WordPress的修复
昨天DlzM突然告诉我他的blog无法登陆了,进入后台管理就一片空白,页面无输出。我一开始怀疑是UTF8标题的问题(网上搜索都这么说),检查了所有的文件,都是WordPress原版,没有修改的痕迹。在数据库里把blog标题改成英文,也没有效果。DlzM坚持说是他的theme的问题,我就抱着试试看的心理,在数据库里把theme改成了default,没想到真的可以了。
国外的很多theme对中文的支持都有问题,而且据说现在开始流行在WordPress Theme中放置恶意代码的阴险行为,所以有人建议大家不要随意下载第三方Theme和Plugin……我的建议是,尽量到这个theme或者plugin的作者网站,或者wordpress.org去下载;下载来之后,看一看head.php里面有没有什么特别的代码,以防万一。
四、WordPress的备份
有了上次丢数据的惨痛经历,以后决定好好备份WordPress。备份方法有很多种,我推荐这几个一起使用:
1、WordPress Database Backup
这是一个WordPress的插件,主页在www.ilfilosofo.com/blog/wp-db-backup,它会自动加入WordPress的原始表,并且询问你是否要加入统一数据库下面的其他表(主要为其他插件自己建立的表,建议一起备份);利用WordPress内建的Cron模块,可以定时备份(但有传言说这个功能有Bug,会导致莫名其妙的极高的CPU占用率,慎用);可以选择备份文件是下载到本地、保存在服务器还是发到邮箱。个人建议手动备份,每个月一次就够了。
2、WordPress内建导出功能
WordPress自己的导出功能可以导出整个数据库中的文章、留言、分类和Blogroll为一个XML文件(WordPress称之为WXR),基本上和备份数据库差不多了;导入的时候是一个全新的干净的数据库,符合我的数据洁癖;一个特殊的应用是,在进行批量帖子修改(例如前面提到过的批量修改帖子内的链接)时,直接对这个文件进行查找替换就可以了,比数据库的修改要方便,也安全。另外就是编码问题上,比数据库容易修改,毕竟对一个文本文件彻底转编码比对一个数据库转编码要方便(数据库导出时如果就是乱码,很可能再也无法正确导入)。这个功能用起来很方便,建议每周备份。
3、phpMyAdmin的备份功能
这是最传统的方法,当然还有更传统的Dump命令,省省吧(在我以前的文章中提到过用命令的方式导出和导入数据库,特殊情况下必须用那样的方法)。我推荐用WP-phpMyAdmin插件来备份,虽然没有什么理论根据,但实践证明它备份出来的数据库是我以前诸次导入中最容易成功的。这个最麻烦,建议每次升级WordPress的时候备份,备份之后一定要在本地导入试试看,确保不是乱码再动手升级。
我知道这篇是这个系列中最没什么营养的……下一篇是IPower空间的一些固有问题和解决方案。
Related posts:
February 3rd, 2008 at 7:06 pm
有些theme,不管放什么样式的Flash Widget或图片Widget都不会觉得突兀
classicning用的那个theme勉强也算……
April 8th, 2009 at 10:36 am
[...] 我自创的“让text widget在标题中显示图标”,需要有一些改变: wp-includes目录下的widgets.php中的 function wp_widget_text_control($widget_args) 中的 $title = strip_tags(stripslashes($widget_text[’title’])); [...]