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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为drupal添加状态代码410以删除内容以改善SEO?相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

最好的方法不是删除内容而只是取消发布内容,如果你的节点状态= 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;
        }
    }
}

以上是关于如何为drupal添加状态代码410以删除内容以改善SEO?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Drupal 使用 Wordpress 形式的编辑代码?

Drupal 6:如何为我的 Drupal 项目设置和使用 Mercurial

如何为状态数组中的每个项目添加 React JSX?

如何为自定义 Drupal 7 模块生成翻译文件?

如何为我自己的模板使用主题预处理器功能?

Drupal 视图:如何为两个视图放置一个包装器 div?