惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
B
Blog RSS Feed
美团技术团队
博客园 - 【当耐特】
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
Vercel News
Vercel News
P
Proofpoint News Feed
IT之家
IT之家
I
InfoQ
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
从Movable Type迁移到WordPress的方法
月光 · 2006-01-06 · via 月光博客

Movable Type和WordPress是世界上使用最多的两个Blog系统,两者的功能都非常强大,使用起来各有千秋,当然,两者的区别也是非常大的。

Movable Type是PERL写的,CGI从原理上来说占用CPU资源可能会多一些,Movable Type生成真正的静态Html文件,其Url对搜索引擎很友好,静态HTML文件消耗系统资源则较少,可以支持非常庞大的访问量。可惜正是因为生成静态HTML文件,导致Movable Type发布日志的时候速度较慢,每发布一篇文章要更新好几个页面,另外Movable Type的安装相当复杂,上手较为困难。

WordPress是PHP写的,几乎恰恰和Movable Type相反,安装非常简单迅速,几乎5分钟内就可以完全装好,上手很容易,WordPress不生成静态Html文件,所有日志都保存在数据库中,因此其发布日志速度比Movable Type快,但是由于是动态页面,默认配置下对搜索引擎并不友好,不过通过UrlWrite可以仿真静态Html文件,来达到以假乱真的程度,再者其引入了高效的Cache功能,对于大数据量的访问支持也变得越来越好了。

由于WordPress一直都是免费的,多用户版本也是免费,而Movable Type似乎整体正在向收费转移,因此将个人博客系统从Movable Type迁移到WordPresss上似乎越来越流行。我这里总结了若干数据转换的方法,供参考。

首先,利用Movable Type的导出功能将日志都导出到一个文本文件。

然后,对WordPresss进行一些配置。

由于先前的Movable Type日志已经被Google等搜索引擎索引了,所以我们可以强行将WordPresss的Url使用Movable Type的Permalink结构。即从外部看两者具有相同的Url,不会损失搜索引擎的访问量。在WordPresss中点Permalinks设置为/archives/%year%/%monthnum%/%postname%.html,因为%postname%在WordPresss中,是使用“-”号来代替空格,而Movable Type使用的是“_”号,因此,需要在WordPresss安装一个“Underscore Permalinks Plugin”插件。

这个插件很简单,先建立一个文件为underscorepermalinks.php,内容如下:

/*
Plugin Name: Underscore Permalinks
Plugin URI: http://WordPress.org/#.
Description: Converts spaces to underscores when sanitizing post titles for use in permalinks.  This is handy for those moving from Movable Type who want to maintain their old permalink style.
Version: 1.0.1
Author: Ryan Boren
Author URI: http://boren.nu/
*/
function sanitize_title_with_underscores($title) {
$title = strtolower($title);
$title = preg_replace('/&.+?;/', '', $title); // kill entities
$title = preg_replace('/[^a-z0-9 _-]/', '', $title);
$title = preg_replace('/\s+/', ' ', $title);
$title = str_replace(' ', '_', $title);
$title = preg_replace('|_+|', '_', $title);
return $title;
}
remove_action('sanitize_title', 'sanitize_title_with_dashes');
add_action('sanitize_title', 'sanitize_title_with_underscores');

然后复制到plugins目录下Activate。

现在,就可以在WordPress中导入Movable Type的日志了。导入后,在WordPresss中的Url将和Movable Type里的完全一样,实现了平滑的迁移。

注意WordPresss的主机需要支持UrlRewrite才可以使用上述方法,否则Permalink将无效。

更新:WordPress导入MovableType插件的BUG:movabletype-importer.php文件的第120行的长度过小,会导致单行长文本无法导入,解决方法,将function fgets($fp, $len=8192) 修改为function fgets($fp, $len=81920) 。

从Movable Type迁移到WordPress的方法