我们在用WordPress做站时,有的时候发布一篇文章,时间久了,可能文章内的内容失效了,自己就删除了,或者换了新的主题,页面啥的需要重新定义,但之前的页面或者文章被收录了,这样访问的人通过关键词打开之前删除的链接就会显示404状态码,这样访客体验极不好,既然知道了那就要用方法去解决。死链接是我们站长不愿意看到,但是却依旧存在的,别人输入错误的地址也可能会显示出来,那么有没有自动的程序实现这个方法呢?比自己去检查要好的多了。
使用以下代码添加到wordpress主题目录404.php文件里面,以下代码加到404页面首段代码 <?php:
$ua = $_SERVER['HTTP_USER_AGENT'];
//WordPress 实现自动记录死链地址(防重复)
if(is_404() && strpos($ua, 'Baiduspider')!== false
||strpos($ua, 'Sogou') !== false
||strpos($ua, 'YisouSpider') !== false
||strpos($ua, 'Bytespider') !== false
||strpos($ua, 'bingbot') !== false
||strpos($ua, '360Spider')!== false
||strpos($ua, 'Googlebot')!== false ){
$file = @file("deadlinks.txt");//deadlinks.txt
$check = true;
if(is_array($file) && !empty($file))
foreach($file as &$f){
if($f == home_url($_SERVER['REQUEST_URI'])."\n")
$check = false;
}
if($check){
$fp = fopen("deadlinks.txt","a");//deadlinks.txt 就是在网站根目录的记录死链的文件
flock ($fp, LOCK_EX) ;
fwrite ($fp, home_url($_SERVER['REQUEST_URI'])."\n");
flock ($fp, LOCK_UN);
fclose ($fp);
}
}
然后在站点根目录创建badlink.txt文件,注意:是站点根目录,不是主题根目录。
👋 感谢您的观看!
© 版权声明
THE END