PHPCMS 、织梦及帝国对比(八)之SEO辅助功能及个性化调用分析

来源:pmume.com 时间:2011-08-26 12:48:07 

此前落叶针对PHPCMS、织梦、帝国CMS从多个角度发过一系列文章作过一些功能和细节分析,这段时间常接触到推广部门SEO的各种细节需求较多,所以本文中针对一些SEO站内优化中一些常见的基本需求对这三款CMS作些对比分析。

1. SEO元标签设置及调用

PHPCMS:

PHPCMS中同一个模块中的所有页面基本都使用的是同一个公共的头部,SEO元标签都是使用的统一的head数组中的值。

标题:$head[‘title’]  关键词:$head[‘keywords’] 描述:$head[‘description’]

那么首页、栏目页、列表页及内容页,不同性质的页面,这些Meta属性都使用的同一个标签,怎么实现不同页面的个性化属性的呢?

实际虽然所有模板引用公共头部、共同的标签,但实际PHPCMS在PHP程序中或生成静态时,都作了判断处理,调用后台中不同的值来赋给$head数组。

调用方式:

首页:

网站标题:$PHPCMS['meta_title']

网站关键词:$PHPCMS['meta_keywords']

网站描述:$PHPCMS['meta_description']

PHPCMS生成静态时实际默认的是以“网站名称 – 网站标题”($head[‘title’]=$PHPCMS[‘sitename’] - $PHPCMS[‘meta_title’])的方式来生成网站首页的标题,关键词和描述则是直接使用的系统设置中如上图所示关键词和描述设置项的值。

一些SEO人员有时候希望首页标题能够有更大的灵活度,或者不希望网站名称显示在前面,如果稍懂PHP,落叶通常推荐的处理方式是,直接修改PHPCMS根目录下的include目录下的html.class.php文件中的生成首页部分的标题设置。

Html.class.php中的第22行:

$head['title'] = $PHPCMS['sitename'].'-'.$PHPCMS['meta_title'];

可修改为:$head['title']= $PHPCMS['meta_title'];

这样首页标题就可以不显示网站名称,而只显示自己有meta_title中设置的内容了。在落叶看来这实际没什么太大的差别,不过实际还真有好些SEO人员在做站内优化时,找到我技术这边,要帮做这样的调整。

如果对PHP不太了解,那同样,可以直接模板中处理了,把头部模板复制一份,仅供首页模板引用,然后把标签中的{$head[‘title’]}修改成{$PHPCMS['meta_title']}即可。

当然,实际也可以不复制模板,直接在PHPCMS中头部使用逻辑判断,如:

{if !$catid}{$PHPCMS['meta_title']}{else}$head['title']{/if}

上面判断的含义是:当栏目ID不存在时(即首页)只显示后台meta_title中的内容,如果存在(栏目页、内容页等)则按默认的方式显示。

栏目页:

栏目标题:$meta_title

栏目关键词:$meta_keywords

栏目描述:$meta_description

PHPCMS中默认的栏目页标题组成为“栏目名称 – 网站名称”或者“栏目名称 – 栏目标题”,因为栏目名称有时候仅仅是为了导航显示方便或者分类名称合理而设置,直接显示在栏目页标题中可能不太合适或者不太利于SEO,所以同样一些SEO人员也经常有需要删掉栏目名称在栏目页标题中显示的需求。在PHPCMS中一劳永逸的做法,同样是修改html.class.php文件中生成栏目页部分栏目标题设置。

如将:$head['title'] = $catname.'-'.($meta_title ? $meta_title : $PHPCMS['sitename']);

修改为:$head['title'] =$meta_title;

这样栏目标题就完全由SEO人员自定义了,在后栏目设置中填写meta_title即可。

至于内容页,一般都是“网站标题_栏目名称 – 网站名称”的方式,这点SEO人员修改的倒是不太多。如果需要修改,如有的不想要栏目名称,也是类似的做法。

DEDECMS:

DEDECMS中默认模板中虽然有把导航等公共头部独立出来,公共引用,但实际每个页面都有使用单独的头部,可以直接在模板中为首页、栏目页、列表页及内容页修改调用来实现不同的需求。默认的标题都是:{dede:field.title/}_{dede:global.cfg_webname/}即“页面标题_网站名称”的显示方式。栏目页如果不希望显示栏目名称或者作个性化修改,只需要使用上图栏目设置中的SEO标题这段后面显示的{$dede:field.seotitle}来替换即可。至于首页,因为是单独使用头部不影响其它页面,大可直接在模板中写标题等属性了。同样,内容页一般默认为“文章标题_栏目名称_网站名称”了,需要修改的不多。

标签:帝国CMS,phpcms,织梦,个性化
0
投稿

猜你喜欢

  • 谷歌推出应用于Android手机的快速搜索栏

    2009-10-12 10:38:00
  • google adsense专员AdSensePro答站长问

    2007-08-22 10:44:00
  • 金山毒霸进军泰国市场或将为网游国际化布局

    2010-03-04 12:54:00
  • 站长兵法 关键词排名浮动问题以及解决办法

    2008-12-24 13:38:00
  • 教程:CS游戏服务器搭建全攻略

    2009-01-13 16:40:00
  • WordPress 2.7中文版评测

    2008-12-16 13:17:00
  • 详细测试 Linux比拼微软家庭服务器

    2010-03-24 18:56:00
  • 如何设置Discuz!7.0分类信息功能

    2009-02-02 12:50:00
  • 提升PR之交叉连接

    2009-05-15 12:55:00
  • 选择邮件服务器十二要素(3)

    2007-09-20 13:55:00
  • 给注册表编辑器装个地址栏

    2007-08-27 14:14:00
  • 网站的定位为什么重要

    2008-02-02 15:37:00
  • 电信屏蔽Godaddy部分DNS服务

    2011-07-18 19:05:27
  • 李彦宏:搜索引擎决定美国大选

    2008-06-06 12:25:00
  • 做全不如做细,网站细分,如何细分?

    2008-03-14 07:43:00
  • Exchange Server 2003故障诊断

    2010-02-21 19:03:00
  • 预防DDoS攻击的十项安全策略

    2009-12-24 14:03:00
  • 谈谈Google PR劫持方法

    2008-02-18 12:32:00
  • Google以外17个搜索引擎的创新

    2008-03-20 13:08:00
  • 王通:高调赔钱,沉默赚钱!

    2007-09-24 12:13:00
  • asp之家 网站运营 m.aspxhome.com