PHP ile Botlara (Arama motorlarına) özel içerik oluşturmak

Bir sitenin ziyaretçisi arama motoru yani bir bot olduğunda bota özel içerik oluşturmak isteyebilirsiniz. Bunları basit bir kaç satır kodla ayırt etmek mümkün. Arama motorlarına (botlara) özel içerik oluşturmak bazen SEO açısından gerekli olabilir. PHP ile Regular Expression kullanarak botlara özel içerik göstereceğiz.

Arama motorları sitenizi ziyaret ettiğinde kimliğini gizlemezler. Bu yüzden önce ziyaretçinin kimliğini tespit etmemiz gerek. PHP ile bunu yapmak oldukça basit. PHP otomatik olarak $_SERVER dizi değişkeninde ziyaretçinin her sayfaya özel kimlik, ip , istek yaptığı adresler v.b. gibi önemli bilgiler içerir. Bizim burada tek ilgileneceğimiz kimliği olduğu için sadece $_SERVER['HTTP_USER_AGENT'] değeri ziyaretçinin bot olup olmadığını anlamamız için yeterli.

Kodumuzda bunun için ziyaretçinin arama motoru / bot olup olmadığını anlamamıza yaracak ve 'true' ya da 'false' döndürecek basit bir fonksiyon yazacağız. Daha sonra bu fonksiyonu kullanarak içerik göstermeyi özelleştireceğiz. PHP kodumuz :

<?php
function isBot()
{
    // arama motorların isimlerini string olarak tutuyoruz    
    $botAgents ="/google|hakia|msn|yahoo|altavista|crawler|findlinks|bing|Cuil|Excite|Go.com|HotBot|AllTheWeb|search.aol|Lycos|Alexa|ask|baidu|cuil|kosmix|sogou|yodao|yandex|infoseek|yebol|aol/i";
    // sunucu değişkenlerinden 'HTTP_USER_AGENT' ile 
    // istemcinin kimliğini alıyoruz.
    $agent  = $_SERVER['HTTP_USER_AGENT'];
    
    // Regular Expression kullanarak match ediyoruz
    if ( preg_match($botAgents,$agent))
        return true;
    else
        return  false;
}

if ( isBot() )
{
    // Bot olduğunda görüntülenecek içeriği buraya yazıyoruz.
}
else
{
    // Bot olmadığında (organik ise) görüntülenecek içeriği buraya yazıyoruz.
}
?>
Popüler arama motorların isimlerine buradan bakabilirsiniz.

Yararlandığım kaynak : Uzmanlar İçin PHP (by Mehmet Şamlı)
yazan Zülküf Küçüközer tarih   16th April 2010
primary key words  Bot | Özel içerik | Php | Arama motorları okunma  502
secondary key words  Kimlik | Ziyaretçi
Bu yazı hakkında yorum yapılmamış.

Etiketler

| Asp.net | Aynı-ip | Bing | Button | Class | Css | Div | Hareket | Hareketli | Http-headers | Jquery | Mysql | Php | Reverse-ip-lookup | Scan-host | Seo | Seo-optimizasyon | Singleton-patten | Stored-procedures | Style | Tasarım | Tasarım-şablonu | Toplu-insert | Toplu-veri-girişi | Veritabanı | Web-uygulaması | Yönlendirme |

arama

Loading

sosyal

RSS beslemesine abone ol FriendFeed sayfam Facebook sayfam

reklam