建站铺快速建站平台

 找回密码
 立即注册
查看: 9991|回复: 0

Discuz删除文章返回404状态错误页解决方案

[复制链接]

12

主题

16

帖子

124

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
124
发表于 2019-11-4 16:53:19 | 显示全部楼层 |阅读模式
使用discuz论坛程序搭建网站的朋友应该有遇到这样的问题,当删除掉已经收录的论坛帖子文章时,原来的页面返回状态码并不是404错误,还是200状态码。这对于SEO来讲非常影响,通过建站铺的研究及摸索找到了解决方案。
Discuz删除文章时返回404状态并跳转到错误页,如下图所示:

处理后:

原因解释
站长SEO们应该有发现,虽然这个板块被删除了,但是对于搜索引擎返回的状态码竟然还是200,也就是搜索引擎会把这个页面当作正常页面一样索引,但是这个页面却是没有内容的,这种类似现象应该叫做软404,也就是看似是一个404样式,却完全没有产生404的效果,起码没有返回状态码404。
其实这是discuz程序seo方面的一个盲区,我们需要做的是,将一个已经被删除的帖子或者文章给予搜索引擎返回码404,然后制作一个404页面,这样才是一个对于搜索引擎友好的设计。
解决办法
需要修改的程序路径,找到如下程序代码。
  1. source\module\forum\forum_viewthread.php
复制代码

如果是文章的话则是:
  1. source\module\portal\portal_view.php
复制代码
以此类推。
  1. showmessage('thread_nonexistence');
复制代码

win主机修改替换为这段代码:
  1. header('HTTP/1.1 404 Not Found');
  2. header('status: 404 Not Found');
  3. include('404.html');
  4. exit();
  5. }
复制代码
linux系统替换成下面这个代码
  1. header('HTTP/1.1 404 Not Found');
  2. header('status: 404 Not Found');
  3. include('404.html');
  4. exit();
复制代码

如图所示:

这里的
  1. “404/index.html”
复制代码

为自己设置的404页面的路径。
最后,如果你有使用DISCUZ论坛程序,请检查一下是否出现本文提到的SEO问题,请自行处理。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|建站铺 ( 湘ICP备14014869号-1 )

GMT+8, 2023-3-21 05:30 , Processed in 0.107773 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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