我们在用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文件,注意:是站点根目录,不是主题根目录。
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505