使用PHP检查反向链接
反向链接是搜索引擎优化的重要组成部分,对于查看您网站上流行的内容也很有用。如果您有要跟踪的已知反向链接列表,则可以手动进行操作,也可以获取脚本来为您执行此操作。
以下函数带有两个参数,第一个是远程URL,第二个是您要检查的URL。该功能的工作方式是对要检查的URL进行少量的初始格式化,然后一点点下载远程页面,并查看每个位是否包含链接。如果确实如此,则该函数将中断并返回true。如果链接不存在,则返回false。
function check_back_link($remote_url, $your_link) { $match_pattern = preg_quote(rtrim($your_link, "/"), "/"); $found = false; if($handle = @fopen($remote_url, "r")){ while(!feof($handle)){ $part = fread($handle, 1024); if(preg_match("/(.*)<\/a>/", $part)){ $found = true; break; } } fclose($handle); } return $found; }
这是正在使用的功能的示例。
if (check_back_link('http://www.google.com','http://www.hashbangcode.com')) { echo 'link found'; } else { echo 'link NOT found'; }; //不幸的是,这会打印“找不到链接”
为了充分利用此功能,最好使纯文本文件包含您认为具有的所有链接(每行一个),并file()在PHP中使用该功能将所有URL加载到数组中。然后,您可以遍历此数组,查看哪些站点具有指向您站点的链接,而哪些没有。
另外,如果您正在查看许多URL,那么您可能希望set_time_limit()在脚本顶部包含一个函数调用,其参数约为300。这样可以阻止脚本在30秒(默认)后超时,并且您的脚本可能要花更长的时间才能运行。