Discuz教程网

[代码修改] 修改版块列表页,为帖子内容页生成唯一地址 For Discuz 7.x

[复制链接]
authicon dly 发表于 2011-11-5 10:12:45 | 显示全部楼层 |阅读模式
帖子页的URL形式有很多,我们可以通过修改viewthread.php和archive给内容页上canonical URL,都指向静态URL形式来集中权重。
但是,这个伪静态地址也不是唯一的:thread-{tid}-{page}-(forumpage).html, 由内容页URL组成可见最后一段数字是代表帖子在这个版块列表的第几页,当新帖子不断增加,老帖会被挤到第二页,第三页...这样它的URL就会不断地变化。

解决方法:修改forumdisplay.php
将$extra = rawurlencode("page=$page$forumdisplayadd");
改为$extra = rawurlencode("page=1$forumdisplayadd");
这样,最后一段固定为1,但有个缺点,用户从这个帖子只能返回列表页的第一页了。

上面的问题还是以观察收录结果是发现的,不过偶然看到7.0的global.func.php文件,发现对帖子页进行静态化地址替换的函数中
function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
    return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'
    .($prevpage && !IS_ROBOT ? $prevpage : 1).'.html"'.stripslashes($extra).'>'; }
也就是说,现在discuz会针对搜索引擎,把最后一段固定生成为1来解决这个问题。不知这个功能是什么时候加上的,但是观察收录结果,好像效果不怎么好,因为SE为防止作弊,有时会匿名访问,还是会把用户看到的URL收录。



上一篇:Discuz 之seo 慎用“个人资料页面(space.php)静态化”
下一篇:discuz title,meta 标签优化 For Discuz 7.x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 07:55

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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