panjinyou 发表于 2022-9-16 12:26:48

discuz列表页调用帖子_解决Discuz帖子伪静态URL因列表分页发生改变问题

Discuz伪静态URL

Discuz!有一个对搜索引擎非常不友好的默认设置,

默认的帖子页面伪静态规则是:

thread-{tid}-{page}-{prevpage}.html

即规则为:

thread-{帖子ID}-{帖子翻页ID}-{当前帖子所在的列表页ID}.html

问题就出在“当前帖子所在的列表页ID”这里,因为在论坛板块中,当一个帖子是最新发表或最新回复的时候,“当前帖子所在的列表页”是

第一页,url中的数字是 “1”。当这个帖子很久没人回复沉下去的时候,“当前帖子所在的列表页”就不知道是几了,可能出现在第二页,

也可能在第十页。这样,每个帖子的url经常在变化。会产生很多的重复页面,而且url经常变化,被收录当前帖子积累的权重会因为不显示在论坛页面而减少甚至丢失。

同一个帖子URL,随着帖子所在页面的不同,会出现不同的URL:

例如:帖子的路径 https://www.go569.com/thread-21-1-1.html

当这个帖子在列表第一页的时候:路径是 https://www.go569.com/thread-21-1-1.html

当这个帖子在列表第二页的时候:路径是 https://www.go569.com/thread-21-1-2.html

当这个帖子在列表第三页的时候:路径是 https://www.go569.com/thread-21-1-3.html

当这个帖子在列表第四页的时候:路径是 https://www.go569.com/thread-21-1-4.html

虽然被收录的依然能打开,但在SEO中很忌讳这种权重分散,很多大型论坛度存在这种问题。

解决办法:

其实这个很解决,将默认规则修改一下就能解决:

默认的帖子页面伪静态规则是:

thread-{tid}-{page}-{prevpage}.html

即规则为:

thread-{帖子ID}-{帖子翻页ID}-{当前帖子所在的列表页ID}.html

修改后帖子页面伪静态规则:

thread-{tid}-{page}-{page}.html

即规则为:

thread-{帖子ID}-{帖子翻页ID}-{帖子翻页ID}.html

这样更改的好处就是不管怎么分页都保持固定的一个url显示在论坛主题列表中。

注:以前因列表分页产生的url依然可以打开,但没在页面显示,相当于没在论坛中推荐,这样分散的权重相对较少,目前这是最显著的解决办法。


页: [1]
查看完整版本: discuz列表页调用帖子_解决Discuz帖子伪静态URL因列表分页发生改变问题