博客首页、分类页改为全文输出

2010-10-04 19:58| 分类:wordpress 博客维护| 标签: | 2,986 次点击

突然决定把博客首页和分类页改为全文输出而不是摘要输出。

我的这个博客从开始写以来,都是RSS全文输出,但首页、分类页、tag页是摘要输出的。

难以相信自己竟然让访客在长达三年的时间内都得多点一下才能查看博文。当初的想法倒也不是为了PV(我一个人博客看什么PV啊?)应该是:摘要输出后,首页看起来很简单,几篇文章一目了然,当然也些SEO方面的考虑(可以减少重复内容)。

不过现在看来,这着实不是一个好主意:

1、如果你想了解某个人,又有阅读的心情,也许会把他的文章一篇篇地看下去,但看完一篇就得返回首页,再看第二篇,等于是得点两下,还得眼睛去找,这样很容易造成阅读上的烦躁感,可能就不想看了。

2、而且现在的文章越来越短,更没什么必要摘要输出了。

3、我有时看别人博客界面不满意时,也是直接用GR订阅,在阅读器里看更舒服——这可作为一个反例。(不过从这点上看,也许我的这个摘要输出反而使订阅量上升了,哈哈)

4、可能也是被Reader的阅读方式,或者twitter和Buzz的timeline给影响了——现在喜欢一目了然的看到所有的,而不是一次次的去点。

回到博客看了下,每篇博文下居然也没有“上一篇”“下一篇”的链接——看来真是简洁至极了,我一直只考虑RSS订阅者和搜索引擎访客的情况,没考虑访客要一篇篇看下去的情况(这种用户也许更应该照顾)。不过既然已经改为全文输出了,已经可以在首页上一篇篇看下去的,不需要再进文章页面了,毕竟会把评论一篇篇看下去的访客还算少吧,所以奥卡姆剃刀,还是不上这个功能了。

用户体验真是个挺主观的东西,很可能因为一时的感受而改变原先的理念。

wordpress一键升级新版本

15:17| 分类:wordpress 博客维护| 标签: | 3,090 次点击

刚才登录博客后台,wordpress提示3.01版可用,我点击“自动升级”,居然直接就升级成功了,而且直接就是中文的,真让人目瞪口呆,要知道我的博客可是架设在windows+IIS下的,以前要升级得配置半天,至少也得有一部数据库升级的操作吧?现在都不需要了,一键搞定。

还记得两年前,为了能实现wordpress自动更新,特别用vbs+bat+telnet写了个小程序(见此:http://blog.linggan.com/wpautoupgrade.html),来实现控制托管在Dreamhost上的wordpress的一键升级。可那个程序是安装在本地而不是服务器端的,需要telnet登录密码,远不及现在的简单。

其实大概一年后也就是2009年,从2.7版开始,wordpress就可以自动升级了,不过我印象里那只能在linux的apache下操作,IIS下我试都不敢试。

原来版本是2.9.2,wordpress3 beta1刚出来时,因为得知新版可以多人共用wordpress,于是就想提前体验,结果又是下载又是升级数据库折腾了半天也没搞定,怕浪费太多时间就不弄了。现在可好,这么傻瓜化。突然觉得做一个Geek,beta版一出来就去更新是多么傻。

另外,关于多用户wordpress,原本我曾搭建过一个wordpress Mu版的博客(fineblog.cn)来给朋友们提供博客服务,可是在绑定域名的时候出现很多问题,让我不得不去研究wordpress Mu的表,而现在普通版的wordpress都能提供多人博客的服务,不知其在多域名绑定方面支持的怎么样?

为wordpress安装lightbox2插件

2010-03-15 21:38| 分类:tech wordpress 博客维护| 标签: | 3,437 次点击

三年前,正是lightbox这个特效让我接触了mootools,然后又通过mootools接触了jquery,到后来用jquery花费一个暑假开发了美女PK——www.facepk.com,FacePK上最大的特色其实就是Lightbox特效。

所以lightbox这个特效和我很有渊源,不过我的博客一直没有用上。一是懒,二是觉得直接打开图片也挺方便,所以都没去改。

基于以下两个原因,我现在加上了lightbox2插件。

1、因为最近发了“灵感发明”这个系列的图片,博客上图片比较多,为了让用户体验好些。

2、虽然我倾向于简洁,但点击图片打开新窗口显示图片毕竟比较传统,不够现代化,用lightbox这样的效果应该会好些。

3、lightbox都有插件了,安装简单。

安装确实前所未有的简单,只需在后台添加新插件处搜索“lightbox”,即可找到lightbox2进行安装,然后启用就行了,所有带图片的日志都可以看到这个效果了。

Lightbox Appearance用灰色(Grey)的,看起来酷些。

要看效果,可点此测试:http://blog.linggan.com/1.html

新建一个日志存档页面

2010-03-10 14:23| 分类:tech wordpress| 标签: | 10,776 次点击

基于以下原因我打算启用一个存档页面

1、随着时间推移,日期分类越来越长,在侧边栏占据很多空间。

2、基本没人去按日期看我的文章。

3、没人看的内容在每次访问时都载入一遍,太浪费了。

4、文章短的时候,右侧比左侧还长,主次不分。

5、如果一次性读取出来,有兴趣的人也许会去看,可增加PV。也便于自己看。

以下给出两个方法:

一、插件法:

网上找到了WP-EasyArchives这个插件,由mg12开发,可在自定义页面上显示对搜索引擎友好的树形结构存档列表,Download

安装方法:
1. 将压缩包解压到 {WordPress 根目录}/wp-content/plugins/
2. 登录你的 WordPress 后台, 到 Plugins 页面激活插件 WP-EasyArchives
3. 在主题文件的适当位置追加添加代码:<?php wp_easyarchives(); ?>

比如我是复制一个page.php页面,然后在里面加入上面这句代码即可。然后就可以把rsidebar.php里按日期排序的代码(<?php wp_get_archives(‘type=monthly’); ?> )删掉了。

接下来按 如何在wordpress的页面里调用具体分类的文章 介绍的方法添加一个独立页面用来显示日志存档。

不过这样子还有一个问题,就是在导航那里会出现这个分类,而我不想链接在导航里出现(不让定制页面的标题这个分类在Nav导航的显示)。查看header.php的代码,看到:

<?php wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’); ?>

于是搜索了下wp_list_pages,看到官方对wp_list_pages的介绍

只要加一句exlude排除一下即可,我的这个 “自定义页面”的ID号是1156,于是把上面那句改为以下即可。

<?php wp_list_pages(‘exclude=1156&sort_column=menu_order&depth=1&title_li=’); ?>

二、函数法(不用插件):

这么安装完后我与本博客主题的作者prower上的archives页面对比,发现他在排版上比这个插件生成的漂亮很多。搜了一下发现这里有个方法:不用插件打造自己的存档页 ,只需把prower的V3主题下载下来,然后覆盖掉自己的functions.php和archives.php页面,在新建页面的模板中选择archives就可以了。

最终我还是选择了用插件法+prower博客的排版,把这个日志存档的链接放在了导航上搜索框的右边,效果见此:日志存档

wordpress模板编码不一致导致排版混乱

2010-03-09 17:30| 分类:tech web开发| 标签: | 3,221 次点击

刚刚给博客加了个“发明灵感”的分类,见此:http://blog.linggan.com/faming。模板代码是一模一样的,只改了分类cat的ID号,排版却乱了。

那只可能是文件编码问题了,看了看原来模板文件pageforeye.php和pageforlife.php都是GB2312,而新建的这个是UTF-8的,改成UTF-8的就可以了。

像这种文章对读者是没用的,但我已不再更新自己的另外一个博客维护日志(现在更新的博客只有这个了,其他思想碎片都用微博记录),又想记录这些维护细节,没办法只能发在这个博客上,RSS里又没法限制输出,只好打扰订阅者了。

IIS下实现wordpress每个页面都301重定向到新域名

2010-01-14 20:11| 分类:Internet web开发 博客维护| 标签: | 3,622 次点击

因为原来我用的是linux下的Apache,只需在.htaccess加入以下代码即可实现旧域名全部转向到新域名:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^blog.linggan.com$ [NC]
RewriteRule ^(.*)$
http://blog.linggan.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
</IfModule>

# END WordPress

 

但后来我把博客从Lamp平台转移到Wimp平台 ,这个方法就不能用了,我就只让原来的域名进行跳转,而没对域名下的每个子链接跳转,所以导致很多图片出现XX,感觉博客没什么人看,所以就没去处理,但今天有人提到了这点,既然有需求了我就改一下。

修改方法,在WordPress根目录下的wp-blog-header.php文件头部的<?php后面加入:

if (strtolower($_SERVER[‘SERVER_NAME’])!=’blog.linggan.com’)
{   
    $URIRedirect=$_SERVER[‘REQUEST_URI’];   
    if(strtolower($URIRedirect)==’/index.php’)    {
       $URIRedirect=’/’; 
   }   
       header(‘HTTP/1.1 301 Moved Permanently’);   
       header(‘Location:
http://blog.linggan.com’.$URIRedirect);   
       exit(); 
}

 

即可。现在访问博客,里面的图片都是可以显示的。感谢提出问题的lyman朋友。

windows+IIS下完美设置wordpress伪静态

2009-12-26 22:30| 分类:wordpress 博客维护| 标签: | 7,835 次点击

不得已把wordpress迁移到了wimp平台下,seo强迫的我自然要求链接友好,但IIS6没有自带rewrite功能(据说IIS7会好点,wordpress可默认支持IIS7下的URL重写)。如果用ISAPI Rewrite得自己写正则匹配,还不一定能匹配的成功,于是我找到了一个更方便的方法,堪称完美。

这个方法是通过IIS的自定义404页面实现,首先在wordpress根目录下新建一个wp-404rewrite.php,然后把下面的代码复制到里面去:

<?php
// This is the default file for the site. Usually index.php
$default = 'index.php';

// The name of this file.
// Set this value for the URL in Custom Error Properties of your website in IIS.
// Goto: IIS Manager > Websites > [Site Name] > Properties > Custom Errors >
// 404 & 404;2 & 404;3 > URL (Requires a '/' prefix in IIS).
$thisfile = '404-handler.php';

$_SERVER['ORIG_PATH_TRANSLATED'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_TRANSLATED']);
$_SERVER['SCRIPT_FILENAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_FILENAME']);
$_SERVER['ORIG_PATH_INFO'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_NAME']);
$_SERVER['PHP_SELF'] = str_replace($thisfile, $default, $_SERVER['PHP_SELF']);
$_SERVER['PATH_INFO'] = false;

$qs =& $_SERVER['QUERY_STRING'];
$ru =& $_SERVER['REQUEST_URI'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['URL'] = $ru = substr($qs, $pos);
$qs = trim(stristr($ru, '?'), '?');

// Required for WordPress 2.8+
$_SERVER['HTTP_X_ORIGINAL_URL'] = $ru;

// Fix GET vars
foreach ( $_GET as $var => $val ) {
  if ( substr($var, 0, 3) == '404') {
    if ( strstr($var, '?') ) {
      $newvar = substr($var, strpos($var, '?') + 1);
      $_GET[$newvar] = $val;
    }
    unset($_GET[$var]);
  }
  break;
}
include($default);
?>
在IIS里的“自定义错误”Tab处添加修改404的错误指向,“消息类型”选择“URL”,地址填上:/wp-404rewrite.php(我的是/wp-404-handler.php),然后访问博客主页,看看各个页面是不是可以了?

我用firebug和google webmastertools查看状态,都是200,并非404,所以不用担心google不收录这样的页面。

以上方法参见这里(英文):

http://www.ikailo.com/94/url-modrewrite-workaround-iis-60/

http://tech.einaregilsson.com/2007/07/30/pretty-wordpress-permalinks-on-iis/

(以下是写给自己看的):这个方法对我来说还会有点问题,我配置好后发现三个博客的categary不管是否中文都可以访问,比如“http://blog.linggan.com/tag/电子商务”,但日期分类页面和分页页面均无法访问。后来发现其他人用这个方法,却可以访问日期分类。观察了下原来他们的链接里多了一个斜杠号“/”,只要我在日期分类和分页链接后加个斜杠,也可以访问了。但发现有个人的博客用http://wp.feiyan.info/page/1 这样的链接也可以访问,我意识到不是斜杠不斜杠的问题。而是自己的配置问题,突然意识到有可能是以前写的rewrite规则冲突!原来我以前写过facepk.com的rewrite规则,凡是后面是数字结尾的都会进行匹配,而免费的rewrite是全局生效的,会让所有IIS下的网站都生效,所以就导致这个404的问题了!

解决办法,去掉facepk.com的rewrite规则,facepk.com流量很低,也不需要seo,不过这里做个备份:

RewriteRule /facepk/(\d{1,5})$ /facepk/facepk\.asp\?id=$1

RewriteRule /(\d{1,5})$ /facepk\.asp\?id=$1

另外,之所以前面tag/xxx可以访问,也是因为以前就在httpd.conf中加了以下两句,现在可以删了!

RewriteRule /tag/(.*) /index\.php\?tag=$1

RewriteRule /cat/(.*) /index\.php\?category_name=$1

现在httpd.conf里就没有东西了。

之前我还试过用ISAPI组件的方法来设置友好链接,但一直没设置成功。

IIS下的Wordpress URL重写组件:URL Rewriting for WordPress wp_url_rewriting:URL Rewriting for WordPress under IIS (V 2.1)

WordPress URL Rewrite | WP URL 重写组件WordPress URL Rewrite v1.0 for 32bit Windows (x86)

WordPress在Win-iis中的完美rewrite实现方法http://code.google.com/p/wp-url-rewriting-on-iis/downloads/list

插件导致wordpress问题

19:31| 分类:wordpress 博客维护| 标签: | 3,216 次点击

wordpress插件机制是挺好用的,但感觉wordpress对插件的审核太不严格了,今天更换wordpress运行的平台到windows+IIS上,有三个问题是插件导致的。

一、wordpress后台空白:

升级某个插件后导致整个wordpress后台空白,我又不知道是哪个插件,于是把所有插件都移出plugins文件夹,然后再移进去,这样所有插件都被停用了(所以最好不要用这种方法来检查问题所在,我那么多插件一个个启用很麻烦),后台才可以访问,最终发现是wordpress-related-posts.php升级导致的。

二、wordpress内容页侧边栏消失:

仍旧是wordpress-related-posts.php的问题,不过不是这个插件升级导致,而是没启用导致的,因为我在模板中有用到这个插件的语句,而这个插件没启用,所以导致代码解析出一部分,只出现文章内容,侧边栏都没有了。

因为以上两个问题的存在,所以wordpress-related-posts现在只能暂用0.9版,不知道dnnis知不知道这个情况。

三、wordpress无法自动更新程序和插件,提示“一个未知错误发生”:

这个我在原来的门户通空间上也出现过,一直以为是墙的问题,但今天本来是可以的,后来又不行了,但在另外同一台服务器上的另外一个wordpress却可以自动更新,所以怀疑不是GF-W的问题,Google了 一下没找到解决方案,百度了一下却找到了,情况跟我一模一样——原来是Feedsky Feed插件导致WordPress自动更新不成功,另外,还顺着那篇找到这篇《请停用Feedsky Feed 插件》,看来feedsky feed插件问题还真多啊。(以下为引用)

经本人最新研究表明 Feedsky Feed 插件 插件会导致wp的预订任务执行失败,包括文章预发布功能和数据库自动备份等,如果你装了这个插件,也出现了上述情况,那么请毫不留情的停用它。

本人还发现此插件还会导致wp在线安装功能不可用,提示一个未知错误;此外还会导致Google XML Sitemaps 更新已经成功通知XXX失败。

从上个月下旬起,本人发现邮箱里少了每天了数据库备份文件,进后台查看发现设定的时间早过了就是不执行了,起初以为是数据库插件问题,可换了个依然不行,再重新装wp依然不行,那我就先全部停用插件了然后一个个试,最后排查出了这个罪魁祸首!

看来以后装wordpress插件一定要小心谨慎,能不装的就不装。wordpress的问题很可能是某个一点也不相关的插件引起的,排查起来真的很麻烦。

博客从Lamp平台转移到Wimp平台

13:51| 分类:wordpress| 标签: | 4,760 次点击

我之前的博客托管主机商门户通因为最近的整顿把我的空间关闭了,连他们的主站www.menhutong.com.cn都无法访问了,其实在此之前已经关了好多次了,只是这次最为彻底。按官方给出的数据库备份方法,我第一步——备份FTP服务器都无法登陆。于是前天联系了他们客服,客服也不知道什么时候会恢复,但数据肯定是安全的,只是机房现在关闭无法取回数据。今天又登陆了虎翼的管理后台,发现管理后台已经停了,但给出了一个FTP的地址,于是登陆,发现多了一个database文件夹,里面都是.frm、.MYD、.MYI的mysql备份文件。

赶紧下载下来,用phpmyadmin新建一个数据库,比如blog,然后到my.ini里查看一下自己的mysql数据库文件夹在哪里,我的是:C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data  然后把下载下来的数据放到这个blog文件夹里,覆盖。即可在phpmyadmin那看到导入的数据了。(因为从Dreamhost转移到门户通后,每个用户只分配一个数据库,所以我把几个wordpress博客的数据合并到一个数据库里,以不同的表前缀分辨)。

然后在IIS中一个个地添加博客站点,注意程序目录要开启everyone权限,否则提示找不到页面,且在“配置-映射”那要加上.php的映射。ISPAI筛选器那倒可以不添加PHP程序。默认文档加一个index.php。

然后配置几个博客的wp-config.php,博客主页即可访问,但因为是wimp平台,url重写有点问题,所以尽主页和tag页面正常,其他页面都不行,于是配置了一下windows+IIS下的URL Rewrite,博客即可正常访问了,这是wimp平台下的第一篇日志。下一篇写写怎么在windows+IIS下配置wordpress的URL rewrite。

解决wordpress评论IP都是127.0.0.1的问题

2009-09-16 17:48| 分类:tech web开发 wordpress 博客维护| 标签: | 12,508 次点击

自从博客从dreamhost搬回到国内空间后,近一年的时间内,评论者的IP都是127.0.0.1,在我的博客上留言是不要求填写名称或邮箱的,所以有的时候有的访客留言没有留下任何其他信息,一条留言就真的只有一条留言,看的有些郁闷。今天准备解决一下这个127.0.0.1留言的问题。

搜了一下,可能是由于空间商的PHP版本问题,也可能是因为启用了某种缓存加速的方法而导致的,使得获取的都是本机IP。是空间商的原因,并非程序的问题,不过可以通过修改程序来重新获取IP。或者更简单的方法是通过Comment IP Fixer这个插件来实现获取真实IP(修改程序的话,每次升级wordpress程序还得再改一次,麻烦),我启用这个插件后,确实可以正常的取得评论者的IP了,感谢插件的作者jerryhong。

wordpress更换新域名不用插件实现301跳转

2009-09-13 20:26| 分类:web开发 博客维护| 标签: | 5,652 次点击

从上次正式更换本站域名,更新feed地址后,我一直是新旧两个域名并用。用Domain Theme这个插件可以很容易的实现多个域名访问,还可以为不同的域名设置不同的主题和title。比如我的设置是:

image 

不让旧域名跳转过来,是因为我希望Google既能多收录这个新域名,又能保留原来域名的权重(原来域名PR是2,曾经达到过4),但发现以下三个问题,我打算撤掉原来的域名(chenfangyi.com),让这个域名跳转到新域名:

1、对已经发布的文章,Google搜索结果中两个域名下都有结果,对这样的重复内容,Google即便是不惩罚,这种两个链接不一样内容却一样的页面也会分散权重,对新域名不利。

2、博客上新发表的文章,Google只收录新域名的而不收录旧域名的,比如关于创新工场的两篇文章,site一下发现Google并没有收录chenfangyi.com上的这两篇。应该是Google认为内容都一样,没必要再收录了,按第一次是谁ping的就收录谁的。照这样下去原来域名的权重会越来越低(原来考虑的不停用原域名就能保持住原域名的PR的想法是不正确的),既然这样,还不如自己废掉,这时候跳转还能提高新域名的权重。

3、chenfangyi.com毫无解封的迹象。没必要为这个域名留后路了。

于是我照这里说的,在站点根目录下的.htaccess里增加了

RewriteEngine on
RewriteCond %{HTTP_HOST} !^blog.linggan.com$ [NC]
RewriteRule ^(.*)$
http://blog.linggan.com/$1 [L,R=301]

变为:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^blog.linggan.com$ [NC]
RewriteRule ^(.*)$
http://blog.linggan.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]
</IfModule>

# END WordPress

接着site一下chenfangyi.com,访问几条试试,确实全部跳转到blog.linggan.com上了。

现在无论是访问chenfangyi.com、www.chenfangyi.com域名下的任何一个链接,都是跳转到blog.linggan.com,短期内blog.linggan.com的权重应该有所提升。

放弃旧域名,证明我已经屈服于伟大的GFW了。GFW,这次算我败给你了!

 

附1:现在的Google收录情况:site:chenfangy.com目前收录278条,site:blog.linggan.com目前收录213条。

附2:原来没添加301跳转前的访问www.chenfangyi.com的状况是:www.chenfangyi.com可以访问,www.chenfangyi.com/posterous.html 这样的链接也可以访问,但其中的每个连接都是指向到blog.linggan.com上的。现在是直接就跳转到新域名。

WordPress的RSS订阅优化

2009-08-31 20:26| 分类:Internet wordpress| 标签: | 12,856 次点击

一、确定一个永久的RSS地址

WordPress默认的订阅地址是www.domain.com/feed,使用这样的地址有三个比较大的缺陷:

1、无法统计多少人订阅了你。
2、博客更换域名或者被GFW后原RSS地址不能访问了,原来的读者群就流失了。
3、输出的内容太单调,不美观,且没有让用户选择订阅工具的按钮(链接)。

所以最好使用feedbuner和feedsky这类第三方Feed工具。第三方feed工具会烧录博客的原有RSS,给你分配一个新的可订阅的RSS页面,除了界面美观外,feedsky还可以根据你的订阅量和类别为你做一些展示,提高你的订阅量。

因为众所周知的原因(比如FeedBurner挂了)和RSS提供商自身不稳定(比如FeedSky出现故障)的原因,有时这类第三方feed工具提供的RSS地址不能访问,所以建议参考月光博客采用的方法——使用二级域名绑定到这个RSS地址,然后让访客订阅这个二级域名(目前只有feedsky免费提供域名绑定的服务,FeedBurner要收费)。当feed地址不能访问时,可以重新绑定或指向到可用的feed上,避免了读者群的流失。

以我的博客为例,我认为从稳定性上看:feed.linggan.com>feed.feedsky.com/chenfangyi>blog.linggan.com/feed,所以最终选择的是feed.linggan.com作为订阅的地址。

二、更新Wordpress上的默认地址为新地址

接下来,你要在你的博客上做些修改,让访客订阅到的都是这个自定义的地址,而不是原来的rss地址。

1、在博客的侧边栏sidebar上加一个widget或者直接修改模板,把RSS地址改为自定义的RSS地址。比如我博客上的:

image 

可在sidebar.php里修改代码实现,这些代码可从你的feedsky或feedburner的feed页面的代码中获取。

2、修改博客头里指定的RSS地址。

但如果访客不是通过点击这些链接订阅的,而是直接在浏览器上点击订阅图标或者在Google Reader里输入你的博客地址(非RSS地址)来订阅的,那就不是订阅到你设置的这个RSS地址了,而是订阅到Wordpress默认的rss。

因为Google Reader和带RSS订阅功能的浏览器判别一个网站的RSS地址都是在head里判断的,我们可以看到head里的代码是(以我的博客为例):

<link rel="alternate" type="application/rss+xml" title="陈方毅的灵感日志 RSS Feed" href="http://blog.linggan.com/feed" />

所以我们还需要做少量的代码上的修改。

修改模板的头文件header.php,把以下这句:

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo(‘name’); ?> RSS Feed" href="<?php bloginfo(‘rss2_url’); ?>" />

换成:

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo(‘name’); ?> RSS Feed" href=http://feed.linggan.com />

这样以后通过任何形式的订阅就都是用你自定义的这个地址了。

三、让所有地方的feed地址转向到新地址

以上虽然更改了feed地址,但你难保外链、搜索引擎收录的、或者以前写的文章中不出现你的旧feed地址,所以为了确保没人再订阅旧的RSS地址,你还需要对旧的RSS地址进行转向。不过Feedsky官方提供的RSS转向工具在wordpress2.8.4中不能使用了,Feedsky也不再提供下载,所以这里提供一个根据feedburner转向插件FeedBurner FeedSmith修改的插件FeedSky FeedDuetG。启用这个插件后,设置一下你的新Feed地址,就可以在访问wordpress内置的rss地址的时候跳转到你的新Feed。

四、提醒访客订阅

以上是让你的RSS地址在读者的阅读器中尽量的统一,我们还可以做一些优化,提醒未订阅的访客来订阅你的博客,这里介绍一个非常好的插件——WP Greet Box,这个插件能够根据访客的特性个性化的提醒访客订阅你的博客。

比如,你可以通过这个插件设置:

对第一次访问博客的访客,在文章的上方提醒“您是第一次访问本博客,本博主题为业界评论和电子商务,若您对此感兴趣,可以点此订阅”

对Google搜索进来的访客:可以提醒“Hi!Googler!我也用Google,如果您对本博的内容感兴趣,可以点此订阅”

不过注意,需要在这个插件的General Configuration的Advanced Options设置中,把默认的RSS地址改为你现在的RSS地址。如下图所示:

image

WP Greet Box还有很多其他的自定义设置,非常值得一试。

五、优化访客订阅体验

对已经订阅的访客,如果在阅读器中看到一篇很适合自己口味的文章,看完可能还会觉得意犹未尽,如果这时能有一些推荐或者相关文章的列表,则能够吸引他再去看看其他的文章。这可以通过WordPress Related Posts Plugin这个优秀的插件来实现,注意安装好后要在插件的设置里选中“Related Posts for RSS”。

另外,有的读者喜欢分享,如果你觉得有必要,可以在feedsky的“feed互动”中添加以下效果,方便你的读者分享你的文章。

image

posterous实现邮件发布日志到wordpress——随时随地记录灵感

2009-08-12 17:38| 分类:Internet wordpress 业界评论 移动生活| 标签: | 5,449 次点击

经过一番折腾之后,我现在终于可以实现在手机上发邮件来更新blog.linggan.com,或者发一封短邮件即分发tweet到twitterfacebooktwitter.linggan.com

比如,我突然想记录一下自己的手机桌面的变迁,于是首先用截屏程序在treo750上截屏并保存图片,然后打开750上的邮箱,添加这张图片为附件,标题为"我的treo750桌面",最后发送到twitter+facebook+#twitter@posterous.com,于是,我的twitter、facebook上就有了这条tweet,我的"灵感碎片"上就有了这篇文章

不用彩信不用短信,只要你的手机可以用cmnet上网,这一切都是免费的,让移动彩信见鬼去吧!

做到这些在以前是不可能的任务,但现在因为posterous.com的出现让这一切变得很简单。你只需注册posterous,按照posterous上面所说的做即可,不需要用到什么教程。

Posterous的优点(或者说邮件发布博客,twitter的优点):

使用场所广:只要你手里有一台能发邮件的手机即可!甚至,手里什么也没,用路边电信的公用电话亭也可以!(电话亭上可以发邮件,我大一时曾经试过,而且可以自定义发件人)

实时性强:比一些通过读取rss来获取文章内容再发布的工具强一些,这些工具并不是实时的,而posterous可以实现邮件一发,博客马上更新。

抗干扰能力强:即能绕过gfw发布twitter和facebook。如果你灵感突发,想发布一条tweet,还得翻墙,估计到墙外后灵感已经没了。

稳定性强、保质期长:只要你设置好后,有一天posterous被墙了也可以继续使用,毕竟发到posterous的邮件GFW不太可能一起拦截了,再说我们可以用https的gmail。除非posterous自己放弃服务或者你自己的博客被gfw,否则我们就可以一直使用posterous的服务而不怕GFW来干扰。

posterous的缺点:

以下看起来有一大堆的缺点,其实基本都是指对seo不友好,其他没什么意见了。

1、无法自定义永久链接(permalinks):因为我对永久链接比较敏感(敏感程度见123),而posterous是取你标题中的英文作为永久链接,这个对一般人来说还是很友好的,但对我来说是远远不够的,不可接受。所以我的这个主博客,是不会用posterous来发布的,只会老老实实的用live writer来发布,如果身旁实在找不到电脑和网络,我可能会用手机上的opera mobile来发布,那样也可以自定义永久链接)。posterous对我来说,主要是用来实现邮件发布到“灵感碎片”(twitter.linggan.com)上,因为这个微博客的链接是按文章id号生成的,是自动生成的所以无所谓什么自定义永久链接)

2、twitter链接只能指向到posterous自己的博客:用posterous分发到twitter.com、facebook.com,如果字数比较多,posterous会给出一个压缩后的网址,可是这个网址是指向到你在posterous上的博客的,而且没法设置。这个主要还是因为posterous虽然开放,但还是开放的不够,你想啊,如果通过posterous发布的twitter和facebook上面的tweets上带的链接是指向到你自己设定的博客,那posterous的流量从哪来?

3、没有ping:我们在wordpress后台或者用writer发布时,都会ping一下,让google过来抓取。而如果用posterous发布,估计posterous最多只是帮你ping一下posterous上面的那个博客。分发的那些博客是不会给你ping的。

4、重复内容:因为每用邮件发布一篇日志或tweet,都会同时发布在posterous的博客上,而且你主站是没有ping的,而posterous上的博客却是有ping的,加上twitter上的tweets链接都是指向到你在posterous上的博客,这可能导致你自己的主站上各个页面的权重还没posterous上的博客高。搜索的时候内容还可能被列为抄袭而拒绝索引。不过这个问题可以解决,可以在posterous中设置让posterous上的博客不被搜索引擎收录。

其实邮件发布日志并不是什么新鲜的事,早在四年前,我就用邮件发布到msn space来写博客了。只不过对wordpress之类的独立博客和twitter、facebook等statusphere,邮件发布功能一直不受重视。而且要做到发一封邮件同时发布到这么多家,反正在posterous之前,我是没看到有哪家成功做到。但邮件发布功能对我来说确实很重要,这次我的博客域名由chenfangyi.com切换到blog.linggan.com也正是由于有邮件发布的需求才最终下定决心的。

如何写好permalinks?先学好英文标题的写法!

2009-08-01 18:21| 分类:Internet| 标签: | 4,834 次点击

wordpress的permalinks对SEO挺重要的,以前我曾写过《偏执wordpress seo教程之一——永久链接permalink的搜索引擎优化》,详解了如何设置permalinks,但里面只说了应该采用哪种permalinks的格式,没说具体应该怎么写permalinks,我个人是非常重视permalinks的,对每篇文章的permalinks,都是考虑再三才写下的,由写永久链接还有了诸如《心理学中的经济学——“果断”、“魄力”与前景理论》这样的灵感。今天就借写上一篇文章的permalink的感想来说一说permalinks应该怎么写。

我倾向于把文章标题翻译为英文,然后把这英文当成这篇文章的永久链接。但因为英文里有个叫“时态”的东西,我一直没掌握好,所以每次在发一篇博文时,最棘手的就是写permalinks,在我看来,permalinks就是一个英文标题,并且,这个英文标题写好后就不能改了,所以我非常重视,写得好的话,这篇文章在Google里排名就会好一些,用户看的也明白,写不好的话,自己感觉就很不舒服。

在以前,我的permalinks几乎就是在堆砌关键字,后来慢慢的喜欢写一些连贯的英文短句来作为永久链接。但基本上不用时态,就是直接用原型。今天因为上一篇文章的缘故,我特别查了一下英文标题的写法,原来英文标题的时态本就没有定论!西方自己都搞不清要用什么时态了,不用说我们了,怪不得这么难选择~

英语新闻标题的特点及翻译

在英语中,不同时间发生的动作表述时要用动词的不同时态,英语新闻标题也不例外。然而,由于新闻标题必须用词精炼,因此,新闻标题便形成了自身独有的时态特点。

新闻报道的事件是过去发生的事情时,按一般语法规则谓语动词应该用一般过去时,但英语新闻标题中则一律用一般现在时,这样,就给读者一种新鲜感、现实感和直接感,也就是说,使已经发生的事仍然活生生地显现在读者面前。例如,“Israel withdraws troops from Palestinian towns.”《以色列从巴勒斯坦撤军》。而新闻标题在表示正在进行的动作或事件时,原则上使用进行时,但be动词通常省略,只使用现在分词来强调动作或事件正在进行。例如,“Shanghai facing trade challenges from other areas.”《上海在贸易方面正面临其他地区的挑战》。如果新闻标题表示的是将要发生的事情,原则上使用将来时态,而实际上经常用“系动词be + 动词不定式”结构,其中系动词be通常省略,以减少标题字数,因此,动词不定式常直接表示未来动作:“Beijing to fulfil promises for 2008 Olympic.”《北京将履行2008年奥运会的各项诺言》。

除了时态之外,还有一些特殊的用法。在英语新闻标题中,很少见到完整的被动语态的标题,通常省略be动词,只留过去分词表示被动意义,因此,读者切忌将之误解为动词的过去时,例如,“500 reported killed in South Korea building collapse.”《韩国大楼倒塌致使500人丧生》。有时为了在有限的标题篇幅内尽量多安排实义词,使标题言简意明,英语新闻标题常常省略一些词,这种省略并不妨碍读者的理解。例如,“Shanghai ready for APEC gathering”(ready前省略了系动词is),《上海亚太经合组织会议准备就绪》。又如,在英语中,介词短语、定语从句都是后置定语,放在所修饰的名础馏面,但在新闻标题中,力求定语前置,因此,介词短语常省略介词,定语从句常变成短横词组做前置定语,这是英语新闻标题中常见的堆砌现象。然而,定语前置不仅符合思维逻辑,而且与汉语类似,容易被中国读者所接受,例如,“U.S. plans more Taiwan sales.”即为“US plans more sales to Taiwan.”《美国计划出售更多武器给台湾》。

总之,写一个英文标题比取个中文标题难多了,每次想permalinks,短则一两分钟,长则半小时,不过英语水平倒也提高了一些,坚持下去吧!

本站已启用Gravatar和Ajax评论插件

2008-10-31 15:22| 分类:tech web开发 wordpress| 标签: | 3,025 次点击

刚才登录wordpress后台,看到有几条留言居然有头像,而且都是一些挺出名的blogger,显然他们不可能在我的博客上注册,难道是wordpress的新功能?联想到之前在reader里看到的某个头像服务,于是登录reader找了找,原来是Gravatar头像系统。

可是我一直对这个不太感兴趣,所以看到此类文章只是把文章加了星标而没去实施,并没有添加Gravatar服务啊,我估计是由于Gravatar被Automattic收购后wordpress里就自动加了这个功能。

另外又联想起在博客上“回复留言”时会出现一个头像,估计是由于我正在使用的插件WP Thread Comment调用了头像。在后台“设置”那看了看,果然是WP Thread Comment这个Ajax评论插件,在“编辑HTML”处的代码是:

<div class="comment-childs<?php echo $deep%2 ? ‘ chalt’ : ”; ?>" id="comment-[ID]"><?php if(function_exists("get_avatar")) echo get_avatar( $comment, 32 ); ?><p>[author] <em>reply on [date] [time]</em>:</p>[content]</div>

这里调用了get_avatar的函数,本来以为wordpress本身并没有地方可以设置头像,后来搜了搜“wordpress 内置Gravatar”才发现wordpress2.5开始就有了这个功能了,2.5版本是在“Setting > Reading”里设置,现在2.7版本是在“设置 > 评论”里设置,所以这个函数肯定就是调用Gravatar.com上的头像了,原来wordpress早就整合了Gravatar了,只是我火星了。。

因为wordpress已经整合,所以现在只需要在模板的合适的地方调用get_avatar这个函数,而不需要像以前那样在模板里插入Gravatar.com上的图像,使用Gravatar服务就更简单了。只需三步:

1、在wordpress后台启用avatar头像服务。

2、给模板添加get_avatar函数。

详见wordpress官方文档

(1)、如果你的模板只是给自己用或者只是修改一下自己的模板,则只需要用:<?php echo get_avatar( $comment, 32 ) ?>

(2)、如果你是模板制作者,不确定模板的使用者的wordpress是否是2.5以上,是否支持get_avatar函数,可以使用以下语句来判断:

if (function_exists('get_avatar')) { get_avatar( $comment, 32 ); } else { //不支持的话要显示的内容 }

(3)、如果你用了WP Thread Comment这个插件,那么你还必须去后台的WP Thread Comment管理处修改一下它的默认代码,可以变得美观一些。我是改为:

<div class="comment-childs<?php echo $deep%2 ? ‘ chalt’ : ”; ?>" id="comment-[ID]"><?php echo get_avatar( $comment, 32 ) ?><p>[author] <small>reply on [date] [time]</small>:</p>[content]</div>

并且在css中设置:.avatar{float:right;}

3、注册Gravatar会员。

现在你只是实现了在自己的wordpress上能显示别人留言的头像,而如果你想让你在自己或别人的博客上的留言也能显示自己的头像,可以在www.gravatar.com上注册,以后只需用这个注册的邮箱在各个支持gravatar服务的博客或BSP上留言,就能显示你的头像了。

提示一下,如果你是wordpress.com的注册会员,则可以用wordpress.com上的会员邮箱和密码直接登录,这两家已经整合了。我用的就是之前在wordpress.com上注册的邮箱。

小结:这个思路确实很新颖,我一开始还没反应过来呢,看到有人有头像时还愣了一下。我还想网站是我的,我都没有你们的头像图片,怎么会显示用户的头像呢。。。不过对OpenID、Friendfeed、这类服务,或者开放平台这类概念,我一直反应比较慢。。twitter也是风靡了很久才有点兴趣去使用。

wordpress排版混乱的解决

2008-10-20 11:26| 分类:tech web开发 wordpress| 标签: | 7,649 次点击

刚才看了看自己的博客,发现侧边栏掉到了下面,而在firefox和chrome中正常,用firebug没发现什么问题,但用ie development toolbar发现了DIV的嵌套出现了错误,如图:(sidebar本应该是与content并列的,但这里却嵌套在content中)

div 

不过FF是正常的,只是不知道为何在下面总有一行放空(好像是编码的原因):

image

后来观察了一下博客,的确是有两篇文章的html出了点问题:(注意中间那篇文章的“发表评论”和“阅读全文”链接,与其他文章的不一样)

divproblem

我把这篇日志的内容清空,重新发布,博客的排版就正常了。看来问题的确出在这篇日志上。

在wordpress后台的“设置”-“撰写”中的“允许 WordPress 自动纠正错误嵌套的 XHTML 标签”打上勾,然后再重新发布一遍文章,仍然有这个问题,看来wordpress这个功能还不完善。只能手动来修改原来的日志了。

不知道为什么这篇文章在wordpress撰写的html编辑器上看不到<p>等代码,所以我直接用writer下载这篇日志,然后以源代码的形式查看,writer发布的日志是没有div标签的,我也没看到有哪个地方多了<p>或者</p>,但再把这些代码复制到wordpress的撰写页中发布,仍然有问题。考虑到一般嵌套的问题都是由于换行引起的,于是我只能重新给这篇日志换行再发布,最后就没有问题了。

这篇文章真水啊,没什么技术含量,以后写篇文章分析下用writer发布日志好,还是直接在wordpress后台发布好。

手动修改wordpress前缀

2008-10-19 3:10| 分类:tech web开发 wordpress| 标签: | 13,307 次点击

这是对之前的一篇《多个wordpress共用一个数据库》的补充

现在有两个博客,第一个博客是刚刚搭建好的,还没有写文章,且前缀名已经不是wp_了,我只是想把前缀改的更规范一点,于是就直接下载这个wordpress的数据库(.sql格式),用UltraEdit打开,用新的前缀替换掉之前的前缀,然后重新导入,修改wp-config.php即可,访问和管理一切正常,也没有乱码。详见:《多个wordpress共用一个数据库》。

对于第二个博客

(more…)

让wordpress首页显示特殊页面(flash首页等)

2008-10-18 18:48| 分类:tech web开发 wordpress| 标签: | 11,777 次点击

对于一些简单的企业网站,我觉得用wordpress来搭建比用重量级的joomla或者drupal更适合,链接更友好,后台也更简单,而wordpress的企业模板数量也介于joomla和drupal之间,不会太少。不过这篇文章主要不是说wordpress和另外两个CMS的区别,主要是要解决一个首页显示flash的问题。

大家知道,企业网站首页往往需要用一个flash,flash非常有利于迅速展现企业的形象,而一般的虚拟空间为了wordpress和一些论坛程序的正常使用,都把默认主页设置为index.php,如果你想把wordpress的index.php放在根目录下(显然这样有利于SEO),但又想把index.php拿来做flash的页面,则wordpress的运行将会出现问题。这时如果修改index.php为default.php,这会让wordpress所有发布的页面都是500或者404;同样,如果修改默认首页文件为index.html,然后让flash动画结束后跳转到index.php,那么wordpress的自定义永久链接的功能也都失效了(我没有试过这个方法,因为我目前的空间无法自定义首页文件名,但猜想应该不行)。 (more…)

建议把wordpress目录与网站目录分开

18:26| 分类:tech web开发 wordpress| 标签: | 3,893 次点击

网站做久了,往往在根目录下有很多文件,比如robot.txt,sitemap.xml,这些文件若与wordpress的程序文件放在一起,便显得杂乱不堪,若能把wordpress安装目录与这些文件分开来放就好多了。备份比较方便,也比较安全(其实没安全多少,只要随便评论一篇文章就可以得知你的后台地址了)。

wordpress可以做到,这就是php较之asp的强大之处,wordpress可自己创建和修改.htaccess来控制URL,具体做法如下:

(more…)

wordpress页面无法翻页的解决办法

2008-10-08 18:43| 分类:wordpress| 标签: | 12,034 次点击

以前写过一篇如何在wordpress插入分类页面。后来访客反映这样子做成的分类页面无法翻页。并且wordpress自带的翻页函数还是wp_navi插件的翻页功能都无效(我用的是Pagebar2分页插件也无效),但后来他自己解决了这个问题。今天我又给自己的博客加上了几个分类,分别是“技术无关”和“移动生活”的分类,也遇到了这个问题。

google了一下,看到这篇《调用特定分类下文章_显示在独立页面中的_翻页问题(已经解决)》,已经讲的挺详细了:(在此谢谢论坛上的“跑调麦霸”)

状况:页面是翻过去了,地址也变了,就是内容没变 (more…)

Pages: 1 2 Next