解决在discuz各个版本门户页面下游客不显示关键字和描述信息的问题

痕风 2013年10月16日15:12:381 683

解决在discuz各个版本门户页面下游客不显示关键字和描述信息的问题
此方法适合DISCUZ X2.5的程序,不过也同样适合X3.0和X3.1,代码稍微不同,

解决办法如下:

以下2.5代码

找到文件“ source/class/helper/helper_seo.php ”这个文件

if($descriptiontext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
$seodescription = helper_seo::strreplace_strip_split($searchs, $replaces, $descriptiontext);
}
if($keywordstext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
$seokeywords = helper_seo::strreplace_strip_split($searchs, $replaces, $keywordstext);
}

以下3.1代码

if($descriptiontext && (isset($_G['makehtml']) || CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
$seodescription = helper_seo::strreplace_strip_split($searchs, $replaces, $descriptiontext);
}
if($keywordstext && (isset($_G['makehtml']) || CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
$seokeywords = helper_seo::strreplace_strip_split($searchs, $replaces, $keywordstext);
}

 

找到这段程序都改成以下即可:

if($descriptiontext) {
$seodescription = helper_seo::strreplace_strip_split($searchs, $replaces, $descriptiontext);
}
if($keywordstext) {
$seokeywords = helper_seo::strreplace_strip_split($searchs, $replaces, $keywordstext);
}

discuz X2.0游客看不到 keyword 与 description 的解释与解决方案
修改文件:source\function\function_core.php

查找:

if($descriptiontext && (IS_ROBOT || $_G['adminid'] == 1)) {

替换为:

if($descriptiontext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {

查找:

if($keywordstext && (IS_ROBOT || $_G['adminid'] == 1)) {

替换为

if($keywordstext && (CURSCRIPT == 'forum' ||IS_ROBOT || $_G['adminid'] == 1)) {

如果没有开启游客缓存,可以不做修改。
如果想要完全放开SEO设置给游客看,那么可以将

                if($descriptiontext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
                        $seodescription = strreplace_strip_split($searchs, $replaces, $descriptiontext);
                }
                if($keywordstext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
                        $seokeywords = strreplace_strip_split($searchs, $replaces, $keywordstext);
                }

修改为:

                if($descriptiontext) {
                        $seodescription = strreplace_strip_split($searchs, $replaces, $descriptiontext);
                }
                if($keywordstext) {
                        $seokeywords = strreplace_strip_split($searchs, $replaces, $keywordstext);
                }

另外:帖子内容页 如果没有单独设置 对应的 SEO 描述,那么此处:
游客与会员看到的是: 帖子标题
蜘蛛与管理员看到的是:摘要+标题

如果需要让会员也看到的这个描述以表安慰的话,可以做如下修改:
找到 source\module\forum\forum_viewthread.php 搜索:

if(IS_ROBOT || $_G['adminid'] == 1) $summary = str_replace(array("\r", "\n"), '', messagecutstr(strip_tags($post['message']), 160));

修改为:

$summary = str_replace(array("\r", "\n"), '', messagecutstr(strip_tags($post['message']), 160));
继续阅读
weinxin
痕风的起点
专注于互联网资讯、中央空调、Windows、wordpress、建站技术、软件应用等相关网络资源的分享。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  0   博主  1
    • mysql5 mysql5

      可以用