2009年4月20日星期一

常用博客SEO优化技巧

  博客的SEO优化其实并不是特别重要,因为博客的关键在于内容,内容为王,有了优秀而独特的内容,就很容易取得较好的排名。当然,使用一些常用的SEO优化技巧也可以更好的改善排名。这里我以Z-Blog为例介绍一下常用的博客SEO优化技巧。

  1、博客要经常更新,保证每周至少更新两次,新鲜的内容有利于搜素引擎的排名。

  2、使用静态化HTML文件,每一篇日志都创建一个HTML文件,对于Z-Blog来说,还可以启用“月光静态插件”(Z-Blog 1.7、1.8已经内置)将目录存档也做成静态HTML文件,静态文件不仅仅能应付更大的访问量,也对SEO有一定帮助。

  3、启用Z-Blog的Google Sitemaps插件,每次重建的时候自动重建Google Sitemaps文件,同时将这个XML文件放到robots.txt文件中。

  4、不进行友情链接交换,在首页上可以主动链接一些知名博客。

  5、启用Z-Blog文章排行插件,并将年度、月度排行放在首页,对于文章页面,使用JavaScript的方式调用排行。

  6、修改模板,使用rel标签,能够使得博客更好地被Blog搜索引擎索引。

  7、修改模板,将文章页面的Title修改为类似“文章标题-博客名称”这样的格式,不要使用默认的格式。

  8、加强内链建设和外链建设,在新文章中适当的回链老文章的地址,文章底部根据TAG建立相关文章链接。寻找和增加一些好的外链。

  9、使用对读者友好的全文RSS输出,RSS Feed中使用beter feed插件,增加到原文的回链,当然,这并不能真正防止聚合系统的非法聚合,只有摘要输出才能解决聚合系统的问题。

  10、使用图片TAG功能,在文章的右侧显示TAG的图片,图片链接到该TAG的分类页。

  11、对网站图片进行SEO优化,每张图片都必需添加alt信息,图片面后应该包含一些图片描述性的文字,图片应该带有链接,正文为缩略图,点击链接后显示大图。注意,由于Google.cn图片搜索的改版,这种优化已经无法从Google.cn和百度那里得到流量了。

  12、垃圾留言是文章排名的大忌,大量的垃圾留言会造成文章的搜索引擎排名下降,严重的甚至会被Google删除索引,使用Z-Blog Akismet反垃圾留言插件,可以借助Akismet强大的反垃圾引擎,杜绝其他人发布的垃圾评论。

  13、域名规范化,如果使用www域名,则将没有www的域名使用301重定向过来。

  以上就是我总结的一些针对Z-Blog博客的一些优化技巧,其中我在自己的月光博客使用了很长时间,感觉效果都很不错,推荐大家使用。最后重申一下,博客的关键在于内容建设,不要将主要精力放在SEO优化上,SEO要适当,不要过度,否则往往会被搜索引擎惩罚。

2009年4月18日星期六

Google工具栏和拼音输入法冲突

  Google工具栏是一个常用的浏览器插件,可以为浏览器增加许多特殊的功能,例如快速的Google搜索、翻译、PageRank显示、拦截弹窗等功能,我先前使用时感觉很不错,然而,当我将Google工具栏升级到6.0以上版本后,就麻烦不断,开始是拼音输入的时候不停的闪烁,不知道是什么原因,好不容易升级到工具栏6.1后,闪烁问题没有了,但另一个问题却又出现了。

  在默认情况下,Google工具栏会自动开通“搜索建议”功能,而使用拼音输入法在Google工具栏输入中文的时候,Google工具栏的“搜索建议”会将拼音输入框完全挡出,根本看不到输入的汉字。如下图所示。

Google工具栏和拼音输入法冲突

  好在Google工具栏可以取消“搜索建议”的功能,我打开“工具栏选项”,在“搜索”中不选“输入时提示搜索”,就可以取消工具栏的搜索建议,如下图所示。

Google工具栏和拼音输入法冲突

  然而令人意想不到的是,即使取消了“搜索建议”,依旧无法解决这个问题,我用拼音输入的时候,会出现“搜索历史记录”窗口,再次将拼音输入法的输入框挡住,如下图所示。

Google工具栏和拼音输入法冲突

  最终,我在“工具栏选项”中将“历史记录存储”功能也取消了,才一切正常,拼音输入法输入框可以正常显示了。

  我的使用环境是,IE 8.0中文版以及Google工具栏6.1.1518.856中文版,Google拼音输入法1.2.3278,操作系统是Windows Server 2003中文版。

  当我卸载后重新安装一个Google工具栏5.0版本后,也没有出现上述异常情况,其显示效果如下图所示,因此可见这个问题是Google工具栏6.X独有的问题。对于Google工具栏的前端设计师来说,这是个不应该出现的低级错误。

Google工具栏和拼音输入法冲突

  更新:2009年6月12日发布的6.1.1715.1442版Google工具栏解决了上述问题。

2009年4月16日星期四

Google OpenSocial中文开发API资源

  OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以自由使用包括 JavaScript、HTML 在内的更多语言创建应用程序,用以访问社交网络的朋友并更新供稿。OpenSocial 是在小工具技术的基础上构建的,因此开发者可以花费较少的服务成本(甚至无需成本)来创建一个出色的、虚拟的社交应用程序。目前,OpenSocial 由 Google 与网络社区的成员联合开发,许多网站都在应用 OpenSocial,其中包括 Engage.com、Friendster、hi5、Hyves、imeem、LinkedIn、MySpace(聚友)、Ning、Oracle、orkut、Plaxo、Salesforce.com、Six Apart、天极网、天涯社区、Viadeo 和 XING。

  以下是OpenSocial的相关中文资源列表,资料来源于Google中国的开发者网站

  1、OpenSocial中国应用

  平台介绍(PPT)

  opensocial简介(PPT)

  opensocial api简介(PPT)

  InfoQ OpenSocial专题

  2、OpenSocial官方网站 http://www.opensocial.org

  3、JavaScript API最新开发文档(v0.8.1)

  开发人员指南:http://code.google.com/intl/zh-CN/apis/opensocial/docs/0.8/devguide.html

  Release Notes: http://code.google.com/intl/zh-CN/apis/opensocial/docs/releasenotes.html

  API 规范: http://code.google.com/intl/zh-CN/apis/opensocial/docs/0.8/spec.html

  API 参考(opensocial.*): http://code.google.com/intl/zh-CN/apis/opensocial/docs/0.8/reference/

  API 参考(gadgets.*): http://code.google.com/intl/zh-CN/apis/opensocial/docs/0.8/reference/gadgets/

  Gadget XML定义: http://code.google.com/intl/zh-CN/apis/gadgets/docs/reference.html

  4、RESTful的SDK

  PHP: http://code.google.com/p/opensocial-php-client/

  Java: http://code.google.com/p/opensocial-java-client/

  Ruby: http://code.google.com/p/opensocial-ruby-client/

  Python: http://code.google.com/p/opensocial-python-client/

  RSA_SHA1 lib for GAE: http://opensocial-china.googlegroups.com/web/RSA_SHA1.zip

  5、讲座PPT,视频

  2008-6-13 Hackathon

  OpenSocial概览 (简介): http://docs.google.com/Presentation?id=dgqxv878_199ccfbd9cc

  RESTful API (OAuth & Signed Fetch): http://docs.google.com/Presentation?id=dgqxv878_294f5k73bg7

  OpenSocial小工具 - JavaScript API: http://docs.google.com/Presentation?id=dgqxv878_275d8xfk3gz

  Life of a Gadget: http://docs.google.com/Presentation?id=dgqxv878_113hhsfg9zp

  OpenSocial Flash API: http://opensocial-resources-zh.googlecode.com/svn/trunk/opensocial-flashapi/index.html

  OpenSocial小工具实验室: http://opensocial-resources-zh.googlecode.com/svn/trunk/gadget-dev-tutorial/Tutorial.html

  Shindig概览: http://docs.google.com/Presentation?id=dgqxv878_319dd28w4hr

  受限系统的容器托管服务(草案): http://docs.google.com/Presentation?id=dgqxv878_367d2p98md2

  OpenSocial模板系统: http://docs.google.com/Presentation?id=dgqxv878_342gn5ww4fj

  Closing discussion: http://docs.google.com/Presentation?id=dgqxv878_34cm27dzgc

  资源链接页面: http://docs.google.com/Doc?id=dgqxv878_366g253xmdk

  2008-12-16 Hackathon获奖应用链接

  北京站:

  第1名--好友连连看: http://home.myspace.cn/Modules/Apps/Pages/AppDesc.aspx?id=101512

  第2名--一起来抢亲: http://home.myspace.cn/Modules/Apps/Pages/AppDesc.aspx?id=101407

  第3名--程序达人: http://apps.xiaonei.com/openjudge

  上海站:

  第1名--Flickr Show: http://apps.myspace.cn/app/101881

  第2名--Let's Go: http://apps.xiaonei.com/letsgohike

  6、开源项目地址  http://code.google.com/p/easy-opensocial-apps/

  示例教程:http://opensocial-resources-zh.googlecode.com/svn/trunk/gadget-dev-tutorial/Tutorial.html

  新春礼物、朋友打靶、谁更富

  演示链接:http://apps.xiaonei.com/shawngift

  http://apps.xiaonei.com/xnfight

  http://apps.xiaonei.com/whoisrich

  源代码下载:http://code.google.com/p/opensocial-sample-apps/downloads/list

  朋友买卖开源应用实例:

  各个SNS平台上都有的小游戏,可以买卖你的朋友,折腾/安抚你的朋友,这是一个使用了Opensocial API的版本,在客户端Opensocial API之上使用了一个自己开发的小框架,服务器端有java,php和python(appengine)的版本,可以按自己情况下载.

  源代码(java): http://easy-opensocial-apps.googlecode.com/files/friendforsale-java-1.0.zip

  php服务器端: http://easy-opensocial-apps.googlecode.com/files/friendforsale-php-server-0.1.zip

  python(appengine)服务器端: http://easy-opensocial-apps.googlecode.com/files/friendforsale-appengine-server-0.1.zip

  相关文档:

  http://code.google.com/p/easy-opensocial-apps/wiki/friendforsale_sample_manual

  http://easy-opensocial-apps.googlecode.com/files/opensource-friendsale.ppt

  演示链接:

  http://apps.xiaonei.com/os_friendsale

  http://apps.51.com/friendos/

  http://www.yiqi.com/opensocial/applications/preview/212282

  http://sandbox.orkut.com/Main#AppInfo.aspx?appId=247050139713

  http://apps.myspace.cn/app/101854

  爱恨知多少(loveorhate):

  用opensocial restful library php版实现的一个小应用。在这个应用中用到的opensocial功能有:取得个人的信息,取得个人朋友的信息。 小应用的介绍:对朋友的喜爱和憎恶,都表现在这个游戏中,其实这都是现实的,所以要努力让更多的朋友看到自己好的地方喜欢自己。这样才有一个努力进步的自我。

  源代码: http://easy-opensocial-apps.googlecode.com/files/loveorhate-test.zip

  相关文档: http://code.google.com/p/easy-opensocial-apps/wiki/loveorhate_readme

  测试(gtest):

  用Opensocial API编写的做测试的小应用,你可以用你自己有个性的题目,快速地生成一个用来做测试的小应用,你也可以以这个项目为基础来进行修改,增加你自己特有的功能.

  源代码: http://easy-opensocial-apps.googlecode.com/files/gtest-appengine-1.0.zip

  相关文档:

  http://code.google.com/p/easy-opensocial-apps/wiki/gtest_readme

  https://docs.google.com/Doc?id=ddfpfh7f_10g58bc5cq&hl=zh_CN

  easy-opensocial-apps-framework-1.0:

  http://easy-opensocial-apps.googlecode.com/files/easy-opensocial-apps-framework-1.0.zi

  Flash应用开发教程: http://gameandvision.com/opensocial_sns_tutorial

  7、其它相关资源

  Shindig: http://incubator.apache.org/shindig/

  Shindig Wiki: http://cwiki.apache.org/confluence/display/SHINDIG/Index

  Shindig架构: 英文PDF http://groups.google.com/group/opensocial-china/web/ShindigArchitecture_Dec19_2008.pdf

  项目托管: http://code.google.com/p/support/wiki/GettingStarted

  App Engine: http://code.google.com/intl/zh-CN/appengine/

  Google Analytics: http://code.google.com/intl/zh-CN/apis/analytics/

  8、平台的opensocial技术论坛

  51.com: http://developers.51.com/wiki/index.php?title=OpenSocial

  yiqi.com: http://www.yiqi.com/developer/doc.php

  myspace.com: http://developer.myspace.cn/community/

  tianya.cn: http://cache.tianya.cn/index.htm?vitem=http%3A%2F%2Fsandbox.tianya.cn%2Fsandbox%2Fsandbox.jsp

  xiaonei.com: http://dev.xiaonei.com/wiki/Gadget

Google Profiles可使用自定义地址

  据TechCrunch报道,Google开始向社会化网络迈出重要的一步,现在Google个人档案服务(Google Profiles)允许用户使用自己的用户名地址,而不是先前的一长串数字。

  Google多款互联网产品都具有社交网络的特征,例如YouTube、Picasa和Google地图等。然而,Google缺乏一个类似Facebook个人页面的工具,这种工具可以帮助用户将各个互联网服务聚合起来,方便的查看相关信息。

  实际上,Google个人档案服务提供了这种功能,但是该服务并未引起业内关注。这主要是由于该服务很难使用,并且在Google网站中处于不显眼的位置。

  Google近日对该服务进行了改进。以往,该服务链接地址均为“http://www.google.com/s2/profiles/3223lkn23lkn”的形式,链接最后的字符串没有实际含义,这给分享带来不便。Google近日提供了一个新的选项,允许Gmail和Picasa的用户用现有帐号名替代这一字符串。

Google Profiles可使用自定义地址

  这一改进使Google个人档案服务变得更加友好,并使来自该服务的信息更多的出现在Google搜索结果中。该服务对于Google来说非常重要。去年11月,Google向该服务中加入了搜索功能,但并未引起太多关注。

  Google十分希望用户能通过Google个人档案去查找某人的社会信息。该服务不仅支持Google的产品,也支持Flickr等其他互联网公司的产品。

  有消息称,Facebook近日也在考虑在网站中引入实名地址。不过到目前为止,只有Facebook专页的用户才能使用这种地址。(翻译:搜狐IT

  经过我的实际测试,使用Gmail帐号登录后,只能使用Gmail的用户名做为地址,而使用非Gmail的Google帐号登录,则可以选择还没有占用的地址。当然我还有一个疑问,如果这个地址真的被非Gmail用户占用了,那么以后注册的同名Gmail用户将使用哪个地址呢?这恐怕会带来很多麻烦。

  如果你想修改你的Google个人档案地址,请点这里

2009年4月15日星期三

通过HelloTXT同步Twitter到饭否

  Twitter和饭否都是用户很多的微博客,很多人都同时有这两个系统的帐号,如果两个分开更新,要花很多时间,也很麻烦,因此需要从一个系统自动同步到另外一个系统,先前我曾经介绍了通过嘀咕来同步Twitter到其他国内微博客系统,但后来饭否屏蔽了嘀咕的IP后,这个方法就失效了,之后我也介绍过使用feedlr也可以同步Twitter的RSS Feed到饭否,但feedlr目前无法使用,这个方法暂时也不行了。

  今天我介绍一个新的方法,同样能实现同步Twitter到饭否和其他第三方服务,就是通过 TwitterFeed + HelloTXT 的方法来实现。

  TwitterFeed可以实现提供把RSS Feed内容自动更新到Twitter、Ping.FM和HelloTXT的免费网站。通过OpenID登录TwiiterFeed后,设置一个Feed,发布到自己的HelloTXT帐号。

  HelloTXT是一个微博客的分发平台,用户通过将自己的不同的微博客账号绑定在HelloTXT账号上,便可以在这个平台同步发布信息到各类微博客上。目前HelloTXT支持Twitter、FriendFeed、identi.ca、plurk、Jaiku和饭否等微博客系统,登录HelloTXT后将饭否绑定,之后,随着TwiiterFeed发布信息过来,HelloTXT就会把信息同步到饭否,也就实现了从Twitter同步到饭否的功能。

  feedlr原本也是个不错的同步Twitter到饭否、叽歪、做啥的工具,不过最近feedlr出现了在饭否重复播发消息的问题(也有可能是饭否的问题,因为我测试在做啥没有出现重发的情况),feedlr作者决定暂时停止目前版本的feedlr服务,花一些时间把feedlr移植到Google App Engine上,以解决可扩展性的问题。如果将来feedlr正常了,大家也可以继续使用feedlr进行同步,方法是,登录feedlr,录入自己在Twitter的rss地址,然后加入饭否的bot即可。

2009年4月14日星期二

微软将自动更新IE8浏览器

  据微软的IE博客报道,微软将从4月的第三个星期左右开始向IE6或IE7用户提供是否自动更新至IE8的通知,开始可能只是一小部分用户收到该通知,不过最终所有用户都会收到该通知。

  在Windows XP和Windows Server 2003系统中,自动更新至IE8被定为“高优先级”;在Windows Vista和Windows Server 2008系统中,该更新被定为“重要”。

  微软表示,IE8不会自动安装到用户的电脑上,用户看到的欢迎界面提供三个选择:稍后询问、立即安装和暂不安装。选择暂不安装的用户,还可以从微软官方网站或者Windows Update下载该更新。

  用户可以使用微软提供的拦截工具包Blocker Toolkit来屏蔽IE8的自动更新。该拦截工具包是今年1月份发布的,并且没有到期日期。不希望安装IE8的用户需要在4月20日当周以前安装好拦截工具包。

  微软今年7月将向使用微软局域网更新服务(Windows Server Update Services,WSUS)和系统管理服务器(Systems Management Server,SMS)的用户发布IE8,这些用户可以用配置其他更新的方式配置IE8。

  此前,IE8份额增长速度十分缓慢。在全球浏览器市场,IE浏览器的份额已经从二月份的67.44%下滑到三月份的66.82%;Firefox的份额则从21.77%增长到22.05%。但自微软3月19日发布IE8最终版,IE8份额的增长速度便明显提升。例如,据Net Applications统计,3月23日,IE8份额为2.1%。一周后的3月30日,IE8份额已经攀升到3%。

  翻译:新浪科技

2009年4月13日星期一

Twitter和开放API

  开放API(OpenAPI)是SaaS(Software as a Service,软件即服务)模式下常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。

  网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的,开放API是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会更多。今天,OpenAPI作为互联网在线服务的发展基础,已经成为越来越多互联网企业发展服务的必然选择。

  Twitter的开放之路

  OpenAPI的典型成功范例是Google Maps API和Twitter,Google Maps有Google这样的大公司支持,成功当然并不奇怪,但是Twitter的成功就很能说明问题。事实上,如果Twitter仅仅是一个网页形式的微博客的话,Jaiku就可以轻松的将其打败,Twitter根本不可能取得今天的成就。

  Twitter的活力就在于开放API,Twitter的成功和开放API密不可分。Twitter的开放API可以激发个人创作的积极性,引来了大量的第三方应用,这些第三方应用同时又扩大了Twitter原有的功能,让Twitter更好用,从而极大丰富了Twitter平台自身的功用和乐趣,现在,Twitter超过一半的流量都是来自第三方API。

  随着Twitter的OpenAPI发布数量不断增加,运营过程中也开始暴露出一些问题。OpenAPI的巨大的访问量引起了Twitter种种性能问题,使得Twitter的稳定性大为降低,为了支持大量的外部API,Twitter宕机频繁,这估计是几乎所有Twitter用户都遇到过的现象。但即使如此,Twitter也没有放弃对OpenAPI的支持。因为开放API是历史的潮流,是必然的趋势,顺之者昌,逆之者亡,Twitter之所以击败众多各式各样的微博客网站,开放API功不可没。

  不怕屏蔽的Twitter

  开放的平台本身就是不害怕屏蔽的,我在《中国类Twitter微博客网站分析》一文中指出,没有中文界面是Twitter在中国没有走向大众的关键因素,如果Twitter支持中文,那在亚洲区域的用户肯定会飞速增长,很多读者就反馈说,这样Twitter被屏蔽的机率就大增了。

  很多人害怕Twitter被屏蔽,实际上,Twitter是最不怕屏蔽的了,因为Twitter最开放,支持大量的第三方应用,访问不了Twitter,我们一样可以通过各式各样的方法将信息发布过去。例如通过Friendfeed同步、通过ping.fm和HelloTXT发布、通过叽歪或嘀咕同步,总之,条条大路通罗马,用户可以采取非常多的方法或途径来继续使用Twitter的服务。

  开放API——成也萧何,败也萧何

  国内的一些Twitter模仿者最初也尝试开放API,但一切好东西到了中国,没有不走样的,腾讯为了发展腾讯滔滔,就曾经屏蔽过饭否的QQ机器人,饭否虽然吃过这种苦头,然后一旦发展成为国内微博客的领先者,就干起了同样的事情,远的是屏蔽叽歪的IP,使得叽歪用户无法同步信息到饭否,近的是前些天饭否屏蔽嘀咕的IP,使得嘀咕用户无法将信息同步到饭否。

  饭否的想法大概是,自己好不容易发展了这么多用户,忽然旁边跳出来一个新的竞争对手,通过OpenAPI实现了比自己更多的功能,因此为了阻止用户的流失,必须屏蔽掉竞争对手的API调用,否则,用户都跟别人跑了,自己不成了“赔了夫人,又折兵”了。

  KESO曾经说过,网站不能靠限制用户离开来留住用户,越开放越让用户放心。服务商把心思花在套牢用户,而不是改善服务上,是一种很不上流的做法。老子说,大智若愚,大巧若拙。看起来很傻、很笨的做法,可能恰恰是最聪明的。同样是为了留住用户,两种做法的境界截然不同,效果当然也肯定不一样。你越自信,用户对你也就越有信心。

  道理虽然简单,但是封闭意识仍然是国内网站的主流思想,生怕自己的用户跑到竞争对手那里。其实,每个用户都是有自己的头脑和思想的,你对用户好,用户自然会对你好,服务是死的,用户是活的,通过限制的方法来阻止用户的离去,最终会伤了忠实用户的心。