Üye Kayıt Üye Giriş

WebSitemize Gelen Trafiği Analiz Etmek


Web Sitemize Gelen Trafiği Analiz Etmek:

Bu makalemizde asp.net ile hazırladığımız bir web sitesine gelen trafiğin hangi IP den, hangi web sitesinden, arama motoru (google) üzerinden geldi ise hangi arama kelimesi ile geldiğini bulacağız.

Gelen Ziyaretçinin Ip bilgisi ve zaman etiketinin bulunması.

İlk olarak ziyaretçinin Ip bilgisini ve ziyaret zamanını alalım. IP adresini alabilmek için HttpContext.Current.Request.UserHostAddress özelliğini kullanabiliriz.

IPAdres = HttpContext.Current.Request.UserHostAddress;

 

Yukarıdaki kod sonucu benim makinamda 81.212.98.61 sonucu dönmekte. Ip adresini aldığımıza göre ziyaret zamanı bilgilerini alalım:

Ben veritabanında tarih ve saat bilgilerini ID olarak tutuyorum. Bu yüzden tarih ve saati ID olarak çeviriyorum.Örneğin 2011.01.10 tarihini ID yapısına çevirdiğim zaman 20110110 oluyor. Bu işlem için aşağıdaki kodu kullanaibilirsiniz.

int tarihID = 0;
int saatID = 0;
string hGunu = "";

tarihID = Convert.ToInt32(String.Format("{0}{1}{2}",
tarih.Year.ToString()
, (tarih.Month.ToString().Length == 1) ? ("0" + tarih.Month.ToString()) : (tarih.Month.ToString())
, (tarih.Day.ToString().Length == 1) ? ("0" + tarih.Day.ToString()) : (tarih.Day.ToString())));

saatID = Convert.ToInt32(String.Format("{0}{1}{2}",
(tarih.Hour.ToString().Length == 1) ? ("0" + tarih.Hour.ToString()) : (tarih.Hour.ToString())
, (tarih.Minute.ToString().Length == 1) ? ("0" + tarih.Minute.ToString()) : (tarih.Minute.ToString())
, (tarih.Second.ToString().Length == 1) ? ("0" + tarih.Second.ToString()) : (tarih.Second.ToString())));

hGunu = tarih.DayOfWeek.ToString();
if (hGunu == "Monday") hGunu = "Pazartesi";
else if (hGunu == "Tuesday") hGunu = "Salı";
else if (hGunu == "Wednesday") hGunu = "Çarşamba";
else if (hGunu == "Thursday") hGunu = "Perşembe";
else if (hGunu == "Friday") hGunu = "Cuma";
else if (hGunu == "Saturday") hGunu = "Cumartesi";
else if (hGunu == "Sunday") hGunu = "Pazar";
else hGunu = hGunu;

 

Tarih ve zaman bilgisinide aldığımıza göre google üzerinden gelen veya başka bir web sayfasından gelen ziyaretçiler için geldiği site hakkındaki bilgileri bulalım.

Sayfamıza başka bir web sitesi üzerinden gelen ziyaretçinin geldiği siteye ait link adresini Request.ServerVariables["HTTP_REFERER"] ile alabiliriz. Burada dikkat etmemiz gereken, ziyaretçi bizim sitemiz içerisindede sayfalar arası gezindiği zaman bunu ayrıştırıyor olabilmemiz gerekiyor.

string referralUrl = "";
string kaynaksite = "";
string aramaKelimesi = "";


if (Request.ServerVariables["HTTP_REFERER"] != null &&
    Request.ServerVariables["HTTP_REFERER"].Trim() != "")
{
   //burada önceki sayfanın adresini alıyoruz.
  referralUrl = Request.ServerVariables["HTTP_REFERER"].ToLower();

  //sayfanın adresini parse edip sitenin adını alıyoruz.
  int sIndex1 =   referralUrl.IndexOf("http://");
   int eIndex1 = referralUrl.IndexOf("/", sIndex1 + 8);
   kaynaksite = referralUrl.Substring(sIndex1, eIndex1 - sIndex1 + 1);

   //eğer kaynak site google ise bu sefer arama kelimesini bulabilmek için aşağıdaki gibi parse ediyoruz.
  if (kaynaksite.Contains(".google."))
   {
     //google üzerinden gelmiş.. googleda genelde arama kelimesi &q= ile başlar ve bir sonraki & işaretinde biter. Farklı alternatifler içinde kodu güncellemeniz gerekebilir.
     int sIndex = referralUrl.IndexOf("q=");
     int eIndex = referralUrl.IndexOf("&", sIndex + 1);
     aramaKelimesi = referralUrl.Substring(sIndex + 2, eIndex - sIndex - 2);
    //google arama kelimesinde bazı özel karakterleri ayrıca temizlemeniz gerekiyor. Örneğin %20 yazan yeri boşluk %2f yazan yeri / ile değiştirmeniz gerekiyor.
     //temizleme işini size bırakıyorum.
    }
}
Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER