登录 注册

登录

SEF是Search Engine Friendly的缩写,不过这个意思还是不明白——搜索引擎友好的?友好的什么?其实,它的原意是Search Engine Friendly URL,即“搜索引擎喜欢的网址”。对于一个刚刚开始学做网站的新手来说,他也许顾不上想什么是SEF,更顾不上考虑是否需要、如果需要又将如何在自己网站上实施SEF。但是,老鸟会用忧虑的眼光看着你说:做网站,从一开始就要规划好——SEF是必然要用的,最好网站已启动就使用。

Artio JoomSEF logo

那么SEF究竟有什么好处?从名字中我们可以看出,SEF意味着搜索引擎喜欢的网址。这里的网址已经不是你网站的域名那么简单,它代表你网站每一个页面、每一个链接、每一个书签的URL。如果这些网址能够让搜索引擎喜欢,那么它们将很快被搜索引擎收录,也就是说容易被全世界的访客找到。做网站的哪一个不希望别人找到自己网站?因此,SEF可以帮助你迅速推广网站。

 

如何判断我们网站的URL是不是SEF?我们看下面三个例子:

 

  1. http://www.tcmbook.net/index.php?option=com_content&task=view&id=254&Itemid=57
  2. http://www.joomlagate.com/content/view/45/29/
  3. http://www.uhiker.com/articles/traveling_story/2007/We-went-to-Tibet.html

这是三个不同网站的某个页面的网址。看过之后,你从哪个URL中获得的信息最多?随便看一眼,我们就知道第3个给予的信息最多:我们可以猜到这是在文章(articles)分类下面的一则旅游故事(traveling_story),讲述他们去西藏(We-went-to-Tibet)的经历,并且发生(发表)在2007年。其它两个URL就不敢恭维了,你能从中看出什么信息呢?什么也得不到。

人眼尚且不喜欢1、2那样的地址,更何况搜索引擎!简单的讲,搜索引擎绝对不喜欢URL中出现下列四个字符:问号(?)、and号(&)、百分号(%)及等号(=)。上述例1是完全失败的典范,这也是Joomla刚刚安装后默认的一种URL方式。例2虽然没有这些符号,但是却不包含有意义的关键词——如果能够把关键词放在URL中,能够帮助搜索引擎迅速找到该网页。只有例3最完美,既没有那些恼人的符号,同时也清楚嵌入了关键词。对于一个使用travel或者story或者tibet,或者以上3个词的任意组合,来搜索游记或者旅游指南的访客,就很容易被搜索引擎带到该页面。

Joomla在后台的“全局设置”(Global Settings)中,有一个SEO(Search Engine Optimization)标签,该页面上第一个选项就是“是否启用SEF”。这意味着Joomla已经内置了SEF支持,只要启用该项,然后把根目录下的htaccess.txt文件更名为.htaccess即可得到例2所展示的SEF效果。不过,前提是你的php空间商使用了apache服务器并且开启了mod_rewrite模块。(补充一点:即使上述条件具备,也有可能无法使用.htaccess功能,这就是我在中国赢网所遇到的变态规则——他们要求必须购买500MB以上web空间才允许使用.htaccess,因此我的杏林书香网到现在还没有用上SEF)

Joomla内置的SEF为何不能做到像例3那样呢?我也跟你一样,希望Joomla能够内嵌这个功能。但是官方的回答很强硬:高级的SEF不在Joomla开发计划中。所以,我们不能傻等下去了,要实现例3那样的URL,必须另寻出路。Joomla官方同时透露了一个消息:他们开发团队的Sakic同志所开发的商业组件SEF advance可以完全实现例3的效果,前提是你掏钱购买。这多少有点让我怀疑Joomla开发团队拒绝在将来内嵌高级SEF功能的动机。

在过去很长一段时间内,可以选择的高级SEF扩展只有SEF advance。不过,到了2006年,我们平头百姓终于盼到了免费的高级SEF扩展:Artio JoomSEF。目前,该组件的最新版本是1.4 beta,本站已经提供了中文版的下载。虽然此前还有人开发了OpenSEF这款免费组件,但是其功能比Artio JoomSEF要逊色一些。

Artio公司是一家捷克与芬兰合作的IT公司,擅长于数据库相关的工作,开发针对Joomla的SEF扩展只是他们一个副产品而已。从他们的域名http://www.artio.cz可以看出该公司是在捷克注册的。

Artio JoomSEF的功能就是把你的Joomla网站的所有URL以例3的样式展现出来。其基本语法就是:

http://www.domain.com/Section/Category/Content.html

其中的Section、Category、Content在真实网站将分别用你的单元、分类、文章标题来代替。如果这些名称中含有空格,则以下划线(_)代替,当然,你也可以自定义这个分隔符。另外,对于拉丁语中的特殊字符如阿尔法(α)、贝塔(β)等,Artio JoomSEF允许用户自定义“字符替换表”,比如用A代替α,用B代替β。事实上,Artio JoomSEF安装之后,你就会发现作者已经做好了这个替换表,只不过允许用户进一步自定义,你可以添加、编辑、删除其中任何一项。

这就提出一个新问题:单元、分类及文章标题都是中文的网站如何使用?可以说,前面提到的SEF Advanced 与OpenSEF都 (感谢Blank提醒,OpenSEF也有这个功能)无法回答这个问题,只有Artio JoomSEF有办法。在Joomla后台,也许你已经注意到了,单元和分类分别都有一个“标题”(Title)和“名称”(Name),文章标题也有“标题”(Title)和“副标题”(Title Alias)。这就给Artio JoomSEF提供了机会:它允许用户自定义使用其中某个作为提取URL的来源。也就是说,我们可以将单元名称设为中文,而将其标题设为英文;分类名称设为中文,而将其标题设为英文;文章标题使用中文而副标题使用英文。前台访客仅仅看到这些中文的部分,而Artio JoomSEF则使用英文部分来产生对应的SEF URL。

聪明!真是太聪明了!我当初第一眼看到Artio JoomSEF就断定它会成为SEF扩展的佼佼者。不出我所料,Artio JoomSEF发布后一个月就登上Joomla官方扩展库“评分最高扩展”排行榜的首位,现在依然非常受欢迎。

在最新的1.4版本中,Artio JoomSEF还提供了选项,允许忽略文章的ItemID,以免针对同一个对象产生多个SEF URL。另外,对于一些常用组件也提供了SEF插件。Artio JoomSEF在安装后就自带的SEF插件包括针对AlphaContent、DocMan、JoomlaBoard、Mosets Tree这四种流行组件。它还支持其他几个流行组件,比如VirtueMart ,不过其插件要付款购买——看来Artio JoomSEF也不甘无限制免费下去了。

对于中文用户来说,多少还是有些不便。因为在图库组件如RSGallery2、论坛组件如JSMF、下载组件如Remository、留言本组件Easybook等这些扩展中,并没有预留第二个“标题”或者“名称”栏目可以让我们用英文复述中文的含义。尽管Artio JoomSEF支持“字符映射”,但是常用汉字至少有2000个,26个字母大小写都用上也只不过52个,哪里顾得过来!所以,Artio JoomSEF默认对其他语种的字符使用特殊字符代替,比如汉字可能用&?$#这样的符号代替,那样的话,跟例1中的URL就没有什么区别了。

本站会员brince在论坛提醒各位:Artio JoomSEF 会在中文网站上产生一个多余的斜线(/)到新的URL中(详情见brince的帖子:修改配置参数让joomsef支持中文网站)。

所以,我提醒中文用户:使用Artio JoomSEF时,注意检查中文标题网页的URL是否正常。实际上,Artio JoomSEF对于英文网站是最合适的。中文网站只能安全享受其对于单元、分类及Joomla文章系统的完美支持,其他第三方扩展的SEF就很难单靠Artio JoomSEF实现了。

{quickdown:119}

  1. 评论 (0)

  2. Add Yours

评论 (0)

这里还没有人发表评论

免费下载最新Joomla!核心中文版

扫描此二维码,立即开始下载 Joomla 3 核心中文版

付费下载汉化版扩展

付费后即可下载独家海量

Joomla! CMS 扩展汉化版

了解付费会员制度

点击这里给我发消息

了解 joomlagate.com 网站的付费会员制度