各种原因,需要禁止SE对discuz某个版面帖子的收录(如水版、或为了更好的SEO等)。当然如果设置了权限,不允许游浏览此版面,那么就肯定不能收录了。
当既想游客浏览帖子,又不想让搜索引擎收录时,就需要此方法。两年前就在点石发过了,不过点石反反复复,现在游客无权限浏览了,为了需要的人都能看到,所以再发一遍。
1.使用robots.txt文件,禁止版块列表的收录
Disallow: /forum-1-
#数字即为要禁止版块的ID。
#注意数字最后的 - 不要省略,否则连ID为11,12等1开头的版都禁了
2.加meta robots标签,禁止收录某个版块帖子
修改viewthread.php文件,在- $oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : 'D';
复制代码 上面加:- if( $thread['fid']==1 ){
- $seohead .= '<meta name="robots" content="noindex,nofollow" />';
- }
复制代码 判断一下帖子是属于哪个版($thread['fid'])的,给它加上meta robots禁止。
第一点虽然禁止版块收录了,但有可能从动态形式或其它地方访问到帖子链接,所以还要用第二点给帖子页加上meta。这两点中的版块ID和要您禁止的版块对应,如果有多个版块,第一点中添加行就行了,第二点要修改断语句中中的逻辑表达式。
更多样式:- Disallow: /forum-1-
- Disallow: /forum-17-
- Disallow: /forum-22-
复制代码- if( $thread['fid']==1 || $thread['fid']==17 || $thread['fid']==22){
- $seohead .= '<meta name="robots" content="noindex,nofollow" />';
- }
复制代码- //seo
- if( in_array($thread['fid'],array(21,32,22,23,8)) ){
- $seohead .= '<meta name="robots" content="noindex,nofollow" />';
- }
复制代码 |
上一篇: discuz title,meta 标签优化 For Discuz 7.x下一篇: meta robots标签,禁止无效页面的收录 For Discuz 7.x
|