修改Discuz帖子/文章被删除后跳转至404页面,并返回404状态

我们知道discuz论坛,当一个帖子,或者文章被删除后,再次打开原本URL地址的话discuz程序会提示你该帖子/文章或者板块不存在。但是,你考虑过这个被删除的页面对于SEO的影响吗?

以千酷论坛的一个被删的板块(forum-48-1.html)为例:

通过站长工具查询这个页面的http返回状态码:

不知道大家发现没有,虽然这个板块被删除了,但是对于搜索引擎返回的状态码竟然还是200!也就是搜索引擎会把这个页面当作正常页面一样索引,但是这个页面却是没有内容的,这种类似现象应该叫做软404,也就是看似是一个404样式,却完全没有产生404的效果,起码没有返回状态码404。

其实这是discuz程序seo方面的一个盲区,我们需要做的是,将一个已经被删除的帖子或者文章给予搜索引擎返回码404,然后制作一个404页面,这样才是一个对于搜索引擎友好的设计。

解决方法

找到文件:source\module\forum\forum_viewthread.php

(如果是文章的话则是:source\module\portal\portal_view.php,以此类推)中的:

showmessage(‘thread_nonexistence’);
替换为:

header('HTTP/1.1 404 Not Found');header('status: 404 Not Found');include("404/index.html");exit();
其中“404/index.html”为自己设置的404页面的路径。最终优化效果:

一个已被删除的文章页面优化前:

优化后(www.qiankoo.com/article-15-1.html,已自动跳转至404页面):

如何修改插件被删除页面的404?请参考:“插件不存在或已关闭”如何设置返回404状态?

“过去酒逢知已千杯少,现在酒逢千杯知已少”。

修改Discuz帖子/文章被删除后跳转至404页面,并返回404状态

相关文章:

你感兴趣的文章:

标签云: