相关文章
北京网站制作刷PR值,有必要吗?
企通互联齐宁:互联网上无声的战争 - 搜索引擎危机公关
北京网站建设Google Dance,别再折腾我的心脏
网站设计SEO杂谈 链接有道,方能为王
网站制作SEM-SEO在网络营销几个比较常用的方式
北京网页设计seo网站分析,如何给seo水平打分测评
北京网站建设搜索引擎新闻数则
北京网页设计深度分析:Google毁了Web?
网站设计提高网站的Google PR值的私家绝招
网站设计基于SEO的Web2.0页面质量的评价体系
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> seo >> 企通互联北京网站制作discuz论坛基础搜索优化实践
企通互联北京网站制作discuz论坛基础搜索优化实践
作者: 北京网站建设 日期:2008-03-27 05:59:39 来源: http://www.qitongnet.com
前面谈谈内容页本身的优化(meta,content)问题,最后解决内容页(viewthread)的网页复制问题网页设计
网站设计
北京网站建设
内容页伪静态URL不唯一北京网站设计
北京网站建设
看看内容页的URL大家就知道了:thread-(tid)-(page)-(forumdisplay page).html,可以看出最后一节表示的是此帖在列表页的第几页。所以,当您的帖子越来越多,这个帖就会由第一页到第二页...,它的URL就会不断的变化。其实打开一个列表页就可以看出来,第2页的帖子链接的最后数字都是2,第3页的都是3,只是很少注意它。我是在SE的收录中发现复制网页越来越多,才对最后的数字注意的。网页设计
北京网页设计
解决方法北京网站设计
www.qitongnet.com修改 forumdisplay.php 文件:将 $extra = rawurlencode("page=$page$forumdisplayadd"); 语句替换为网站制作
$extra = rawurlencode("page=1$forumdisplayadd");网站设计
北京网页设计 北京网页设计
语句中的page就是forumdisplay page,这样改后不管帖子在列表页的第几页,这个数都是1。网站设计
北京网页设计
功能损失:当用户编辑帖子或版主管理帖子后,有个提示跳转页:选择转入列表页还是主题页,这时转入列表页的话,只能转到列表页第一页,而不管您原来停留在第几页。网站设计
网站设计
网站设计
redirect的301重定向企通互联
网站建设
在discuz论坛中可以看到类似redirect.php?tid=xxx&goto=lastpost#lastpost这样的链接,它的功能是实现“最新发表、最后发表、上一主题、下一主题“功能,仅这一个功能就可以给同一个内容页造成四份复制网页,因此将这样的链接301永久重定向到帖子的静态地址。北京网站设计
北京网页设计
解决方法北京网站设计
修改 redirect.php 文件:网站建设
将前两个 require_once DISCUZ_ROOT.'./viewthread.php'; 语句替换为北京网站制作
$bmt_url='Location:/thread-'.$tid.'-'.$page.'-1.html';网站设计
header('HTTP/1.1 301 Moved Permanently');网站建设
header( $bmt_url );北京网站制作
将后两个 require_once DISCUZ_ROOT.'./viewthread.php'; 语句替换为北京网页设计
$bmt_url='Location:/thread-'.$tid.'-1-1.html';北京网站建设
header('HTTP/1.1 301 Moved Permanently');北京网站制作
header( $bmt_url );企通互联
网页设计
dz5.5的引用处也有个跳转,也可以做301:网站制作
将 dheader("Location: viewthread.php?tid=$post[tid]&page=$page#pid$pid");替换为北京网站制作
$bmt_url='Location:/thread-'.$post[tid].'-'.$page.'-1.html#pid'.$pid;网站设计
header('HTTP/1.1 301 Moved Permanently');企通互联
header( $bmt_url );北京网站制作 网站建设
网站建设
***注意此处直接转到了静态地址,没有做判断是否开启伪静态功能,所以不开启会有问题北京网页设计
网页设计
功能损失:转向到静态地址后,动态地址中类似#lastpost的锚点将无法起作用了,可能要手动滚屏了网站制作
???好像没有影响锚点网站建设
北京网站制作
提示信息页的网页复制北京网站设计
网站设计
这个问题和内容页也有着很大的关系,呵呵。如管理员设置允许游客浏览列表,而禁止浏览内容时,这些内容页都将返回一没有权限的提示信息页,但它们的URL是不同的,这样就形成了严重的网页复制,此外还有其它形成的无权操作等。别一种提示信息如帖子不存在等,数量大了也会形成网页复制。这两种提示信息,都是通过showmessage函数分别调用nopermission.htm和showmessage.htm两个模板实现的。网站制作
北京网站设计
解决方法北京网站制作
1.创建另一个头模板文件 templates/default/header_disbots.htm北京网站建设
内容同 header.htm 文件,但将其中的meta标签替换为网站设计
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />北京网站设计
<meta name="robots" content="noindex,nofollow" />网站建设
网站制作
2.分别修改 templates/default/nopermission.htm 和 templates/default/showmessage.htm 文件企通互联
将它们第一行的 {template header} 替换为 {template header_disbots}北京网页设计
网站设计
虽然对meta robots标签支持的不是很广泛,但这是比较省事的方法网站设计
因为是提示信息页,用301来实现的话,还要传给转到的页好多信息,修改起来比较麻烦北京网页设计
参考例子:http://bbs.admin5.com <title> 站长网交易论坛 网站交易,域名交易,域名出售,网站出售,源码出售,程序出售 - 站长网交易信息平台</title> 北京网站设计
网站建设
robots.txt使用网站建设
网站设计
User-agent: *北京网站建设
北京网站设计
#禁止一个版面的收录网站建设
#如果有个水版,不想禁止游客权限,也不想SE收录,已免影响网站质量,可以用如下方法北京网站建设
Disallow: /forum-1-网站制作
网页设计
#数字即为要禁止版块的ID。网页设计
#注意数字最后的 - 不要省略,否则连ID为11,12等1开头的版都禁了网站制作 北京网站建设
北京网站设计
#再禁网页复制网站制作
Disallow: /viewthread.php网站制作
#这个是内容页的动态形式,前面对伪静态做了优化并修改了很多的复制网页,因此这里动态形式如打印页等一定要禁止网站建设
北京网页设计
Disallow: /forumdisplay.php北京网站设计
#这个要慎重:列表页的动态形式,还包括精华、活动、投票等形式。我发现5.0的静态化不彻底,它的上一页下一页翻页仍是动态,这样如果禁止了,十页之后的内容就不能通这索引了。所以如果您站内的交差链接不丰富的话,不要在此禁止,以免影响收录。网站建设
企通互联
hekaiyu说没有这个问题,去官方看了下5.5的确没问题(也许我的5.0本来没问题,也许官方在新版本中完善了正则表达式的替换规则),这样更好了,禁止它,又干净了好多北京网站制作
北京网站制作
#禁止其它无用内容 网页设计网站设计
Disallow: /profile北京网站建设
#用户信息,不知为什么discuz也静态化了,一律禁止北京网站建设
Disallow: /relatethread北京网页设计
Disallow: /post企通互联
Disallow: /blog北京网站设计
Disallow: /member北京网站建设
Disallow: /misc网站建设
Disallow: /faq网站制作
Disallow: /my网站制作
Disallow: /pm企通互联
Disallow: /digest网页设计
Disallow: /status网站建设
# ... ... 等等网站建设
# ----- robots.txt end ------网站设计
[更新]dz5.5的robots.txt后部分给出的Disallow: post.php等是不合规范的,一定要在前面加上"/"企通互联
北京网站设计
首页URL问题北京网站设计
北京网站设计
后台基本设置->首页文件名如果不设置,会默认为index.php。所以站内到首页的链接为形式为http://domain/index.php。而我们一般引用论坛首页或交换链接的形式一般是http://domain/。实际是一样的,但SE可认为是两个URL,而且一个拥有很多的内部链接,一个拥有较多的外部链接,所以哪个被降级都不是好事情,最好统一起来。这里的修改目标是http://domain/的形式。网页设计 北京网站设计
网页设计
1.进入后台,基本设置 网站制作->首面文件名 设置为: /北京网站设计
2.修改文件 member.php 将 header("Location: {$boardurl}".$indexname); 替换为北京网站制作
if( $indexname=='/'){网页设计
header("Location: {$boardurl}");网页设计
}else{网站设计
header("Location: {$boardurl}".$indexname);北京网站设计
}企通互联
此修改处的功能是清除 企通互联cookies后返回到首页,如不修改域名后就有两个/。暂时未发现使用/当首页文件名的其它问题网站设计
北京网站建设
北京网站制作
结 束北京网站设计
北京网站设计
除了文件的修改,有些地方要配合后台设置,前面都提到了,这里总结一下。主要有:1.URL静态化,只启用普通页面静态化就可以了;2.不要启用Archiver功能;3.后台的keywords和description设置只是针对首页的(如果您没做列表页和内容页的meta修改则也应用到它们);4.后台首页文件名为/(当然您也可以设置自己特定的)网站建设
网站设计
Discuz的SEO到此就告一段落了。想想当初发现和解决这些问题还真花了不少力气呢,不过了解了discuz,了解了php,了解了seo,呵呵企通互联
网站制作
欢迎各位提出意见和问题。网站建设
网页设计
网页设计
网站设计
企通互联
网站设计
北京网站建设
内容页伪静态URL不唯一北京网站设计
北京网站建设
看看内容页的URL大家就知道了:thread-(tid)-(page)-(forumdisplay page).html,可以看出最后一节表示的是此帖在列表页的第几页。所以,当您的帖子越来越多,这个帖就会由第一页到第二页...,它的URL就会不断的变化。其实打开一个列表页就可以看出来,第2页的帖子链接的最后数字都是2,第3页的都是3,只是很少注意它。我是在SE的收录中发现复制网页越来越多,才对最后的数字注意的。网页设计
北京网页设计
解决方法北京网站设计
www.qitongnet.com修改 forumdisplay.php 文件:将 $extra = rawurlencode("page=$page$forumdisplayadd"); 语句替换为网站制作
$extra = rawurlencode("page=1$forumdisplayadd");网站设计
北京网页设计 北京网页设计
语句中的page就是forumdisplay page,这样改后不管帖子在列表页的第几页,这个数都是1。网站设计
北京网页设计
功能损失:当用户编辑帖子或版主管理帖子后,有个提示跳转页:选择转入列表页还是主题页,这时转入列表页的话,只能转到列表页第一页,而不管您原来停留在第几页。网站设计
网站设计
网站设计
redirect的301重定向企通互联
网站建设
在discuz论坛中可以看到类似redirect.php?tid=xxx&goto=lastpost#lastpost这样的链接,它的功能是实现“最新发表、最后发表、上一主题、下一主题“功能,仅这一个功能就可以给同一个内容页造成四份复制网页,因此将这样的链接301永久重定向到帖子的静态地址。北京网站设计
北京网页设计
解决方法北京网站设计
修改 redirect.php 文件:网站建设
将前两个 require_once DISCUZ_ROOT.'./viewthread.php'; 语句替换为北京网站制作
$bmt_url='Location:/thread-'.$tid.'-'.$page.'-1.html';网站设计
header('HTTP/1.1 301 Moved Permanently');网站建设
header( $bmt_url );北京网站制作
将后两个 require_once DISCUZ_ROOT.'./viewthread.php'; 语句替换为北京网页设计
$bmt_url='Location:/thread-'.$tid.'-1-1.html';北京网站建设
header('HTTP/1.1 301 Moved Permanently');北京网站制作
header( $bmt_url );企通互联
网页设计
dz5.5的引用处也有个跳转,也可以做301:网站制作
将 dheader("Location: viewthread.php?tid=$post[tid]&page=$page#pid$pid");替换为北京网站制作
$bmt_url='Location:/thread-'.$post[tid].'-'.$page.'-1.html#pid'.$pid;网站设计
header('HTTP/1.1 301 Moved Permanently');企通互联
header( $bmt_url );北京网站制作 网站建设
网站建设
***注意此处直接转到了静态地址,没有做判断是否开启伪静态功能,所以不开启会有问题北京网页设计
网页设计
功能损失:转向到静态地址后,动态地址中类似#lastpost的锚点将无法起作用了,可能要手动滚屏了网站制作
???好像没有影响锚点网站建设
北京网站制作
提示信息页的网页复制北京网站设计
网站设计
这个问题和内容页也有着很大的关系,呵呵。如管理员设置允许游客浏览列表,而禁止浏览内容时,这些内容页都将返回一没有权限的提示信息页,但它们的URL是不同的,这样就形成了严重的网页复制,此外还有其它形成的无权操作等。别一种提示信息如帖子不存在等,数量大了也会形成网页复制。这两种提示信息,都是通过showmessage函数分别调用nopermission.htm和showmessage.htm两个模板实现的。网站制作
北京网站设计
解决方法北京网站制作
1.创建另一个头模板文件 templates/default/header_disbots.htm北京网站建设
内容同 header.htm 文件,但将其中的meta标签替换为网站设计
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />北京网站设计
<meta name="robots" content="noindex,nofollow" />网站建设
网站制作
2.分别修改 templates/default/nopermission.htm 和 templates/default/showmessage.htm 文件企通互联
将它们第一行的 {template header} 替换为 {template header_disbots}北京网页设计
网站设计
虽然对meta robots标签支持的不是很广泛,但这是比较省事的方法网站设计
因为是提示信息页,用301来实现的话,还要传给转到的页好多信息,修改起来比较麻烦北京网页设计
参考例子:http://bbs.admin5.com <title> 站长网交易论坛 网站交易,域名交易,域名出售,网站出售,源码出售,程序出售 - 站长网交易信息平台</title> 北京网站设计
网站建设
robots.txt使用网站建设
网站设计
User-agent: *北京网站建设
北京网站设计
#禁止一个版面的收录网站建设
#如果有个水版,不想禁止游客权限,也不想SE收录,已免影响网站质量,可以用如下方法北京网站建设
Disallow: /forum-1-网站制作
网页设计
#数字即为要禁止版块的ID。网页设计
#注意数字最后的 - 不要省略,否则连ID为11,12等1开头的版都禁了网站制作 北京网站建设
北京网站设计
#再禁网页复制网站制作
Disallow: /viewthread.php网站制作
#这个是内容页的动态形式,前面对伪静态做了优化并修改了很多的复制网页,因此这里动态形式如打印页等一定要禁止网站建设
北京网页设计
Disallow: /forumdisplay.php北京网站设计
#这个要慎重:列表页的动态形式,还包括精华、活动、投票等形式。我发现5.0的静态化不彻底,它的上一页下一页翻页仍是动态,这样如果禁止了,十页之后的内容就不能通这索引了。所以如果您站内的交差链接不丰富的话,不要在此禁止,以免影响收录。网站建设
企通互联
hekaiyu说没有这个问题,去官方看了下5.5的确没问题(也许我的5.0本来没问题,也许官方在新版本中完善了正则表达式的替换规则),这样更好了,禁止它,又干净了好多北京网站制作
北京网站制作
#禁止其它无用内容 网页设计网站设计
Disallow: /profile北京网站建设
#用户信息,不知为什么discuz也静态化了,一律禁止北京网站建设
Disallow: /relatethread北京网页设计
Disallow: /post企通互联
Disallow: /blog北京网站设计
Disallow: /member北京网站建设
Disallow: /misc网站建设
Disallow: /faq网站制作
Disallow: /my网站制作
Disallow: /pm企通互联
Disallow: /digest网页设计
Disallow: /status网站建设
# ... ... 等等网站建设
# ----- robots.txt end ------网站设计
[更新]dz5.5的robots.txt后部分给出的Disallow: post.php等是不合规范的,一定要在前面加上"/"企通互联
北京网站设计
首页URL问题北京网站设计
北京网站设计
后台基本设置->首页文件名如果不设置,会默认为index.php。所以站内到首页的链接为形式为http://domain/index.php。而我们一般引用论坛首页或交换链接的形式一般是http://domain/。实际是一样的,但SE可认为是两个URL,而且一个拥有很多的内部链接,一个拥有较多的外部链接,所以哪个被降级都不是好事情,最好统一起来。这里的修改目标是http://domain/的形式。网页设计 北京网站设计
网页设计
1.进入后台,基本设置 网站制作->首面文件名 设置为: /北京网站设计
2.修改文件 member.php 将 header("Location: {$boardurl}".$indexname); 替换为北京网站制作
if( $indexname=='/'){网页设计
header("Location: {$boardurl}");网页设计
}else{网站设计
header("Location: {$boardurl}".$indexname);北京网站设计
}企通互联
此修改处的功能是清除 企通互联cookies后返回到首页,如不修改域名后就有两个/。暂时未发现使用/当首页文件名的其它问题网站设计
北京网站建设
北京网站制作
结 束北京网站设计
北京网站设计
除了文件的修改,有些地方要配合后台设置,前面都提到了,这里总结一下。主要有:1.URL静态化,只启用普通页面静态化就可以了;2.不要启用Archiver功能;3.后台的keywords和description设置只是针对首页的(如果您没做列表页和内容页的meta修改则也应用到它们);4.后台首页文件名为/(当然您也可以设置自己特定的)网站建设
网站设计
Discuz的SEO到此就告一段落了。想想当初发现和解决这些问题还真花了不少力气呢,不过了解了discuz,了解了php,了解了seo,呵呵企通互联
网站制作
欢迎各位提出意见和问题。网站建设
网页设计
网页设计
网站设计
责任编辑:图王 QQ:470666