如何为drupal添加状态代码410以删除内容以改善SEO?

问题描述 投票:1回答:1

我们有一个基于drupal的工作板,每隔几天通过自动导入更新工作列表,并在此过程中删除一些工作。

谷歌搜索控制台显示页面索引页面的错误 - 因为URL返回404状态。

我认为解决方案应该是在已删除内容的URL上返回410代码。

有谁知道如何实现这一目标?

drupal seo http-status-code-404 http-status-code-410
1个回答
1
投票

最好的方法不是删除内容而只是取消发布内容,如果你的节点状态= 0你可以添加标题410否则你可以使用hook_boot来实现类似的东西,但它不是完美的方式:

function MYMODULENAME_boot(){
  if(preg_match('#^\/node\/[0-9]+$#', request_uri())) { 
        list(, $nid) = explode('/', trim(request_uri(),'/'));
        $registered = db_query('SELECT nid FROM node where nid = :nid', array(':nid' => $nid))->fetchField();
        if(empty($registered) || !is_numeric($registered)){
            drupal_add_http_header('Status', '410 Gone');
            exit;
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.