用dedecms做网站优化时栏目列表的标题名称改为二级栏目_一级栏目-网站标题

用dedecms做网站优化时,栏目列表的标题名称,写法有点不对,应该修正一下,具体方法参考如下:

二级栏目_一级栏目-网站标题


首先进行列表标题的优化。

      dedecms为默认的二级栏目页面的title是“一级栏目名称/二级栏目名称_网站名称”的显示形式,看着非常的不爽,尤其是中间的那个“/”。现在按照百度的SEO指南,很显然这个是很不友好的,我们需要改为“二级栏目名称_一级栏目名称_网站名称”这样的显示形式以下为实现方法:

第一种方法:直接修改模板,这种方法对二级目录有效,有三级目录的朋友需要使用第二种方法。

<title>{dede:type}[field:typename /]{/dede:type}_{dede:field.title runphp='yes'} $ta = '1';$tb = '/';$tc = @me; $td = split($tb,$tc); @me = $td[$ta-1];{/dede:field.title}_{dede:global.cfg_webname/}</title>

第二种方法:修改配置文件

1、交换顶级栏目和二级栏目顺寻:
打开\include \typelink.class.php,搜索

原文    $this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName;

修改为 $this->valuePositionName = $this->valuePositionName.$this->SplitSymbol.$tinfos['typename'];

2、将"/"修改为"_":

找到\include\arc.listview.class.php,搜索

原文 $this->Fields['title'] = ereg_replace("[<>]","/",$this->TypeLink->GetPositionLink(false));

修改为  $this->Fields['title'] = ereg_replace("[<>]","_",$this->TypeLink->GetPositionLink(false));

      内容页的title优化方法

dedecms为默认的内容页标题是文章标题+网站名,而我现在做的优化是在文章标题和网站名称之间加入二级目录的名称,实现方法很简单,只需要在模板中修改title为:

<title>{dede:field name='title'/} - {dede:field name='typename'/} - {dede:global name='cfg_webname'/}</title>