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.
}
}

Yukarıdaki kodları kullanarak sitenize gelen trafiği analiz etmek için kendi projenizi geliştirmekte size kalıyor.

Reklamlar

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s