WordPress自动提交404死链到站长平台代码(防重复)

我的博客最近重新改版上线了,我是清除了之前的所有内容,所以就存在了大量的死链,网站存在大量死链,将影响网站的站点评级,最近刚好在泪雪博客看到了他分享的WordPress实现自动提交404死链到站长平台的方法,觉得挺实用的分享给有需要的站长朋友。

百度站长平台有一个死链提交功能,可以提交的文件地址格式为txt或xml,每个地址文件最多包含50000个网址且需小于10MB。所以就以WordPress为例,利用 PHP 来实现对网站 404 页面的死链进行输出,实现全自动记录,然后在利用死链提交的抓取周期,从而全面的实现全自动死链提交。

  1. <?php
  2. //WordPress实现自动记录死链地址(防重复)
  3. if(is_404 && strpos($_SERVER['HTTP_USER_AGENT'],'Baiduspider') !== false){
  4.     $file = @file("badlink.txt");//badlink.txt
  5.     $check = true;
  6.     if(is_array($file) && !emptyempty($file))
  7.     foreach($file as &$f){
  8.         if($f == home_url($_SERVER['REQUEST_URI'])."\n")
  9.         $check = false;
  10.     }
  11.     if($check){
  12.         $fp =   fopen("badlink.txt","a");//badlink.txt就是在网站根目录的记录死链的文件
  13.         flock   ($fp, LOCK_EX) ;
  14.         fwrite  ($fp, home_url($_SERVER['REQUEST_URI'])."\n");
  15.         flock   ($fp, LOCK_UN);
  16.         fclose  ($fp);
  17.     }
  18. }
  19. ?>

需要注意的是,这个代码不是像我们经常所操作的加入到主题的 functions.php 文件,而是添加到 WordPress 主题中的 404.php 页面中,请一定不要问我为什么,因为 WordPress 的原理就是如此。

通过代码已经实现了死链记录,那么我们就还需要如上图在百度站长平台的死链提交“你的域名/badlink.txt”即可全部完成。

未经允许不得转载:便宜VPS网 » WordPress自动提交404死链到站长平台代码(防重复)