- 3月10日
-
最近几天在研究一个用discuz X2.5搭建的论坛网站,在搭建的过程中发现了很多大大小小的问题,在这里给大家做一个备份。
一、discuz X2.5 游客看不到 keyword 与 description 的解释与解决方案
需要修改的文件: 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);
修改为:
if($descriptiontext) {
$seodescription = helper_seo::strreplace_strip_split($searchs, $replaces, $descriptiontext);
}
if($keywordstext) {
$seokeywords = helper_seo::strreplace_strip_split($searchs, $replaces, $keywordstext);
简单的来说就是去掉 && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1) 这个判断语句。
二、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));
原创文章请注明转载自沈阳SEO博客,本文地址:http://www.seolinks.cn/blog/post/47.html
但是新版的还是不错的