在使用Dedecms CMS时,您可能会发现列表页面的标题在不同分页中完全一致。这不仅影响用户体验,对搜索引擎优化(SEO)也不友好,因为搜索引擎可能会误认为几个地址链接指向的是同一内容页面。那么如何让Dedecms列表显示分页符,从而优化SEO效果呢?本文将分享两种实现方法。
第一种方法较为简单:
{dede:field name=title/}-第 {dede:pagelist listsize=0 listitem=pageno function='html2text(@me)'/} 页-{dede:global.cfg_webname/}

此代码插入后,标题会显示为“目录名称-第X页-网站名称”。例如,“新闻资讯-第2页-我的网站”。不过这种方式存在一个小问题:标题中的“第X页”会有空格,看起来不够美观。
第二种方法虽然稍微复杂一些,但效果更佳:
首先,找到文件“arc.listview.class.php”,其路径为/include/arc.listview.class.php。修改前请务必备份原文件,以防出现问题。
打开文件后,搜索以下代码并删除:
$this->ParseTempletsFirst();

该代码会在两处出现,请全部删除。接着,找到以下代码:
$this->ParseDMFields($this->PageNo,1);

在其前面添加以下代码:
$this->Fields['pagexx'] = $this->PageNo;
$this->ParseTempletsFirst();

保存并上传修改后的文件到原位置。然后,在模板中找到列表页模板,在标题部分添加以下代码:
{dede:field.title/}-第{dede:field.pagexx/}页-{dede:global name='cfg_webname'/}

其中,“第{dede:field.pagexx/}页”表示分页数字;“{dede:field.title/}”为当前目录分类名称;“{dede:global name='cfg_webname'/}”为网站名称。最终效果类似于“科技动态-第3页-我的网站”。
需要注意的是,本教程仅针对Dedecms 5.7版本,其他版本未进行测试。修改文件有风险,请谨慎操作。若因操作失误导致问题,本人不承担任何责任。