Merhaba arkadaşlar, PHP kullanarak web sitemizin google’da banlanıp banlanmadığını kontrol edeceğiz.
Bu işlemin mantığı google’a yapacağımız basit bi sorgu ile gerçekleşiyor, eğer sorgu sonucunda veri dönüyorsa banlı değil ama hiç sonuç çıkmıyorsa banlı şeklinde anlamlandırıyoruz.
Fazla uzatmadan kodları paylaşayım.
<?php
function checkBan($site) {
$google_url = "https://www.google.com/search?q=site:$site";
$user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $google_url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
if (strpos($output, "did not match any documents") !== false) {
return true; // ban yok
} else {
return false; // ban var
}
}
$websites = array("example.com", "example2.com", "example3.com");
foreach ($websites as $website) {
if (checkBan($website)) {
echo $website . " banlı değil.\n";
} else {
echo $website . " banlı.\n";
}
}
?>
Bu kod, belirtilen web sitelerinin Google arama sonuçlarında var olup olmadığını kontrol eder. checkBan() fonksiyonu, bir web sitesinin banlı olup olmadığını kontrol etmek için curl kullanır. Eğer web sitesi Google arama sonuçlarında yoksa, banlanmamış olduğunu varsayar ve true değerini döndürür. Aksi halde, banlı olduğunu varsayar ve false değerini döndürür.
Sonrasında, bir dizi web sitesini dolaşarak, her biri için checkBan() fonksiyonunu çağırıyoruz. Eğer bir web sitesi banlı değilse, echo $website . ” banlı değil.\n”; yazdırıyoruz. Aksi halde, echo $website . ” banlı.\n”; yazdırıyoruz.