zblog中CommShow插件在查询列表中会失效,原因不明
会把隐藏内容显示出来,经过查询插件,是统一把获取描述和内容的地方的关键标签替换成指定内容,不过没有指定页面列表,故无法直接修复
低级的解决方案:
找到对应的搜索页面,直接固定替换预览内容
上面注释的是原预览内容获取,
下面是直接统一修改的
这种方法不是很好
5-20补充
今天发现CommShow插件还有一个漏洞,就是seo显示的内容中会直接显示CommShow包起来的内容,这样会导致用户再搜索引擎中看到隐藏的内容
故修改代码
$description = preg_replace('/\[CommShow\](.*?)\[\/CommShow\]/sm','',$article->Intro); # 说明一下,这是在源代码准备将$description 截取指定个数字符前添加,意思是将数据库取出的原预览内容直接替换掉CommShow包含内容,然后把后面要用到$article->Intro的地方全部替换成$description,这样截取的 # 内容就是我们替换过的内容
完整代码
{php}$keywords = $article->TagsName;if($zbp->Config('quietlee')->introSource =='1'){$description = preg_replace('/[\r\n]+/', '', trim(SubStrUTF8(TransferHTML($article->Content,'[nohtml]'),88)).'...');}else{$description = preg_replace('/\[CommShow\](.*?)\[\/CommShow\]/sm','',$article->Intro);$description = preg_replace('/[\r\n]+/', '', trim(SubStrUTF8(TransferHTML($description,'[nohtml]'),88)).'...');}{/php}
因为每个站长用的模版都不一样,所以其要修改的地方也就不一样,这里讲的是基本修改原理
对了随便提一嘴
有的模版源码会把描述内容替换后加上“...”,这里我自己修改的时候直接去掉了,
因为如果你描述为空的时候,搜索引擎会认为你什么都没有填写,会显示页面的内容,如果你有...,默认就是...了,不过影响不大,因为一般情况下搜索引擎会根据用户搜索内容进行精准显示
还没有评论,来说两句吧...