PHP dilinde gelen ziyaretçinin arama motoru robotu mu (crawler) yoksa gerçek ziyaretçi (ya da arama motorlarına ait olmayan robot) olup olmadığını aşağıdaki fonksiyonu kullanarak öğrenebilirsiniz.
Fonksiyon $_SERVER['HTTP_USER_AGENT']
değerini kendi içerisinde tanımlı arama motorları ile karşılaştırmaktadır. Eğer user agent bir arama motorununki ile uyuşuyorsa fonksiyon geriye bu arama motorunun adını gönderir. Eğer hiçbir arama motoru ile uyuşmazsa boolean false gönderecektir. (is_boolean ile kontrol etmeyi unutmayınız!)
Unutulmamalıdır ki, bu fonksiyon tüm arama motorlarını bulamaz. Arama motorları her zaman user agent olarak kendi isimlerini göndermeyebilirler. Bu yüzden arama motorlarına başka, gerçek ziyaretçilere farklı içerik göstermek gibi bir çakallık yapmaya kalkarsanız yakalanabilirsiniz.
User agent isimleri değişebileceğinden bu fonksiyonu arada bir güncellemek gerekir. Belki daha başka çözümler de önerilebilir.
is_robot
/** * Sayfayı isteyenin robot mu insan mı olduğunu gönderir. * * @return boolean FALSE ya da string robot name */ function is_robot() { $agent=$_SERVER['HTTP_USER_AGENT']; $agent=str_replace(" ","",$agent); $key = null; /* format: "Bot Adı|UserAgent" (boşluksuz) */ $lines = array( "AboutUsBot|AboutUsBot/|", "AlestiFeedBot|AlestiFeedBot|", "Alexa|ia_archiver|", "AltaVista|Scooter-|", "AltaVista|Scooter/|", "AltaVista|Scooter_|", "AMZNKAssocBot|AMZNKAssocBot/|", "Ask.com/Teoma|AskJeeves/Teoma)|", "Ask Jeeves/Teoma|ask.com|", "AskJeeves|AskJeeves|", "Charlotte|Charlotte/|", "Xyleme|cosmos/0.|", "cURL|curl/|", "Die|die-kraehe.de|", "Diggit! Robot|Digger/|", "disco/Nutch|disco/Nutch|", "FastCrawler|FastCrawler|", "FDSE|(compatible;FDSErobot)|", "GetRight|GetRight|", "Googlebot|Googlebot/|", "Google|googlebot/|","Google Images|Googlebot-Image|", "Google AdSense|Mediapartners-Google|", "image.kapsi.net|image.kapsi.net/1.0|", "MSNBot|MSNBOT/0.1|", "MSN|msnbot|", "MSRBOT|MSRBOT|",); foreach($lines as $spider) { list($name,$key)=explode("|",$spider); if(strpos($agent,$key)===FALSE) { continue; } else { return $name; } } return false; }
Ziyaretçinin Arama Motoru Robotu Olup Olmadığını Anlamak 2 yorum aldı.
asp olarak bu kodu paylaşabilirmisiniz
Maalesef kodu ASP'ye çevirmem mümkün değil.
‘de, da’ eki nasıl yazılır?
Almanya’da nasıl ehliyet aldım?
Almanya’dan kalıcı oturuma izni (niederlassungserlaubnis) nasıl alınır?
Mac’te ekran görüntüsünün kaydedildiği konumu değiştirmek
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler