在使用DedeCMS构建网站时,栏目列表的标题重复问题常常会被搜索引擎视为不友好。谷歌站长工具可能会提示“重复的标题标记”,这表明对于搜索引擎优化(SEO)来说,这是一个需要改进的地方。虽然一些WordPress站点的主页分页标题也可能相同,但为了追求更完美的SEO效果,针对DedeCMS列表页标题重复进行优化是非常有必要的。
以下将介绍两种解决DedeCMS列表标题重复的方法。
方法一:
通过修改标签来实现分页标题的独特性。默认情况下,DedeCMS栏目标题标签为:
{dede:field.title/} – {dede:global.cfg_webname/}
这样生成出来的标题格式为“栏目名 - 网站名”,所有分页的标题都相同,这对搜索引擎并不友好。
目前网上最主流的解决方法是添加如下标签:
第{dede:pagelist listsize='0' listitem='pageno' function='html2text(@me)'/}页
这种方法虽然实用,但存在一个问题:第一页也会显示分页标题。可以通过以下代码进行优化:
{dede:pagelist listitem="pageno" listsize="0" function="html2text(@me)" runphp="yes"}if (strlen(@me)>10 || @me==1) @me="";else @me="第".@me."页";{/dede:pagelist}
经过上述修改后,基本已经解决了问题,但仍可能存在页码左右空格占用标题空间的情况。最终解决方案如下:
{dede:pagelist listitem="pageno" listsize="0" function="html2text(@me)" runphp="yes"}if (strlen(@me)>10 || @me==1) @me="";else @me=" 第".str_replace(' ','',@me)."页";{/dede:pagelist}
方法二:
1. 登录FTP或直接在后台文件管理中修改include\\\\arc.listview.class.php文件。
对于DEDE5.7版本:
1. 删掉 $this->ParseTempletsFirst();
2. 在$this->ParseDMFields($this->PageNo,1);前添加:
$this->Fields['pagexx'] = $this->PageNo;
$this->ParseTempletsFirst();
对于DEDE5.6等版本:
1. 删掉 $this->ParseTempletsFirst();
2. 在$this->ParseDMFields($this->PageNo,1);前添加:
$this->Fields['pagexx'] = $this->PageNo;
$this->ParseTempletsFirst();
注意:此修改仅适用于静态页面。
2. 修改列表页模板,如list_article.htm,在原本的标签之间加上_第{dede:field.pagexx /}页。当然,“_”可以删除或者替换为你认为对搜索引擎更友好的符号。
综合比较这两种方法,推荐使用第一种方法。因为不需要改动程序核心文件,这样不仅方便以后升级,还可以避免产生兼容性问题。
以上内容旨在帮助您更好地优化DedeCMS网站的SEO效果,确保您的网站在搜索引擎中获得更好的排名。