Desteklenmeyen bir PHP site ile Firestats kullanmak

____________________________________________________________________

FireStats istatistik eklentisi WordPress, Joomla gibi birçok hazır CMS (Content Management System – İçerik Yönetim Sistemi) için hazır destekle gelir ve sadece sisteme yüklenmesi ve eklentinin etkinleştirilmesi yeterlidir. Ancak standart olarak bu şekilde desteği olmayan sistemlerde problem oluşabilmekte. Tabi bu FireStats ile sisteminizi kullanamazsınız demek değildir sadece standart PHP site ayarlarına göre birkaç ayar yapmalısınız.

FireStats’ı bu şekilde desteklenmeyen bir PHP yazılımı veya kendi yazdığınız kodla çalıştırmak isterseniz öncelikle FireStats yazılımını sitenizdeki bir klasöre yüklemeli ve sonra buraya giderek gerekli ayarlamaları yapmalısınız.

Normalde WordPress kurulumunda FireStats otomatik olarak bu ayarı yapar ama desteklenmeyen bir kodda bu ayarı kendiniz yaparsınız. Bu ayar basit bir ayardır. FireStats sayfasına gidip çalışması için gerekli kullanıcı ayarları vs. yaptıktan sonra “Sites Managemens” sekmesine gidin. Burada eğer siteniz vs. görünmüyorsa (Desteklenmiyorsa büyük ihtimalle görünmeyecektir) “Add a new site” bağlantısına tıklayıp, yeni site ekleme penceresini açın. Burada sitenin türünü, desteklenmiyorsa “Generic PHP site” seçeneğini seçip siteniz için bir isim girin ve ID olarak da otomatik veya istediğiniz bir değer girin. Daha sonra bu ayarlarınızı kaydedin.

Ayarlarınızı kaydettikten sonra yine Sites Management sekmesinde yeni kaydettiğiniz sitenin bilgilerinin yanındaki soru işaretine tıklayarak açılacak yeni pencereden gerekli kodu kopyalayıp başka bir yere yapıştırın. Bu kod aşağıdaki WordPress için olsa da buna benzer birşeydir:

<?php include(‘/home/siteveyahostadi/public_html/wp-content/plugins/firestats/php/db-hit.php’); fs_add_site_hit(); ?>

Daha sonra bu kodu PHP sitenizin <HEAD></HEAD> etiketleri arasına eklemeniz gereklidir. Kodu buraya ekledikten sonra koddaki fs_add_site_hit() metodundaki parantezlerin arasına sitenizin nosunu yani kurulum işleminde sitenize verilen ID değerini girin. Bu sayede yazılım hangi siteye ziyaretçi geldiğini anlayacaktır. Bundan böyle istatistikleriniz sayılmaya ve kaydedilmeye başlanacaktır. Artık istatistiklerinizi FireStats üzerinden kontrol edebilirsiniz.

Eğer veri tabanı kullanan bir siteniz varsa, yukarıdaki kod aşağıdakilere veya benzeri bir hataya sebep olacaktır:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user ‘kullniciadi’ in /home/hata_veren_dosya.php on line hatanın_oluştuğu_satır_sayısı.

Veya içinde şöyle yazan bir hata da olabilir:

A link to the server could not be established in xxx.

Bu hataların sebebi istatistikleri girmek için veri tabanını açan FireStats’ın yukarıdaki kod kullanıldığında işini bitirdikten sonra veri tabanı bağlantısını kapatmasıdır.

Bu hatayı engellemek için koda bir ekleme yapmamız gerek. Sitenizin sonuna eklediğiniz koddaki son  fs_add_site_hit() kısmındaki site numaranızın yanına kullanıcı numaranızı ve bağlantıyı kapatmaması için de bir false eklemelisiniz. Eğer özel bir kullanıcı eklemediyseniz kullanıcı numarası yerine “null” yazın. Kısaca yazmanız gereken kod şu:

fs_add_site_hit(1,null,false)

Bu kodda 1 site numarası, null kullanıcı numarası ama olmadığı için null ve false de veri tabanı bağlantısı ile ilgili kısım. Bu kodu doğru şekilde koyarsanız bir daha bir problem olmaması gerekli.

FireStats sürümünü 1.6 yaparsanız şöyle bir değişiklik yapmanız gerekli:

fs_add_site_hit(1,false)

Tabi 1.6 ile ilgilenmediğim için çalışır mı ne olur bilmem. 😀

Bu işlemlerden sonra FireStats yazılımı ile site istatistiklerinizi güncel bir şekilde takip edebilirsiniz. “Settings” sekmesinden “Compact old data” seçeneğini uygun ve ihtiyacınız olmayan bir dönem seçip “Compact” komutu ile veri tabanınızı biraz ufaltabilir ve performans sağlayabilirsiniz. En iyisi bu işlemi otomatiğe almak. Ayrıca “Hits processing method” seçeneğini de “Buffer Hits” seçerek performans sağlayabilirsiniz. Bu seçim ile sitenize gelen ziyaretçilerin istatistikleri hemen ana veri tabanı tablosuna girilmek yerine çok daha ufak bir geçici veri tablosuna alınır. Daha sonra da sistem müsaitse yavaş bir şekilde bu tablodaki istatistikler ana tabloya girilir ve geçici tablo boşaltılır. FireStats ana tablosunun boyutu 10 MB’tan daha büyük olabiliyor, bu durumlarda her ziyaretçi girdiğinde bu tabloyu diskten okuyup işleyip tekrar diske yazması yerine, bu küçük tampon sistemi ile ciddi bir performans sağlayabilir ve sunucunun işlemci kullanımını azaltabilirsiniz. FireStats veri tabanı açısından yoğun kullanan bir sistemdir ve bir barındırma şirketinin sunucusundan atılmama sebep olmuştu. Bu sebeple yukarıdaki ipuçlarına önem vermekte fayda var.