自动化修复损坏的Web链接

时间:2014-05-06 05:42:56

标签: php node.js web seo

我遇到的问题是我的网页中的某些链接已损坏,除非有人报告,否则无法修复。我可以自动化,以便页面中的每个链接都被“ping”以检查它是否还活着或找到替代链接? 服务器端(php等)中是否有自动脚本来修复页面中的断开链接?

1 个答案:

答案 0 :(得分:2)

我会做的是......

解析您网页的HTML源代码,然后将<a>锚标记中的所有超链接抓取到一个数组中,然后对每个超链接执行file_get_contents()并检测响应标头,如果它们是NULL然后链接已关闭,否则链接已启动。

虽未经过测试但是语法正确

<?php

$html= file_get_contents('http://yourwebsite.com/index.html');
$dom = new DOMDocument;
$dom->loadHTML($html);

$links = array();
foreach ($dom->getElementsByTagName('a') as $tag) {
    $links[]=$tag->getAttribute('href');
}

foreach($links as $link)
{
 @file_get_contents($link);
 echo is_null((@$http_response_header)) ? "$link is Down" : "$link is Working";
}