帝国CMS meta name="description" 得到的结果和网页标题一样,并且分页的也是一样的,这样对SEO很不好,搜索引擎收录时,有时摘要会不准确,在官方网找了好久都没找到好的方法,也有人提过这问题。
但都没有解决,本人经过无数次修改后,得到了比效完美的实现方法。
-------------------------------
找到 functions.php文件,在 e/class中
查找 $string=str_replace('[!--'.$pf.'--]',$newstext,$string); 7.0版帝国大约在 3500行后
在这行后面添加代码
//start ;处理多页的内容页使用内容作为description 这处代码只对
;;;//文章模型起作用
;$jianjie = strip_tags( $newstext );;
;$jianjie=esub($jianjie, 160);;
;$jianjie = str_replace(array(PHP_EOL,'&',' ','"','“','”','\"','"','"'), " ", $jianjie);;
;$jianjie=trim($jianjie);
;$jianjie = preg_replace('/[| |]{2,}/',' ',$jianjie );;;;
;$jianjie = preg_replace('/[| |]{2,}/','\\1',$jianjie );;
;;$string=str_replace('帝国CMS meta name= description 得到的结果和网页标题一样,并且分页的也是一样的,这样对SEO很不好,搜索引擎收录时,有时摘要会不准确,在官方网找了好久都没找到好的方法,也有人',$jianjie,$string);;
//end 磐实
紧跟着,能看到下面这样的代码
//写文件
;;;WriteFiletext($file,$addlevel.$string);
;;}
;}
;else
;{
;;$file=$doclasspath.$newspath.$add[filename].$filetype;
;;$string=$newstempstr;//模板
;;//替换变量
;;$string=str_replace('帝国CMS分页添加不同description描述方法',$add[title],$string);
;;$string=str_replace('','',$string);
;;$string=str_replace('','',$string);
;;$string=str_replace('','',$string);
这是处理单页的,也必须加上如下代码
//start 处理单页的内容页使用内容作为description
;$jianjie=esub(strip_tags($add[newstext]),160);
;$jianjie = str_replace(array(PHP_EOL,'&',' ','"','“','”','\"','"','"'), " ", $jianjie);;
;$jianjie=trim($jianjie);
;$jianjie = preg_replace('/[| |]{2,}/',' ',$jianjie );;;;
;$jianjie = preg_replace('/[| |]{2,}/','\\1',$jianjie );
$string=str_replace('帝国CMS meta name= description 得到的结果和网页标题一样,并且分页的也是一样的,这样对SEO很不好,搜索引擎收录时,有时摘要会不准确,在官方网找了好久都没找到好的方法,也有人',$jianjie,$string);
;;//end 磐实
整个修改后的效果,如图
修改后的帝国CMS 7.0; function.php
修改后,新闻内容模板调用 [!--p age.des--] 注:p后面特意加了个空格,使用时不要加这个空格
以上方法只解决了,新闻模型或包含newstext字段的模型,其它模型用如下代码就可以解决,以下代码是我网站下载模型的
<meta name="description" content="<?php;
$jianjie = strip_tags( $navinfor[softsay] ); //这里可以修改成你需要的字段
$jianjie=esub($jianjie, 160);;
$jianjie = str_replace(array(PHP_EOL,'&',' ','"','“','”','\"','"','"'), " ", $jianjie);;
$jianjie=trim($jianjie);
$jianjie = preg_replace('/[| |]{2,}/',' ',$jianjie );;;;
$jianjie = preg_replace('/[| |]{2,}/','\\1',$jianjie );;
echo $jianjie;
?>
" /> ;