PHPCMS 、织梦及帝国对比(八)之SEO辅助功能及个性化调用分析(2)
来源:pmume.com 发布时间:2011-08-26 12:48:07
帝国CMS:
帝国CMS中栏目设置中虽然也有页面关键词及栏目描述设置,但没有SEO标题或META_TITLE这一项,模板中对页面标题的标签均为[!--pagetitle--],实际每个页面在生成静态时,都是即时替换,很难实现页面标题和个性化设置。
如网友提到,如果希望实现栏目页以“栏目名称 – 父栏目名称 – 网站名称”的方式,也需要大费周折(通过灵动标签SQL语句从栏目表中读取当前栏目ID对应的父栏目名称来实现)。
[e:loop={"select * from [!db.pre!]enewsclass where classid='$GLOBALS[navclassid]'",1,24,0}][/e:loop]
if($class_r[$GLOBALS[navclassid]][bclassid]<>0)
{
echo'_[!--bclass.name--]';
}
else
{
echo "";
}
?>
对比说明:从基本的SEO META属性设置及调用情况来看,织梦相对更家省事,方便新手使用,他的缺点是头部没有公用(除了导航),浪费不少代码,并且如果自己设计模板,想实现像PHPCMS那样头部公共调用时,因为不支持在模板中进行逻辑判断,想实现各类型页面的个性化标题设置会比较不方便。PHPCMS中这一点则更适合有编程基础的SEO人员进行操作,即可通修改静态生成类来统一实现,又可以通过在模板中逻辑判断来实现,对不懂编程的SEO人员,亦可仿照DEDE的方式,不同特征页使用不同的头部来实现调用。至于帝国,这点倒是显得比较不那么方便。
2. 栏目结构设置
一个纯文章站无非六类页面:首页、栏目页、列表页、内容页、介绍单页、专题单页。
为了方便灵活的表现,添加栏目结构时除了增加普通的栏目页,还需要时时用到单页或专题,不仅这样,还是希望单页和栏目页在前台表现上能够不单分开,即某一个栏目下添加的可能是子栏目,也可能是子单页。这一点在建企业站时尤为明显:企业的关于我们下面应该有企业文化、企业联系方式等单页面,同时亦会有企业新闻等栏目页和列表页。
SEO人员或者网站推广人员在站内优化时,网站规划初期,肯定需要根据栏目的性质以不同的结构进行展示,有的需要是单页有的需要是列表。
在PHPCMS中的实现是新建一个名为“关于我们”的栏目,然后直接添加企业文化单页、企业联系方式单页及企业新闻栏目页即可。前台统一使用栏目标签调用即可。
在DEDECMS中可建一个名为“关于我们”的栏目,然后下面以子栏目的形式添加企业文化、企业联系方式及企业新闻三个栏目。然后在企业文化、企业联系方式的栏目设置处,填写“栏目内容”,然后在栏目模板中以{dede:field.content/}调用,以后不要在该栏目下发任何文章,这样变相的把栏目当作单页面来使用。当然也可以使用DEDE的单页面功能,新建单页,在模板中手动加链接了。
在帝国CMS中则只能是找到单页面模块,新建一个名为企业文化的单页面和一个为名企业联系方式的单页,复制链接地址,然后前台改模板时手动加上去了。
很明显,这里PHPCMS又明显的显得顺畅,后两者虽然功能上实现同样的需求,但似乎都不是那么正式。当然,这点DEDECMS中比帝国中做得更好些。
3. 面包屑导航
PHPCMS中调用面包屑导航的代码:首页{catpos($catid)}
DEDECMS中生成面包屑导航的代码:当前位置: {dede:field name='position'/}
帝国CMS生成面包屑导航的代码:[!--newsnav--]
三款CMS在默认情况下,都能很方便的实现面包屑导航,但往往SEO人员或者技术人员不同情况下都会有一些特别的需求。
如,A栏目下的B栏目下发了名为c.html的文章,上三者默认生成的面包屑导航是:首页>栏目A>栏目B,而实际可能B栏目仅仅是为了方便管理而分类的需要,不需要显示在面包屑导航中,也不希望别人直接点击访问栏目B对应的页面,那这三款CMS中应该怎么处理呢?
PHPCMS中,他是把所有栏目都缓存起来,并存储在全局数组($CATEGORY)中的,在任何页面,都可以根据当前页面所属的栏目ID即$catid,来读取栏目名称、上级栏目名称、上级栏目名称、上级栏目URL等,甚至上级的上级的信息均可以读取到。对上面的需求则只需要使用{$CATEGORY[$CATEGORY[$catid][‘parentid’]][‘catename’]}即根据c.html页面的栏目ID读取到了上级栏目A的栏目名称,URL也类似方法读取到。
DEDECMS和帝国CMS中则一下子,见到明显的短板了。都没能找到直接的通过简单标签调用的方法。只有能过相关的SQL语句来实现了。如DEDECMS中则需要使用类似如下的方法来调用了:
{dede:type}
[field:id runphp=yes]
$tsql = new DedeSql(false);
$typelink2 = '';
$tsql->SetQuery("Select i.typedir,i.id,i.typename From #@__arctype t left join #@__arctype i on i.id=t.reid where t.id='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC))
{
$typelink2 .= "".$row['typename']."";
}
@me=str_replace("{cmspath}","",$typelink2);
[/field:id]
{/dede:type}
帝国CMS中亦可以通过灵动标签SQL语句类似上面织梦那样实现,但我想还是直接放弃吧。上面仅仅是一个这么简单的需求,还不得不写这么大堆SQL语句和PHP代码,其他更复杂的个性化需求怎么办。
举个更常见的需求,本来c.html是分在A栏目下的B栏目里的,但是前台整合需要,实现归在C栏目下显示,面包屑导航结构是首页>栏目D>,(后台栏目分类是一回事,前台整合是另一回事,许多为了实现结构目录扁平化或文章营销性质考虑,都有遇到这样的情况),这样的需求,按上面的分析,在PHPCMS下是很方便实现的,那DEDECMS和帝国CMS中估计又得头大。
URL结构设置
毫无疑问,URL结构的调整,在SEO站内优化中也是常需要考虑到的因素,有时候需要按照栏目目录结构来显示内容的路径,有时候需要把所有内容都只归于一个目录下,因为CMS中自定义URL规则的功能就显得尤为重要了。这点此前落叶的CMS对比分析系列文章中作过详细的分析。结果是:功能上PHPCMS>DEDECMS>帝国,细节上DEDECMS>PHPCMS>帝国。这里限于篇幅,不再赘述。


猜你喜欢
- Linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。本文基于CentOS 7下采
- 做谷歌这么多年了,一直最佩服的就是谷歌的防作弊手段,因为谷歌防作弊是对外保密的,因此,很多人作弊,虽然道理一套,表面上可能无坚不摧,但是真正
- 对于已经建设好的网站,我们该如何做呢?下面我就结合自己建设“QQ空间5.0模板”亲身经历谈一点自己粗浅的做法,也许对你有所帮助!第一、网站的
- 今天我们来介绍Godaddy主机用户怎样使用Hosting Control Center的File Manager从托管帐户删除某个文档?
- 据Google站长博客报道,Google目前允许网站管理员自行修改sitelinks(网站附加链接)。所谓的sitelinks(网站附加链接
- 一、小猫TOMCAT其实很可爱2003年底,我换公司了,同样也换了WEBAPP,TOMCAT出现在我的面前(以前使用weblogic),我有
- 发现Discuz 验证用户是否在线的机制 非常有趣, 这里到时难住了我一个之前没怎么接触过Web系统的,唉,搞了半天才发现,Discuz!X
- 网站做到极致就是简单、可用性与易浏览。百度,GOOGLE,只有一个输入框,在输入框里面输入不同的关键字,产生不同的效果和结果。其给网民体验的
- 在进行互联网用户浏览行为的定量研究中,阿里巴巴中国站用户研究小组开发了一个基于服务器日志的可视化分析工具(视频)。User Behavior
- 如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在http://
- 还记得《暗黑破坏神》吗?还记得那些曾经的游戏吗?随着2008年网页游戏在全国的异军突起,这些经典游戏也就逐渐成为了游戏开发厂商模仿和借鉴的对
- 近日有不少人问虚拟主机好还是服务器合租好?其实,各有各的市场优势,两者将长期并存下去。大家都知道虚拟主机技术在起初刚发展的时候都被看作是个很
- 对于遭受DDOS攻击的情况是让人很尴尬的,如果我们有良好的DDoS防御方法,那么很多问题就将迎刃而解,我们来看看我们有哪些常用的有效地方法来
- 什么是虚拟软件:虚拟软件是一个可以使你在一台机器上同时运行二个或更多Windows、LINUX等系统。它可以模拟一个标准PC环境。这个环境和
- 受影响系统:IBM Lotus Domino 7.0不受影响系统:IBM Lotus Domino 7.0.2 FP2描述:Lotus Do
- orderby=digg 就是按照DIGG的次数来排序的{dede:arclist row=5 titlelen=24&
- 不要跟我讲不看重结果,既然不看重结果那就享受过程,为什么在享受过程的时候又会有痛苦?不要跟我讲做网站不是为了赚钱,既然不还是为了赚钱做那么多
- 在扩展外部链接时,PageRank会根据URL来作出判断。虽然在同一域名中每个网页都具有一定的关联性,但是搜索引擎还是会根据URL作出最终的
- 最近需求想定期备份内部重要的服务器数据到存储里面,顺便做个笔记以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的b
- 以恰当的方式推广你的网站当人们通过搜索引擎或者其它方式发现你的网站并链接它时,链向你网站的链接也会逐渐增加,Google会明白你很希望别人知