Parsi Coders

نسخه‌ی کامل: نحوه تشخیص خزنده ی گوگل (Googlebot) با PHP
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.

تا بحال فکر کرده اید که چگونه می توان خزنده های مختلف را از طریق برنامه نویسی تشخیص داد، در این مقاله سعی بر آن است تا خزنده ی Googlebot شرکت گوگل را شناسائی کنیم و در این مثال اگر خزنده گوگل نباشد متغیری را مقدار درست خواهیم داد که در واقع فرضا کار noindex ما را انجام دهد.

در کد زیر با استفاده از تابع gethostbyaddr می توانیم یک ip به تابع بدهیم و نام میزبان را دریافت کنیم.

با تابع gethostbyname هم می توانیم نام سایتی را به تابع بدهیم و Ip آن را دریافت کنیم.

با تابع stripos هم بررسی میکنیم که آیا googlebot در متغیر $name اتفاق افتاده است یا خیر؟
کد:
$do_noindex=0;



$ip= $_SERVER['REMOTE_ADDR'];

If (preg_match('/googlebot/i',$_SERVER['HTTP_USER_AGENT'])) {



   $name= gethostbyaddr($ip);

   $host= gethostbyname($name);

If ($host==$ip && stripos($name,'googlebot')!==false) {

   // valid Googlebot

   Echo '';

} else {

   // not actually Googlebot

   echo '';

   $do_noindex=1;

}

}

if ($do_noindex==1) {

   print "\n";

}


هیچ تفاوتی به یافتن خزنده ی گوگل با دیگر خرنده ها وجود ندارد فقط کافی است نام آن خزنده را بدانید برای مثال برای موتور بینگ نام خزنده، msnbot می باشد.