Discuz教程网

discuz 禁止某个版帖子的收录 For 7.x

[复制链接]
authicon dly 发表于 2011-11-5 10:16:24 | 显示全部楼层 |阅读模式
各种原因,需要禁止SE对discuz某个版面帖子的收录(如水版、或为了更好的SEO等)。当然如果设置了权限,不允许游浏览此版面,那么就肯定不能收录了。

当既想游客浏览帖子,又不想让搜索引擎收录时,就需要此方法。两年前就在点石发过了,不过点石反反复复,现在游客无权限浏览了,为了需要的人都能看到,所以再发一遍。

1.使用robots.txt文件,禁止版块列表的收录
Disallow: /forum-1-
#数字即为要禁止版块的ID。
#注意数字最后的 - 不要省略,否则连ID为11,12等1开头的版都禁了

2.加meta robots标签,禁止收录某个版块帖子
修改viewthread.php文件,在
  1. $oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : 'D';
复制代码
上面加:
  1. if( $thread['fid']==1 ){
  2.     $seohead .= '<meta name="robots" content="noindex,nofollow" />';
  3. }
复制代码
判断一下帖子是属于哪个版($thread['fid'])的,给它加上meta robots禁止。

第一点虽然禁止版块收录了,但有可能从动态形式或其它地方访问到帖子链接,所以还要用第二点给帖子页加上meta。这两点中的版块ID和要您禁止的版块对应,如果有多个版块,第一点中添加行就行了,第二点要修改断语句中中的逻辑表达式。
更多样式:
  1. Disallow: /forum-1-
  2. Disallow: /forum-17-
  3. Disallow: /forum-22-
复制代码
  1. if( $thread['fid']==1 || $thread['fid']==17 || $thread['fid']==22){
  2.     $seohead .= '<meta name="robots" content="noindex,nofollow" />';
  3. }
复制代码
  1. //seo
  2. if( in_array($thread['fid'],array(21,32,22,23,8)) ){
  3.     $seohead .= '<meta name="robots" content="noindex,nofollow" />';
  4. }
复制代码



上一篇:discuz title,meta 标签优化 For Discuz 7.x
下一篇:meta robots标签,禁止无效页面的收录 For Discuz 7.x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 01:47

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表