真正静态化Wordpress页面
两个月前,空间不稳定得几乎让我绝望,一度有过将 Wordpress 彻底静态化的打算,于是 Google 到 Cosbeta 的 Blog。原来他正在使用自己写的一个 Wordpress 插件,可以生成脱离数据库操作的 html 页面,令 Wordpress 像Movable Type 一样摆脱对数据库的完全依赖。可惜当时他的 Blog 布局实在有些“恐怖”,我还以为要使用这个插件就得把页面弄丑,所以放弃了。
最近两天,Cosbeta 正式发布了他酝酿已久的大作—— Cos HTML Cache,在一众人的试用之下,我才知道根本不是那么回事,这个插件支持任何模板。 因为会生成真实的文件,我需要改变一下目前的永久链接形式才可以启用该插件,否则根目录早晚乱成一团。然而为了一个插件丢掉大部分的访客显然也是个不明智的举动,好在 Cosbeta 推荐给我另一款 plugin,可以完美解决通过搜索引擎和其他链接进入本 Blog 的转向问题。这个插件叫做 Permalinks Migration Plugin,采用 301 Redirect 形式安全地将访客和搜索引擎转向到当前的链接。既然如此,一不做二不休,我的 Blog 就这么"半"静态了。
半静态有插件本身的原因,也有模板自身的因素。Cosbeta 目前只让插件生成文章和首页的静态化页面,各种存档页面依然需要依附数据库,此为“半”原因之一;Wordpress 模板的 css 文件在写作时虽然采用的是绝对路径的链接,但因为模板的调用机制,许多路径都使用了 php 函数来表达,静态化之后,如果数据库死掉,页面虽然可以访问,只是无异于裸奔,是为“半”原因之二。前者的问题见仁见智,对我来说这样的静态化程度足矣,过分的静态化也会有一些随之而来的问题。Cosbeta 告诉我他准备在日后的更新中加入一些类似 WP-Cache 的动态化缓存机制,应该可以满足部分用户的需求;后一个问题就得靠自己动手修改 css 和模板了,反正我懒得弄,数据库又不是随时都死掉,BH 还是很稳定的。
BTW,介绍完这个插件,我还想给 cosbeta 一个建议,cos html cache 显然没法突出这款插件的功能,搞不好别人会觉得这个东西和 wp-cache 差不多,叫 cos html creator 或者 producer 如何?说个题外话,既然是我自己的 Blog,写一些自己喜欢的东西是免不了的,比如刚才我就写了 一篇乐评,弄得像个大杂烩不是我的本意。。。
Update 1: 使用该插件以后,Wordpress 内建的搜索功能会失效。解决方法很简单,方法1是换用Google搜索代替内建的搜索功能;方法2就是修改模板内的searchform.php文件。
找到 action 这里,一般情况是这样的:action="<?php bloginfo('url'); ?>" 。因为域名根目录下的首页已经被index.html优先占用,而index.html无法支持Wordpress的搜索通配符,造成搜索功能失效。直接调用原本的首页 php 文件搜索功能便会恢复,修改后代码如下:
action="<?php bloginfo('url'); ?>"/index.php
某些模板的搜索栏并非位于侧边栏,比如包含在 header 文件,同样可以修改其中的代码达到目的。修改后记得重建全站页面。
Update 2: 编辑页面 (page) 的时候请暂时停用该插件,否则会触发其自动生成静态文件,造成内容丢失的假象。例如更新 http://ishawn.net/about 这样的目录结构,插件无法获取页面内容,但会自动生成 about 文件夹以及其中的空白 index.html,让人误以为出现问题。
如若忘记停用该插件而更新页面导致出现上述情况,可以直接通过 ftp 删除已经生成的目录和页面来恢复 page 的正常显示。同时建议暂时关闭页面的 Ping 接收和评论,因为外部对页面的更新同样会触发插件自动生成无内容页面。。。
等待Cosbeta更新解决该 Bug。
Update 3: 已经解决。插件更新参见生活点滴。

又是一段时间没见,前段时间确实太忙了,连加你的链接的时间都没有挤出来,而你给我的留言也是才看到,在此表示实在抱歉!
现在回学校了,上网的时间又多起来了,So...
See you later soon.
你还真早。。。
html-cache-creator名字已经取过,所以这次取成cos-html-cache,cos主要是好区分,名字确实很重要
他一向早睡早起`精力旺盛!!
不错,想得周到!
小伙子,听仔细的阿
我还不是只有遇到了问题才能解决。
试了试,没搞定分类和存档
功能描述:生成文章和首页HTML缓存文件,当有评论、修改、添加和删除文章的时候更新首页和当前页面缓存。注意,不缓存其他页面。
我早就说了不缓存其他页面,你硬说这个没有搞定?本来就没有打算去搞他啊。
那使用以后,分类和存档的链接出现错误,应该怎么处理?
请问你的My Tags 这个是插件还是什么啊
能提供么 ???
来你的BLOG 有意思啊 说话实在
我是搜索MT合租过来的
Tag Cloud widget for UTW 这个插件。
为什么我也是用的unnamed但是在使用cos-html-cache的时候虽然能缓存全部页面,但是访问的时候却是空白呢??真是不知道怎么了???教教我吧!我把K2的所有东西都关了还是不行啊??
你开WP-Cache了么?如果没有开是不会出现这个问题的。
不是wp-cache的原因,这个我早删除了,好象是侧边栏的问题,只要我把侧边栏弄出错误来就能缓存了,真奇怪.
能不能给我发下你的comment.php和sidebar.php文件啊!
邮箱:freepkadmin#gmail.com
谢谢了
好了,原来是编码的问题.搞定了麻烦你了
这个正是我在找的,我在blog上引用link一下。不如互换一下友情链接吧。;)
http://www.022a.com
google搜索插件哪里有呢。
用用看看 貌似不错哟
用了插件后,害我不得不生硬的强插了一个目录在URL,之前的链接丢了不少,Google管理员工具一堆404页面.
另,首页总是指向HTML文件,后来在HTACCESS里改了默认文件调用顺序,似乎才有些解决.但很多时候,总是要手动删除生成的index.html,快要把我给逼疯了.
如果一个插件让我耗去大量时间和精力,我想宁愿还是不要了吧.
哈哈很不错的东西啊,一直在寻找。。。
收藏了!
有点复杂,学习了,新年愉快
算了 哪的 用那些哦!
不过整起来很麻烦啊
今天把网络弄对没有?
刚好在找这个~~呵呵,收藏啦!
我也觉得这个插件还有待提高。否则,每次更新或改动后,都要删除掉再重新来生成。可以加入那样一点一键生成的功能。
另外,你这个评论框很好看,我喜欢,不知道是怎么实现的呢?