DedeCMS删除TAG标签后返回404状态码
DedeCMS删除或整理TAG标签,如果这个页面被索引(已有百度快照),访问时会显示如下,状态码返回的是200。如果多个页面都这样,意味着这些页面URL路径不同,但内容相同,不利于SEO优化,能不能让这个页面返回404状态码呢?
系统无此标签,可能已经移除! 你还可以尝试通过搜索程序去搜索这个关键字:前往搜索>> 如果你的浏览器没反应,请点击这里... |
找到/include/arc.taglist.class.php,找到
$msg = "系统无此标签,可能已经移除!<br /><br />你还可以尝试通过搜索程序去搜索这个关键字:<a href='$fullsearch'>前往搜索>></a>"; ShowMsg($msg,"-1");
ShowMsg($msg,"-1"); 修改为
header("HTTP/1.1 404 Not Found");
header("status: 404 Not Found");
ShowMsg($msg,"http://www.zuola.net/tags.php",5000); //橙色部分为跳转地址,根据实际需要修改
这样和404页面返回的状态码都是404,用站长工具查询状态码(http://tool.zuola.net/pagestatus/),但并不会转到404.html,也能让用户自由选择继续前往搜索或者跳转到指定的页面,上面的修改是让在5秒后页面跳转到http://www.zuola.net/tags.php,如果做了TAG伪静态修改的话,跳转地址写为
$GLOBALS['cfg_basehost']/tags.html
如下图所示
如果不是因为删除了TAG就显示“系统无此标签,可能已经移除...”,有可能是TAG标签不支持大小写或特殊符号,参考文章《DedeCMS快照收录提示系统无此TAG标签已移除》