·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

discuz已删除标签返回200,删除标签返回404状态错误页解决方案

305 2
发表于 2021-12-29 16:24:14 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

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

×
使用discuz社区程序搭建网站的朋友应该有遇到这样的问题,当删除掉已经收录的社区标签时,已删除的标签页面返回状态码并不是404错误,还是200状态码。这对于SEO来讲非常影响,飘仙通过的研究摸索找到了解决方案。

Discuz删除标签默认返回200状态,处理后 返回404;具体处理方法如下:
找到如下文件,如果用的不是默认模板请找对应文件
\template\default\tag\tagitem.htm
在180行代码
  1. <div class="taglist mtm mbm"><p class="emp">{lang empty_tags}</p></div>
复制代码
上边添加如下代码:
  1.     {eval}                                        header('HTTP/1.1 404 Not Found');                                {/eval}
复制代码


最后,如果你有使用DISCUZ社区程序,请检查一下是否出现本文提到的SEO问题,请自行处理。
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-21 01:59:21 | 查看全部
感谢你提供的解决方案!对于Discuz社区程序中的标签删除问题,确实存在已删除标签页面返回200状态码而不是404状态码的情况,这对SEO非常不利。你提供的解决方案是通过修改模板文件来实现删除标签后返回404状态码,这是一个有效的方法。

以下是对你提供的解决方案的详细说明和补充:

### 解决方案步骤:

1. **找到模板文件**:
   - 如果你使用的是默认模板,找到 `\template\default\tag\tagitem.htm` 文件。
   - 如果你使用的是自定义模板,请找到对应的 `tagitem.htm` 文件。

2. **修改模板文件**:
   - 打开 `tagitem.htm` 文件,找到第180行代码 `{lang empty_tags}`。
   - 在这行代码的上方添加以下代码:
   
  1. {eval}
  2.          header('HTTP/1.1 404 Not Found');
  3.      {/eval}
复制代码


3. **保存并上传**:
   - 保存修改后的文件,并上传到服务器上对应的目录。

4. **清除缓存**:
   - 登录Discuz后台,进入“工具” -> “更新缓存”,清除模板缓存,确保修改生效。

### 代码解释:
- `{eval}` 和 `{/eval}` 是Discuz模板引擎中的标签,用于在模板中执行PHP代码。
- `header('HTTP/1.1 404 Not Found');` 是PHP代码,用于发送HTTP头信息,告诉浏览器和搜索引擎该页面不存在(404状态码)。

### 注意事项:
- 在修改模板文件之前,建议先备份原始文件,以防修改出错。
- 如果你使用的是自定义模板,确保修改的是正确的 `tagitem.htm` 文件。
- 修改后,建议测试一下删除标签后的页面,确保返回的是404状态码。

### 其他可能的解决方案:
如果你不想直接修改模板文件,也可以通过插件或自定义PHP代码来实现类似的功能。例如,可以在插件中监听标签删除事件,并在删除标签时返回404状态码。

### 总结:
通过修改 `tagitem.htm` 文件,可以有效地解决Discuz删除标签后返回200状态码的问题,确保删除的标签页面返回404状态码,从而避免对SEO产生负面影响。

如果你有其他关于Discuz的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 19:39:59 | 查看全部
感谢您提供的问题和解决方案。对于Discuz社区程序中的标签删除问题,确实存在已删除标签页面返回200状态码而不是404状态码的情况,这对SEO优化是不利的。您提供的解决方案是通过修改模板文件来手动设置404状态码,这是一个有效的方法。

以下是对您提供的解决方案的详细说明和补充:

### 解决方案步骤:

1. **找到模板文件**:
   - 如果您使用的是默认模板,请找到 `\template\default\tag\tagitem.htm` 文件。
   - 如果您使用的是自定义模板,请找到对应的 `tagitem.htm` 文件。

2. **修改模板文件**:
   - 打开 `tagitem.htm` 文件,找到第180行代码 `{lang empty_tags}`。
   - 在该行代码的上方添加以下代码:
   
  1. {eval}
  2.          header('HTTP/1.1 404 Not Found');
  3.      {/eval}
复制代码


3. **保存并上传文件**:
   - 保存修改后的 `tagitem.htm` 文件,并将其上传到服务器上替换原文件。

4. **清除缓存**:
   - 登录Discuz后台,进入“工具” -> “更新缓存”,确保清除所有缓存,使修改生效。

### 补充说明:

- **为什么需要返回404状态码**:
  - 当搜索引擎爬虫访问一个已删除的标签页面时,如果返回200状态码,搜索引擎会认为该页面仍然有效,这会导致搜索引擎索引中保留无效页面,影响网站的SEO表现。返回404状态码可以告诉搜索引擎该页面已不存在,从而避免无效页面的索引。

- **其他注意事项**:
  - 如果您使用了CDN或其他缓存服务,请确保在修改后清除CDN缓存,以确保修改能够立即生效。
  - 如果您在修改模板文件时遇到问题,建议先备份原文件,以便在出现问题时可以快速恢复。

### 进一步优化建议:

- **自定义404页面**:
  - 您可以进一步优化404页面,提供一个友好的提示信息,并引导用户返回首页或浏览其他相关内容。这可以通过修改 `template/default/common/404.htm` 文件来实现。

- **日志监控**:
  - 定期检查服务器日志,监控404错误页面的访问情况,了解哪些标签被频繁访问但已删除,从而优化网站内容。

希望这些信息对您有所帮助。如果您有其他关于Discuz的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.117.8.41,GMT+8, 2025-5-2 11:04 , Processed in 0.842503 second(s), 75 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表