今天我的一个phpcms网站内容页收录了,发现内容页分页的标题都是重复一样的,但是这样是不利于seo优化的。在百度收录看到刚收的几个内容页都是重复标题标记,全是phpcms v9程序分页重复标题造成的。很不利于seo优化,于是想着在标题里加入分页数。在网站顶部文件随便加了个【{$page}】,生成文章测试 了下。不错,效果出来了。所有分页的标题都加上了“【分页数】”,可是浏览到列表页和没有分页的文章里,‘【分页数】或“【】”空格一直显示着,看着很不顺眼,怎样在无分页的标题上不显示那难看的框框呢,折腾了半天,用了一个if语句搞定。
第一种方法:修改模版
在phpcms v9后台,界面--模板风格--详细列表--content---修改header.html文件,在<title></title>之间加入下一句代码就行了
{if ($page) > (1)}【{$page}】{/if}
当文章无分页的时候,“【1】”再不出出现了
第二种方法:修改系统
找到phpcms\modules\content\classes\html.class.php文件,类约160行:
$pagefile = PHPCMS_PATH.$pagefile;
在这段代码之后添加如下代码就OK
//start if($page!=1){ $title1 = $title." 第".$page."页"; }else{ $title1 = $title; } $SEO = seo($siteid, $catid, $title1, $description, $seo_keywords); //end
备注,上面的修改方法会导致分页的如果使用子标题,则子标题会显示在第一页过后,规则为:子标题+分页号码,如果不想,可以这么修改86行:
$title = strip_tags($title);
在后面添加:
$orgtitle = $title; //将标题保存在一个变量中 找到大约133行 foreach ($pageurls as $page=>$urls) 添加以下代码就OK了。 //start 修改标题显示标题的页数 if($page!=1){ $title1 = $orgtitle." 第".$page."页"; }else{ $title1 = $orgtitle; } $SEO = seo($siteid, $catid, $title1, $description, $seo_keywords); //end