chaihongjun.me

dedecms列表页标题的优化技巧

dedecms列表页标题的优化技巧

  dedecms默认认列表标题格式是:

顶级栏目/ 一级栏目_网站标题

从这个形式可以看出一级栏目没有在整个标题的最前面,按照常规的说法,越在标题前面的越重要,权重也越高,所以理想的标题形态应该是这样的:

一级栏目/ 顶级栏目_网站标题

本身当前栏目就是一级栏目,应该在前面,同样也符合大众阅读的习惯。具体操作如下:

打开

\include\typelink.class.php

找到代码

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

改成如下:

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

然后,更新完栏目后就出现改:一级栏目/顶级栏目_网站标题 这类形式,当然层级越多也是符合这个格式的。

  完成了,但是看到上面的“/”分隔符不是我们常见的下划线"_"或者数线"|"等形式,感觉怪怪的,当然无关痛痒这些分隔符只是要搜索引擎分隔字符串的。为了视觉效果可以将这个分隔符做优化,只需一个步骤,打开文件:

\include\arc.listview.class.php

找到代码:

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

将"/"改成"_"或者你想要的分隔符即可,即:

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

至此大功告成,最终的标题是:

一级栏目_顶级栏目_网站标题

当然,分页太多,这样每个页面的标题都是上述的形式了,为了有差异和不同,只需要在列表页模板写标题的时候用标签

{dede:field.pagexx /}  //显示分页页码

即可,例如:

<title>{dede:field.title/}_{dede:global.cfg_webname/}/第{dede:field.pagexx /}页</title>


知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:柴宏俊»