很多人的博客固定链接都用使用文章标题,如果是英文标题,Wordpress会帮你转换成的好好的。但是如果还是中文标题,你的文章链接里就会出现中文,中文标题也没什么大问题,大部分浏览器都会自动将链接中的中文解码,因此我们会看到正常的中文。但是如果你把链接复制到粘贴板,就会出现很多百分号。为了解决这个问题,很多人把中文标题改为英文后做为固定链接,不知道这么做SEO的作用有多大,我个人的观点是这么做链接看地顺眼。

很多人嫌手动改固定链接(英文称之为slugs)很麻烦,以此就有了插件,cos_slug_transl ator就是一个可以自动翻译成英文然后生成slug的插件。我觉得这个插件有几个缺点,

  1. slugs是在文章发布后修改的,也就是说这个插件把原有的slugs改成英文。这么做有可能搜索引擎已经收录旧的固定链接(或者旧的链接已经被其他插件发布到微博上),导致出现死链接。
  2. 没有过滤搜索引擎忽略字(stop words),例如(you、for、is)

因此我一直用自己改进过的版本。cos_slug_translator插件是用Google 翻译API来把中文标题翻译成英文,但是Google已经开始限制翻译API的使用,现在大部分时候使用翻译API,都会被拒绝:“Unable to perform Translation:Suspected Terms of Service Abuse.”, 所以基本上这个插件已经无法达到预期的目的。因此我就着手写一个插件,除了解决上述两个问题,在Google翻译失败的时候,采用拼音代替。例如:“浙江富豪移民潮带动海外房产热” 变成 “zhe-jiang-fu-hao-yi-min-chao-dai-dong-hai-wai-fang-chan-re”。 其实拼音不一定要用连字符号,搜索引擎会自动识别, 我这么写是为了便于人眼识别。

有需要的朋友可以到这里下载。当然,如果您有任何问题和建议,也请在这里留言!

{ 1 comment }

中文博客中使用WordPress SEO插件

by adam on 十月 10, 2011

首先谈一下我对SEO的认识。我觉得SEO主要在以下几个方面做文章:

  1. 文章标题
  2. 页面描述 – Description Meta
  3. 页面关键字 – Keywords Meta
  4. Breadcrumb
  5. 选择性的nofollow, noindex
  6. XML sitemap

而网络上这些SEO的插件的目的是帮助你更加方便地设置这些参数。Google的算法天天变,我也不知道SEO到底有多大用处。那么到底值不值得花工夫在SEO上面呢?我的看法的有总比没有好,所以我的好几个Wordpress网站都安装WordPress SEO插件。

总体讲Wordpress SEO是一个优秀的SEO插件,我在使用中碰到一个问题,就是对中文的支持。SEO中我认为比较重要的一点,给每一篇文章是定义Description Meta, 如何你有时间给自己写当然好,但是如果没有自定义,这个值是从文章内容截取的155个字符,Wordpress SEO 用的是substr函数,这个对E文没问题,但是对中文问题就来了,所以如果不做修改,在你没定义Excerpt的时候,该插件无法正确提供Meta Description,我记得Wordpress All In One SEO Plugin也有这个问题,不知道新的版本有没有改进。下面是针对Wordpress Seo的解决办法。

打开插件目录下inc文件夹里的wpseo-functions.php, 找到这行

'%%excerpt%%'            => ( !empty($r->post_excerpt) ) ? strip_tags( $r->post_excerpt ) : substr( strip_shortcodes( strip_tags( $r->post_content ) ), 0, 155 ),

然后用下面这行代替

'%%excerpt%%'           => ( !empty($r->post_excerpt) ) ? strip_tags( $r->post_excerpt ) : get_hz_description($r->post_content),

当然你要定义如下这个get_hz_hz_description()函数,你可以把这个函数放置在wpseo-functions.php的顶部,

function get_hz_description($text){
      $length = 120;
      $text = strip_tags($text);
      $text = trim($text);
      $text = str_replace("\r\n", " ", $text);
      $text = mb_substr ($text,0,$length, 'utf-8');
      return $text;
}

注意:我这里假定你的PHP支持mb_substr函数, 不然的话你要自己写一个mb_substr函数。

{ 0 comments }

如何在UCHOME注册页加入reCaptcha

九月 9, 2011

前两天我在日志里写了一篇有关如何在UChome里批量删除删除垃圾注册的文章,我提到删除垃圾注册不是也制止垃圾用户的最终办法。今天我就要和大家分享一招可以理论制止垃圾注册的方法 – 使用reCaptcha! UCHOME的图片验证码防灌水功能很弱,根本挡不住那些注册机。这个我相信很多使用UChome的站长都深[......]

Read the full article →

如何加入页面顶部固定层

九月 8, 2011

网站开发日志搬家了,由于某种原因,原来写的文章仍然放在旧的域名上,为了让这些朋友访问旧文章的朋友知道我的日志已经搬家,我在这些文章顶部加入了一个固定层,邀请大家访问新网站开发日志。 页面顶部固定层和<frame>的效果相似,都可以让顶部那一块在页面滚动的时候依然保持在固定的位子上。显然用固定层的方法要比用&[......]

Read the full article →

UCHOME 垃圾用户批量删除器

九月 7, 2011

用UCHome有一段时间了,总体来讲是一个很错的社会化网络软件,很方便用户之间进行交流。但是它们的注册模块做的真不怎样,估计有漏洞,使用验证码或者安全问题根本不管用,垃圾注册经常会有。最常见的要是那个4个字母加4个数字的垃圾注册用户!一天给注册几十个,一个一个删除不累死?不知为何,UCHome的高级管理里竟然没有批量删[......]

Read the full article →

301重定向

九月 5, 2011

因为『网站开发日志』从61dh.com/blog/转移到blog.jswenda.com, 所以必须给它做个重定向这样就可以让那些依然访问旧网址的朋友可以到达新网址,此外做个301定向,也就是永久地址变更,这对SEO有帮助。 关于301重定向是一个老生常谈的事了,到Google上一搜一大吧,本来不应该在这里重复这些东西[......]

Read the full article →

新的网站开发日志!

九月 4, 2011

时隔一年七个多月,我打算继续『网站开发日志』,旧版的日志可以从这里进入。新版日志从原来的61dh.com搬到jswenda.com,如果你想了解更多有关『网站开发日志』的“历史”介绍,请点击这里。 『网站开发日志』将继续给大家提供有关网站开发技术的原创或者翻译文章,另外也有请大家加入jswenda网交流和学习![......]

Read the full article →