lostyazilim
tr.link

PHP ile Googlebot takibi

8 Mesajlar 1.653 Okunma
acebozum
tr.link

ZenginAnil ZenginAnil WM Aracı Kullanıcı
  • Üyelik 09.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek SEO
  • Konum İstanbul Avrupa
  • Ad Soyad A** Z**
  • Mesajlar 932
  • Beğeniler 185 / 274
  • Ticaret 20, (%95)
PHP ile Googlebot takibi için aşağıdaki kodları kullanıyorum, ancak metin belgesine karmançorman şekilde basıyor verileri, alt alta sıralamıyor bunu nasıl yapabilirim?

if (eregi("Google", $_SERVER[HTTP_USER_AGENT])) {
$tarih = date("d/m/Y G:i:s");
$dosya = fopen ("bot.txt" , 'a') or die ("Dosya açılamadı!");
fputs ( $dosya , "$tarih - $_SERVER[REMOTE_ADDR] - $_SERVER[HTTP_USER_AGENT] - $_SERVER[REQUEST_URI]n" ) ;
fclose ($dosya);
}


bot.txt dosyasına alt alta dizmek istiyorum Googlebot ziyaretlerini, yardımlarınızı bekliyorum.
SENibrahim

kişi bu mesajı beğendi.

wmaraci
reklam

ASametYildirim ASametYildirim Saygı, Sevgi, Anlayış. Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Bilgisayar mühendisi öğrencisi
  • Konum Ankara
  • Ad Soyad S** Y**
  • Mesajlar 3826
  • Beğeniler 2399 / 1874
  • Ticaret 97, (%100)
Burayı
fputs ( $dosya , "$tarih - $_SERVER[REMOTE_ADDR] - $_SERVER[HTTP_USER_AGENT] - $_SERVER[REQUEST_URI]n" ) ;


Bu şekilde düzenler misiniz?

fputs ( $dosya , "$tarih - $_SERVER[REMOTE_ADDR] - $_SERVER[HTTP_USER_AGENT] - $_SERVER[REQUEST_URI]\n" ) ;
SENibrahim

kişi bu mesajı beğendi.

SENibrahim SENibrahim ibocum Kullanıcı
  • Üyelik 22.12.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum Aydın
  • Ad Soyad İ** Ş**
  • Mesajlar 4598
  • Beğeniler 1727 / 1541
  • Ticaret 15, (%100)
Merhabalar AnılZengin ;

Bana mesaj attın bende biraz araştırdıktan sonra kaynaklardan şu şekilde bilgiler buldum buyurun,

if (eregi("Google", $_SERVER[HTTP_USER_AGENT])) {
$tarih = date("d/m/Y G:i:s");
$dosya = fopen ("bilgisayar.txt" , 'a') or die ("Dosya açılamadı!");
fputs ( $dosya , "$tarih - $_SERVER[REMOTE_ADDR] - $_SERVER[HTTP_USER_AGENT] - $_SERVER[REQUEST_URI]n" ) ;
fclose ($dosya);
}

.Txt dosyasının içinde şu şekilde, şunlara benzer şekilde iletiler göreceksiniz her bot sitenize uğradığında:

12/10/2013 5:34:31: 66.249.72.193 – Mozilla/5.0 (compatible; Googlebot/2.1; +Webmaster Help Center) – /içerik1
12/10/2013 5:34:37: 66.249.72.193 – Mozilla/5.0 (compatible; Googlebot/2.1; +Webmaster Help Center) – /içerik2
12/10/2013 5:34:39: 66.249.72.193 – Mozilla/5.0 (compatible; Googlebot/2.1; +Webmaster Help Center) – /içerik3


Buna benzer bilgilendirmelerle, botların ziyaretleri hakkında bilgi alabilirsiniz. Tarih zaman olarak bilgilendirirken, botların yapısal bilgisi olarak da bilgilendirme yapan bir kod. Txt dosyası ve yarattığı ağırlık dışında herşey harika.

Bu botlar.txt’yi arada sırada silin veya yenileyin ki büyük hız düşüşleri yaratmasın

User Agent olarak belirleyen kod

Bir botu user agent ile bulmak için birçok nedeniniz olabilir; bunu artık sizin hayalgücünüze bırakıyoruz. Bunu yapabilmeniz için PHP kod kullanmanız gerekiyor, çok zor değil, kodun bileşenlerini parça parça açıklayacağız. HTTP_USER_AGENT alanındaki Googlebot dizgesinde görülebilir hale geliyor bu kod ile sitenizi ziyaret eden botlar.

>>>dökümanınızdaki body kısmına bu kodu yapıştırın

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), “googlebot”))
{

// what to do(ne yapmak istiyorsanız onu buraya yazın)

}


User agent imzaları ($_SERVER['HTTP_USER_AGENT']) $Bot’larla ilgili bilgilendirici diziler içeriyorsa bu büyük ihtimalle botların izini sürmeye başlamışız demektir.

HTML hale getirmek için de



if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), “googlebot”))

{?>

< h1 > HTMLyi buraya yerleştirin < / h1 >

Burayı daha önce nasıl dolduruyorsanız aynı şekilde doldurun

< ?php

}




Bu kodu parça parça açalım ve tüm parçaların ne işe yaradığını gösterelim:

if(condition){} – matematikteki fonksiyonlardaki gibi x ‘doğru’ ise y’yi yap şeklinde komudu şekillendiriyor.

Strtolover: php’de , kendisine geçirilen string’in karakterlerini küçülten bir fonksiyondur

$_SERVER başlıklar, içerikler ve kodların yerlerine dair bir bilgilendirme dizgisidir. Bu dizgilerdeki girdiler web sunucusu tarafından oluşturulur.

Strstr: c de string içerisinde geçen bir sub stringi bulmaya yarayan foksiyondur.

// slashlar ne yapacağınızı belirlediğiniz dizgeleri yazdığınız bölümlerdir. Örneğin // googlebot olarak gözüküyor, ama doğru mu ? gerçek bot mi yani?

Mail ile bilgilendiren kod

Bu da başka, daha gelişmiş bir kod, siteniz botlar tarafından ziyaret edildiğinde ve kayıt altına alındığında gelen kutunuza bir bilgilendirme maili atıyor. Zaman olarak ve gün olarak sizi bilgilendirdiği için, tam bilgiye ulaşabiliyorsunuz. Eğer bot birkaç defa, ya da ne kadar sıklıkla ziyaret ediyorsa, txt dosyasındaki verilerin üzerine yazıyor ve botların en son ziyaret bilgilerini, bu yüzden günlük kontrol etmekte fayda görüyoruz.

Bu versiyonda gün ve ayla ilgili size bilgi göndermiyor. Mailin geliş tarihinden bunları çıkartabilirsiniz.

< ?php

if ( strpos( $_SERVER['HTTP_USER_AGENT'], ‘Googlebot’ ) !== false )

{

// paste your email address here(e-mailinizi yapıştırın)

$my_email = ‘your_email_address@email.com(buraya e mail adresiniz gelecek)’;

// notify via email(email ile bildir)

mail($my_email,’[Notification]Googlebot Visit’, ‘Googlebot has just visited your website WEBSITE_NAME: ‘.$_SERVER['REQUEST_URI']);

}

?>


Tarih ve zaman ileten kod:

Bu sonuncusu daha, daha da gelişmiş bu tarih zaman olarak bilgilendirme de yapıyor. you@yourmail.com gördüğünüz yere kendi mailinizi yazın

< ?

if(eregi("googlebot",$HTTP_USER_AGENT))
{
if ($QUERY_STRING != "")
{$url = "http://".$SERVER_NAME.$PHP_SELF.'?'.$QUERY_STRING;}
else
{$url = "http://".$SERVER_NAME.$PHP_SELF;}
$today = date("F j, Y, g:i a");
mail("you@yourmail.com", "Googlebot detected on http://$SERVER_NAME", "$today - Google crawled $url");
}

Detaylı bot araması ve bilgilendirmesi yapan kod

Bu kodda botları sırasıyla işaretleyebileceğiniz bir kod. Kodun içinde ’’ /*You can add more bot here*/’’ kısmı göreceksiniz aynı şekilde buraya daha çok bot ismi ve çeşidi ekleyebilirsiniz.

< ?php

function botDetect()
{
$bots_list=array(
“Google”=>”Googlebot”,
“Yahoo”=>”Slurp”,
“Bing”=>”bingbot”
/*You can add more bot here*/
);
$regexp=’/’. implode(“|”, $bots_list).’/’;
$ua=$_SERVER['HTTP_USER_AGENT'];
if(preg_match($regexp, $ua,$matches))
{
$bot= array_search($matches[0], $bots_list);
return $bot;
}
else
{
return false;
}
}
?>


Bot listesi de verelim: “Teoma”, “alexa”, “froogle”, “Gigabot”, “inktomi”,
“looksmart”, “URL_Spider_SQL”, “Firefly”, “NationalDirectory”,
“Ask Jeeves”, “TECNOSEEK”, “InfoSeek”, “WebFindBot”, “girafabot”,
“crawler”, “www.galaxy.com”, “Googlebot”, “Scooter”, “Slurp”,
“msnbot”, “appie”, “FAST”, “WebBug”, “Spade”, “ZyBorg”, “rabaz”,
“Baiduspider”, “Feedfetcher-Google”, “TechnoratiSnoop”, “Rankivabot”,
“Mediapartners-Google”, “Sogou web spider”, “WebAlta Crawler”

İyi forumlar diliyorum.

Kaynaklar; Google Amca, airbrake.io, seocu
Not: Kodlardaki boşluklara dikkat edin ve tırnak işaretlerini kendiniz ekleyiniz :)
ZenginAnil MustafaTuran

kişi bu mesajı beğendi.

Herkez hata yapabilir, pardon herkes. | ibocum.com

ZenginAnil ZenginAnil WM Aracı Kullanıcı
  • Üyelik 09.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek SEO
  • Konum İstanbul Avrupa
  • Ad Soyad A** Z**
  • Mesajlar 932
  • Beğeniler 185 / 274
  • Ticaret 20, (%95)

ASametYildirim adlı üyeden alıntı

Burayı


Bu şekilde düzenler misiniz?



Teşekkürler, düzenlemeyi yaptım Googlebot ziyareti bekleyeceğiz artık :)
ASametYildirim SENibrahim

kişi bu mesajı beğendi.

wmaraci
wmaraci

SENibrahim SENibrahim ibocum Kullanıcı
  • Üyelik 22.12.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum Aydın
  • Ad Soyad İ** Ş**
  • Mesajlar 4598
  • Beğeniler 1727 / 1541
  • Ticaret 15, (%100)
AnılZengin Allah'ın izniyle gelir. :)

Artı olarak Google gibi getir veya sitenizi mobil analiz yapabilir misiniz? o şekilde daha hızlı gelecektir.
ZenginAnil ASametYildirim

kişi bu mesajı beğendi.

Herkez hata yapabilir, pardon herkes. | ibocum.com

SENibrahim SENibrahim ibocum Kullanıcı
  • Üyelik 22.12.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Öğrenci
  • Konum Aydın
  • Ad Soyad İ** Ş**
  • Mesajlar 4598
  • Beğeniler 1727 / 1541
  • Ticaret 15, (%100)

ASametYildirim adlı üyeden alıntı

Burayı


Bu şekilde düzenler misiniz?


Benden hızlı çıktın başkan :D
ASametYildirim

kişi bu mesajı beğendi.

Herkez hata yapabilir, pardon herkes. | ibocum.com

worldww worldww Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 21.04.2018
  • Yaş/Cinsiyet 25 / E
  • Meslek Öğrenci
  • Konum Sakarya
  • Ad Soyad B** Ö**
  • Mesajlar 2112
  • Beğeniler 626 / 737
  • Ticaret 4, (%100)
Dilerseniz şu şekilde yapabilirsiniz:

googlebot.txt dosyası oluşturun. googlebot.php dosyası oluşturun ve şu kodu ekleyin:

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
date_default_timezone_set('Europe/Istanbul');
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$gbottxt = fopen("googlebot.txt", "a") or die("googlebot.txt dosyasına erişilemedi!");
$txt = "Google Bot ziyarete geldi. (Sayfa: ".$url.") (Tarih: ".date("H:i - d/m/Y").") \n";
fwrite($gbottxt, $txt);
fclose($gbottxt);
echo "Google Bot!";
}
?>


Google Botu takip etmek istediğiniz sayfalara şu kodu ekleyin:

include("googlebot.php");


Artık Google Botunun girişleri googlebot.txt dosyasına yazdırılacak.
 

 

ZenginAnil ZenginAnil WM Aracı Kullanıcı
  • Üyelik 09.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek SEO
  • Konum İstanbul Avrupa
  • Ad Soyad A** Z**
  • Mesajlar 932
  • Beğeniler 185 / 274
  • Ticaret 20, (%95)
worldww Teşekkürler hocam, @ASametYildirim'in önerisi oldu, her şey yolunda şu anda :)
worldww

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al