天天看点

实现蜘蛛捕捉的PHP代码

seo(search engine optimization),汉译为搜索引擎优化,为近年来较为流行的网络营销方式,主要目的是增加特定关键字的曝光率以增加网站的能见度,进而增加销售的机会。分为站外seo和站内seo两种。seo的主要工作是通过了解各类搜索引 擎如何抓取互联网页面、如何进行索引以及如何确定其对某一特定关键词的搜索结果排名等技术,来对网页进行相关的优化,使其提高搜索引擎排名,从而提高网站 访问量,最终提升网站的销售能力或宣传能力的技术。

很多做seo的, 经常会问为什么我的页面没有被收录,为什么我的快照还是上个星期的,怎么百度还不更新我的站点。这些都是刚入门问的问题。做seo的人都知道,知道搜索引 擎的规律很重要。你要知道蜘蛛是否来过你的站点,什么时候来 过,是哪家蜘蛛。这些都有利于你针对性的做优化。

很多服务器支持蜘蛛爬行日志,但是大部分站长都是虚拟机,有的空间并不支持记录蜘蛛爬行。这时候就需要我们编写代码来记录蜘蛛的活动规律。

在网上找了很多的代码都不能正确使用,或者功能不完善。

只要自己研究起来。总结出一下一套代码,百分百保证使用。

实现蜘蛛捕捉的PHP代码

<?php  

function get_naps_bot(){  

    $useragent = strtolower($_server['http_user_agent']);  

    if (strpos($useragent, 'googlebot') !== false){  

        return 'googlebot';  

    }  

    if (strpos($useragent, 'msnbot') !== false){  

        return 'msnbot';  

    if (strpos($useragent, 'slurp') !== false){  

        return 'yahoobot';  

    if (strpos($useragent, 'baiduspider') !== false){  

        return 'baiduspider';  

    if (strpos($useragent, 'sohu-search') !== false){  

        return 'sohubot';  

    if (strpos($useragent, 'lycos') !== false){  

        return 'lycos';  

    if (strpos($useragent, 'robozilla') !== false){  

        return 'robozilla';  

    return false;  

}  

function nowtime(){  

    $date=date('y-m-d.g:i:s');  

    return $date;  

$searchbot = get_naps_bot();  

if ($searchbot) {  

    $tlc_thispage = addslashes($_server['http_user_agent']);  

    $url=$_server['http_referer'];  

    $file='robotslogs.txt';  

    $time=nowtime();  

    $data=fopen($file,'a');  

    $pr='$_server[request_uri]';  

    fwrite($data,'time:$time robot:$searchbot url:$tlc_thispage\n page:$pr\r\n');  

    fclose($data);  

?>  

以上代码比网上流传的版本多了个记录搜索引擎请求页面记录,可以看到蜘蛛每次来爬取的是那个页面。更加利于分析蜘蛛对网站的权重以及对不同栏目和页 面的青睐。

seo最终的是从实际出发,用数据说话,而不是凭空想象。一切优化的基础都是数据,一切优化的目的也是为了得到数据。