电脑技术学习

帝国CMS分页添加不同description描述方法

dn001

  帝国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 磐实

整个修改后的效果,如图

帝国内容分页描述图.png

修改后的帝国CMS 7.0; function.php

修改后的function.rar
文件类型: .rar 8e62b81229b0cff0c28c083ce02da0f8.rar(38.86 KB)

修改后,新闻内容模板调用 [!--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,'&amp;','&nbsp;','&quot;','&ldquo;','&rdquo;','\"','"','"'), " ", $jianjie);;
$jianjie=trim($jianjie);
$jianjie = preg_replace('/[| |]{2,}/',' ',$jianjie );;;;
$jianjie = preg_replace('/[| |]{2,}/','\\1',$jianjie );;
echo $jianjie;
?>
" /> ;