帖子页的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
|