记录成长
分享快乐

纯代码实现WordPress自动提交404死链

文章前面先附上百度对网站死链的解释以方便新手站长理解:

页面已经无效,无法对用户提供任何有价值信息的页面就是死链接,包括协议死链和内容死链两种形式:
1)协议死链:页面的TCP协议状态/HTTP协议状态明确表示的死链,常见的如404、403、503状态等。
2)内容死链:服务器返回状态是正常的,但内容已经变更为不存在、已删除或需要权限等与原内容无关的信息页面。

简单来说网站的死链对我们的影响主要有两方面:1)蜘蛛抓取异常。2)访客体验下降。或许相比于一个喜欢折腾的新手站长来说,一个经验丰富的站长在网站建设过程中产生的死链会少很多,但是这并不是说这样一个网站就没有死链。对于任何一个网站来说,网站死链都是不可避免的。不过不用担心,譬如百度站长平台、360站长平台、Google网站管理员、Bing网站管理员之类的网站管理工具都支持网站死链的提交,我们只需要将网站的死链找出来然后提交到这些平台就可以了。

如果要一条条的去筛选网站死链显然是不可能的,建站前期还好说,建站后期网站这么多链接一条条去筛选不累死才怪。这里给大家提供一段自动记录死链的代码方便大家获取网站死链。代码是从泪雪博客上看到的,主要是利用PHP来实现对网站404页面的死链进行输出,实现全自动记录。然后再利用死链提交的抓取周期,从而全面的实现全自动死链提交。

<?php
//WordPress实现自动记录死链地址(防重复)
if(is_404 && strpos($_SERVER['HTTP_USER_AGENT'],'Baiduspider') !== false){
	$file = @file("badlink.txt");//badlink.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("badlink.txt","a");//badlink.txt就是在网站根目录的记录死链的文件
		flock	($fp, LOCK_EX) ;
		fwrite	($fp, home_url($_SERVER['REQUEST_URI'])."\n");
		flock	($fp, LOCK_UN);
		fclose	($fp);
	}
}
?>

代码使用方法简单,我们只需要将上述代码放到WordPress主题目录下的404.php文件(注意是404.php而不是function.php!!!)中,然后在网站根目录下新建一个badlink.txt的文件即可。配置完成后不要着急,等百度蜘蛛爬行你网站的时候才会在badlink.txt文件中记录下你的网站死链。

配置完上述内容后,我们只是通过代码自动获取了网站的死链,要想彻底删除死链我们还需要将死链文件提交到站长管理平台,这里以百度站长平台为例给大家说一下如何提交死链文件链接。

登录百度站长平台,点击“死链提交”然后按照上述步骤填写必要的信息点击提交即可。死链提交的文件格式为txt或xml,我们这里的badlink.txt文件是完全符合要求的,但是需要注意提交的文件最多包含50000个网址且需小于10MB才有效。

赞(0) 我要打赏
蝈蝈提醒:转载请注明出处哦>>>蝈蝈要安静 » 纯代码实现WordPress自动提交404死链
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #2

    好,正需要呢。

    无梦博客   | Linux | Chrome 53.0.2785.146 | 4个月前 (03-17)回复
  2. #1

    好,绝对给力,支持

    跨境电商平台   | Windows NT | Firefox 50.0 | 9个月前 (10-31)回复

蝈蝈要安静——一个不学无术的伪程序员!

联系我们给我留言

博客文章有用,赏博主一包辣条~~~

支付宝扫一扫打赏

微信扫一扫打赏