WordPress的文章连接可以选择以postname也就是文章名(标题)作为链接。如果是英文博客,就不存在任何问题,而且据说还期待很好的优化效果。但是如果是中文的标题,就是转换成一款%和数数字,然人看的某明奇妙。
WordPress的高手根据seo优化的需要开发了自动将 WordPress 文章标题翻译 为 英文 或 转换为拼音 的 WordPress插件。下面注意介绍一下:
月光版 PinYin Slug 插件 ↑
这是月光博客开发的WordPress中文标题转换拼音插件。这个插件启用后,发布文章的“文章缩略名(Post Slug)”会自动变成文章标题的汉语拼音,例如,如果你发布一篇文章,标题是“中文拼音”,通常情况下WordPress会自动产生一个缩略名%e4%b8%ad%e6%96%87%e6%8b%bc%e9%9f%b3,如果你启用了“中文标题转换拼音插件”,则文章缩略名会变成zhongwenpinyin。这个缩写是在保存文章的时候产生的,因此你在发布文章前还可以对其进行修改,或者直接发布。这个插件对于以前已经存在的文章标题缩写是无效的,只对新文章有效,你可以通过删除旧文章后发布一篇新文章来自动产生这个拼音缩写。
这个插件可以在WordPress的官方插件网下载:
http://wordpress.org/extend/plugins/pinyin-slug/
插件安装:
这个插件的安装很简单,先下载插件文件,然后解压缩到wp-content/plugins目录下,然后在WordPress插件管理菜单启用PinYin Slug插件即可,不需要修改任何文件。
Smart PinYin Slug ↑
Smart PinYin Slug是月光文章缩略名(Post Slug)的升级版,据作者介绍,这是在月光博客的WordPress中文标题转换拼音插件的启发下完成。
对月光插件做了一下改进:
由于原版插件使用的编码转换库很老,完全通过PHP代码并读取自己的数据文件来转换编码,而现今的PHP已经包含了MBString库可以帮助进行UTF-8到GB2312的转换,而且因为是C函数,效率高很多。
拼音的数据文件完全可以变成PHP的数组代码直接集成在代码中,无需另外使用一个数据文件,并读取一些细节的编码方式已经不适合如今的PHP5时代。所以我根据其中的GB2312编码到拼音编码的逻辑,单独写了这个最简化的插件。
插件安装:
如果你使用的是虚拟主机,必须确定服务器加载了mbstring这个PHP扩展
这个插件的安装很简单,先下载插件文件,然后解压缩到wp-content/plugins目录下,然后在WordPress插件管理菜单启用Smart PinYin Slug插件即可。
下载地址:http://kankan.at/smartpinyin(在微软网盘,后缀名为zip)
Pinyin SEO ↑
拼音SEO插件可在文章发布时将中文标题将或者分类目录以及标签的永久链接转换成拼音格式。
- 可以设定单独对文章的永久链接使用拼音,而不对分类目录和标签使用拼音,之前使用中文标签的需要设置一下,选择标签和分类不使用拼音,否则默认设置下会原来的中文url会出现404错误。
- 繁简通用,港澳台同胞也可以使用,更有利于百度SEO,拼音域名都已经四拼时代拉,如参考消息。
- 当前单字拼音数据库共收录20966个汉字,繁简通用,已包括中日韩统一表意文字U+4E00..U+9FA5范围所有汉字,韩国和日本造的汉字,均按形声字方法注音。
- 拼音SEO 2.0以上版已包括多音字功能,当前多音字词库共收录751个双字词,不包含重复的繁体词,用户可以自行填加多音字双字词。
下载地址:http://wordpress.org/extend/plugins/pinyin-seo/
包含功能:
- 设定拼音分隔符。
- 设定拼音大小写格式。
- 简单多音字功能,自定义添加多音字功能。
- 某些用户觉得中文的tag标签SEO效果更好,为此新增加了功能,以前使用中文标签,必须设定不对分类目录和标签使用拼音。
- 以下两项功能涉及数据库操作,建议先备份数据库后在本地操作。
- 重置所有文章永久链接(post_name),把wp_posts表中post_name字段写成拼音格式。
- 重置所有分类目录和标签的永久链接(slug),把wp_terms表中slug字段写成拼音格式。
SEO建议:
- 分类目录不使用拼音分隔符,每次添加新的分类目录时手工修改,即pinyinfengefu这样的形式,以便和标签有所区别。
- 标签前缀加tag,以便和文章页面有所区别。标签和文章及页面均使用pin-yin-ge-shi这样的形式。
- 一旦设定了拼音格式,请不要轻易改动。
cos_slug_translator ↑
cos_slug_translator通过有道的翻译接口来翻译文章标题。安装这个插件之前,请先到有道去申请一个属于你自己的API,申请地址:http://fanyi.youdao.com/fanyiapi?path=data-mode 申请之后,请下载本插件,cos_slug_translator 用记事本打开,修改如下:
1717758599修改成你自己的KEY,storyday也修改成你自己的网站名字。
下载(到原作者博客):
http://www.storyday.com/html/y2011/3098_test-youdao-automatic-title-translation.html
wp slug translate ↑
wp slug translate 是 cos_slug_translator 的改进版。作者介绍说,这是一款实现文章固定链接英文化的插件。它是一个基于微软Bing翻译的文章标题缩略名(别名)自动翻译插件,支持批量翻译文章别名。
首先说说我为什么要写这个插件,我之前用过wp-slug和cos_slug_translator这两款别人的插件,前者由于谷歌API收费了加上谷歌时不时撞墙,后者的作者改成了有道API,而有道的翻译太烂了。所以只能自己动手满足需求了,最近学习了一下Bing翻译的API,翻译效果很不错,所以做成了这个文章标题缩略名自动翻译插件,支持从38种语言翻译成英文,如果手动指定缩略名则以手动的为准,如果由于网络等原因导致翻译失败,则以文章ID作为缩略名。
使用很简单,安装后可以直接使用,有个名为“WP Slug Translate”的设置选项,对于中文博客来说默认设置就行了,照顾自己人嘛。
下载:http://wordpress.org/extend/plugins/wp-slug-translate/
Pinyin Permalink
这个插件会把中文标题翻译成拼音,成为可读性强的链接。Pinyin Permalink插件目前可以设置分词符号为“- 减号”、“_ 下划线”以及不分词,支持翻译成完整的拼音或者只翻译成首字母。
无需插件版的实现 ↑
添加到当前主题的 functions.php 文件即可:
function translate_chinese_post_title_to_en_for_slug( $title ) { /* transtype: trans realtime */ $translation_render = 'http://fanyi.baidu.com/v2transapi?from=zh&to=en&transtype=realtime&simple_means_flag=3&query='.$title; $wp_http_get = wp_safe_remote_get( $translation_render ); if ( empty( $wp_http_get->errors ) ) { if ( ! empty( $wp_http_get['body'] ) ) { $trans_result = json_decode( $wp_http_get['body'], true ); $trans_title = $trans_result['trans_result']['data'][0]['dst']; return $trans_title; } } return $title; } add_filter( 'sanitize_title', 'translate_chinese_post_title_to_en_for_slug', 1 );
这段代码使用了百度翻译的API,缺点是每次请求一个页面的时候,都要对文章的标题进行翻译。我觉得可以做的更好一点,在发布文章的时候,也就是post_save这个hook的时候,把翻译结果作为文章的postname,这样保存起来以后,以后访问页面就是使用postname作为url了。
推荐一个更牛逼的:https://wordpress.org/plugins/wenprise-pinyin-slug/