推荐应用
游客看不到 keyword 与 description 的解释与解决方案
发布于 2012-11-21
原因分析:现在为了节省一些流量,在查看源代码的时候,只有管理员可以看到页面中的 keyword 和 description,而其他普通会员和游客是看不到的,但是蜘蛛是可以看到的,不相信的朋友可以模拟蜘蛛看看结果。
问题所在:目前发现的问题是如果开启了游客缓存,那么游客触发缓存后,会造成蜘蛛爬行的时候也读了缓存,那么就会造成蜘蛛找不到 keyword 与 description 了,所以可以做如下修改,如下修改后,游客也可以看到这两项了,如果开启了游客缓存,则需要将游客缓存删除一下才会生效。
修改文件:source\function\function_core.php
查找:
如果想要完全放开SEO设置给游客看,那么可以
将
游客与会员看到的是: 帖子标题
蜘蛛与管理员看到的是:摘要+标题
如果需要让会员也看到的这个描述以表安慰的话,可以做如下修改:
找到 source\module\forum\forum_viewthread.php 搜索:
问题所在:目前发现的问题是如果开启了游客缓存,那么游客触发缓存后,会造成蜘蛛爬行的时候也读了缓存,那么就会造成蜘蛛找不到 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));