SEO için Log Analizini Kullanmak
Arama motoru botlarının sitenizi nasıl taradığını anlamak için sunucu log dosyalarını analiz etme yöntemleri.
Konuşmacılar: Yiğit Konur
İçerik yazarı
03 May 2017
Video Transkripti
⏱ 11 dk okuma• 1.952 kelimeKonuşma metnini inceleyin veya dil değiştirin
Video Transkripti
⏱ 11 dk okuma• 1.952 kelimeKonuşma metnini inceleyin veya dil değiştirin
Herkese merhabalar, Zeo takipçileri. Bugünkü videomuzda size birazcık daha teknik bir konudan bahsedeceğim; bugünkü konumuz log analizi. Biliyorsunuz, Google tarafında teknik SEO en önemli metriklerden birisi bizim için. Özellikle büyük ölçekli sitelerin bütün crawl bütçelerini, yani Google'ın sizin sitenizde gezmek için ayırdığı zamanı ve krediyi çok etkili bir şekilde değerlendirmeleri gerekiyor. Bunun için kullanabileceğimiz birkaç yöntem var; bunlardan ilki crawl analizi. Zaten bununla ilgili videolar çekiyoruz birçok kez. Ancak log analizi birazcık daha ileri seviye ve bizi zorlayabilecek bir analiz türü; ancak işin içine girdiğimizde o kadar da zor olmadığını göreceğiz.
Temelde şu şekilde çalışıyor: Aslında baktığınızda bir sunucu ve bir bilgisayar var, ikisi birbiri arasında iletişim kuruyor. Biz burada sunucunun içerisinde bilgisayarlardan, kullanıcılardan, istemcilerden gelen bütün istekleri, aslında SEO amaçlı olmasa da Apache içerisinde ya da Load Balancer içerisinde bunları loglamak, yani kayıt altına almak zorundayız. Bunu web hosting şirketiniz ya da IT müdürünüz mutlaka ve mutlaka biliyor ve problemleri gözlemleyebilmek için bu veriyi kullanıyorlar ağırlıklı olarak. Biz burada şöyle bir yol izleyeceğiz: Bu veriden SEO manasında nasıl bir çıkarım yapabiliriz, bunu anlamaya çalışacağız. Öncelikle bu verinin nasıl oluştuğunu anlamaya çalışalım. Burada tipik bir Apache log'u görüyorsunuz; yani web sunucunuzdan gelen loglardan sadece bir satır. İlki, sunucunun IP'si. Daha doğrusu size istek yapan client'ın IP'si, yani size bu isteği gönderen kişi hangi IP'ye sahip.
İlk olarak bunu görebiliyorsunuz. İkinci tarafta zaman damgası, yani timestamp var. Bu kişi veya herhangi bir şekilde Google botu ne zaman bu sayfa içerisine gelmiş, bunu net bir şekilde buradaki timestamp üzerinden görebiliyoruz. Hemen ardından gelen bölüm, GET. Yani bu nasıl bir istek? Bu bir veri isteği mi, yoksa bana bir veri mi gönderiyor? Genellikle zaten gördüğümüz %90 GET ve HEAD metotlarıdır. Burada bizim sitemizden bir veri istiyor, şurada gördüğünüz IP. Ve bu istediği veri, isteğin detayları, yani request'in URI'ında şunu görüyorum: videolar ve log analizi klasörlerinin içerisinden HTTP protokolüyle bir istekte bulunuyor.
Yani diyor ki, bana o sayfanın içerisindeki içeriği getirir misin diyor. Browser aracılığıyla bu isteği gönderiyor sunucuya. Hemen ardından sunucu buraya 200 diye dönmüş. Yani OK demiş, bende bu sayfa var, ben bu karşılığı buldum, sunucumda herhangi bir problem yok, sana OK yanıtı veriyorum demiş. Genellikle görmek istediğimiz şey 200 kodu oluyor burada. Hemen ardından da bu kullanıcı kimliğini doğrudan doğruya sunucuya belirtmek zorunda. Ama kimlikten kastım, net bir detaylı olarak bilgisayarınıza ait bir detay değil. Örneğin Google Chrome kullanıyorsanız, Google Chrome kullandığınıza dair bir user agent.
Veya bir cihaz kullanıyorsanız, mobil cihaz kullanıyorsanız, buna dair bir user agent'tan bahsediyorum. Burada görüyorsunuz, Mozilla 5.0 Compatible Googlebot 2.1 HTTP/google.com/bot/html adresini işaret eden bir user agent var. Bu şu anlama geliyor: Ben Google'ın örümceğiyim, şu IP'den geldim, senden şu sayfayı 200 olarak, GET olarak request ediyorum, sen de bana 200 cevabı vermişsin. Ve aslında gerçekleşen oturumun bütün detayları burada gördüğünüz log analizinde. Bunlar büyük siteler için milyonlarca sayfa uzunluğunda olabilir. Çünkü sitede yaptığınız her hareket bir satırlık log analizine işlemiş oluyor. Çok büyük web siteleri için, çok büyük e-ticaret siteleri için, milyonlarca trafiği bir araya getiren siteler için bunun ne kadar kalabalık bir log dosyası olduğunu tahmin edebilirsiniz.
Genellikle bu dosyaları aylık olarak işlemeyi biz tercih ediyoruz, SEO danışmanları olarak. Bununla beraber işte yüklenen byte'ların toplam sayısı, host'un adı ve istek gönderen IP'nin detayları ve ne kadar zaman içerisinde buna cevap verildiği gibi verileri de sunucunuzu konfigüre ederek bu log dosyasının içerisine dahil edebilmeniz mümkün. Bu verilerin tamamı nereden datayı sağladığınıza göre değişebiliyor. Burada iki tip genellikle data sağlayıcı var. İlki, sunucunuzdan doğrudan gelen data. İkincisi de load balancer. Yani bir sunucuya istek geldiğinde, arkasındaki birkaç sunucunun müsaitlik durumuna göre yönlendirme yapan bir cihazdan bahsediyoruz aslında.
Bu tamamen bir donanım olabilir ya da bir yazılımla yönetilen bir bilgisayar olabilir. Genellikle markalar ve büyük markalar size load balancer'ın loglarını vermeyi tercih edebiliyorlar. Bu durumda sizin bu logları alıp burada kullanacağımız araçlara uygun bir hale çevirebilmeniz gerekiyor. Bununla ilgili BuildVisible'ın Log Analysis adlı inanılmaz bir rehberi var. Google'ı aradığınızda zaten göreceksiniz. Size bu konuda çok net bilgiler veriyor. Excel ile bu veriyi nasıl manipüle edebilirsiniz diye. Tabii bazen bir milyonun üzerindeki request'lerde Excel'i kullanmanız da mümkün olmayabiliyor. Burada kullanacağımız beş temel metrik var. İlki, hata kodları. Google bot sunucuma geldiği zaman hangi request koduyla cevaplandı? Yani burada ben öncelikle bütün verilerimi Google bot üzerinden gelen veriler olarak değerlendirmek istedim ve şunu görüyorum: Google bot'a ben bazen 404 cevabı vermişim, bazen 500 hatası vermişim.
Bunlar ne anlama geliyor? 404 bildiğiniz üzere not found, bulunamadı. 500, sunucu hatasıyla alakalı genellikle kullandığımız bir örnek. Ve bunların tamamı aslında bizim için bu sunucu loglarının arkasında. Ve burada problemli sayfalarımızı tespit ederek çözüm planları üretebiliriz. İkincisi, botun toplam tarama alanı. Yani siz sayfanız içerisinde, siteniz içerisinde bir buçuk milyon sayfanız var. Ama Google bot gerçekten bunun bir buçuk milyonunu tarıyor mu? 150 bin, 200 binlik bir alanı tarıyor olabilir ve bu botun tarama alanını net olarak anlayabilmek sizin için çok büyük insight'lar getirebiliyor.
Yani gerçekten sizin için önemli olan alanı Google bot taramıyor olabilir. Bunu log analizini yaptıktan sonra çok daha net göreceksiniz. Üçüncüsü, botun tarama öncelikleri. Sizin için gerçekten önemli landing page'ler, güncellenen sayfalarınızda Google bot zaman geçiriyor mu? Bir haber sitesiyseniz, siz bir haberi girdikten sonra Google botun bu sayfaya gelme süresi ne zaman? Bu aradaki fark sizin için çok önemli. Çünkü acil gelişmeleri en son dakikada siz iletmek istiyor olabilirsiniz ve bu aradaki farklılık, bu aradaki gap sizin için en önemli metriklerden birisi olacak. Dolayısıyla botun tarama önceliklerini çok iyi bir şekilde anlayabilmeniz gerekiyor. Tabii buna sadece arkada gördüğünüz bu bir satır ve bunun milyonlarcasından gelen çıkarımı insan gözüyle yapabilmemiz mümkün değil. Bazı araçlar kullanacağız ve bunları bunun sayesinde sağlayabiliyoruz.
Dördüncü tarafta da crawl bütçesinin yanlış yorumlanması. Yani bizim aslında istemediğimiz sayfa gruplarına Google botun çok fazla zaman geçiriyor olması. Bir e-ticaret sitesi düşünelim. Filtreleriniz var, kategorileriniz var. Çok alakasız filtrelerinizde Google zaman geçiriyor, Google bot. Ve siz burada bu filtrelere Google'ın girmesini istemiyorsunuz. Ya da bir haber siteniz var, yazıcı için gösterme sayfanıza Google bot ziyaret gönderiyor ve bu yazıcı için gösterme sayfası ana haber sayfasıyla birebir aynı. Ve burada bir değer içeren içerik olmadığı için bunu kullanmak istemeyebilirsiniz. Dolayısıyla bu bölümü de çok iyi bir şekilde okuyabilmek gerekiyor. Ve son olarak, son crawl tarihleri. En önemli konulardan birisi. Siz bazı sayfanızın içeriklerini güncel tutmaya gayret ediyor olabilirsiniz ama Google bot buradaki güncelliği görmediği ve ziyaret etmediği sürece bu bir anlam ifade etmeyecek.
O yüzden burada son crawl tarihlerini de çok iyi bir şekilde koklayabilmeniz ve analiz edebilmeniz gerekiyor. Bununla alakalı olarak Brighton SEO'da Botify'ın şu andaki büyümeden sorumlu direktörü Mark Thomas'ın çok güzel bir sunumu vardı. Burada beş farklı soruya değinmişti Mark. Benim gerçekten çok hoşuma gitti soruların tamamı ve bunlardan bazılarını bu programa dahil etmek istedim. Öncelikle Mark şunu soruyor: "Benim tarama sıklığım nedir? Gerçekten bütün sayfalarımı taradıktan sonra hangi sayfa grubu üzerinde Google bot veya diğer arama motoru örümcekleri yoğunlaşıyor?" Bunları net bir şekilde tespit edebildikten sonra şunu görmeye başlıyorsunuz: Sizin belki de içerideki linkleme yapınızda gerçekten ciddi problemler var ve bu ciddi problemlere bağlı olarak da Google yanlış bölgeleri indeksliyor. Ve bu gerçekten büyük bir risk sizin için.
Özellikle büyük siteler için tarama sıklığını net olarak anlayabilmeniz gerekiyor. Google bot güncel sayfalarınıza ne sıklıkla geliyor? Bu cevaplamanız gereken en önemli sorulardan birisi. İkincisi, Google'ın taradığı sayfaların oranı. Yani Google sitenin %30'unu mu tarıyor, %70'ini gerçekten sık sık taramıyor mu? Aylık olarak bu verilere baktığınızda belki de sitenizin %70'ini Google üç ayda bir tekrar tarıyor. Bu hem link yapınızda hem de site dışı SEO'nuzda bazı temel problemler olduğunu size gösterebilir ya da sunucu tarafında bilmediğiniz bazı problemlere ışık tutabilir. Belki de temelde Google'ın site yapınızın tamamına ulaşmasına yönelik bazı engeller olabilir. Zaman zaman sunucunuz 404, zaman zaman 500 veriyor olabilir ve siz kendi yaptığınız standart rutin ziyaretlerde bunu fark etmiyor olabilirsiniz. Kendinize sürekli 200 döndüğü için.
Ama Google botun yaptığı sürekli request'ler, üst üste 100-200 sayfayı açmaya yönelik saniye başında yaptığı bu aksiyonlar sizin sunucunuzu yoruyor olabilir ve burada yaşadığınız hatalar Google'ın sitenin tamamını indekslemesine kesinlikle engel yaratan bir durum olabilir. Bununla beraber her web sitesi için hedeflediğiniz bazı anahtar kelimeler var ve bu anahtar kelimelere karşılık gelen landing page'ler var. Gerçekten sizin için önemli olan anahtar kelimeler içerisinde iyi bir listeleme yakalayabiliyor musunuz? Google bunları crawl ediyor mu? Bunları kesinlikle incelemeniz lazım. Bir VIP sayfa listeniz olursa bunların tarama alışkanlıklarını tek tek inceleyebilme şansınız aslında olabiliyor. Ve son olarak aslında user agent dediğimiz tarafta, yani kullanıcı kimliğiyle baktığımızda Google botun tarama sıklığıyla diğer arama motorlarının, örümceklerin tarama sıklıklarında bir farklılık var mı?
Sunucunuz belki Google botun isteklerine sürekli biçimde geldiği için farklı bir yanıt sağlıyor olabilir ve diğer arama motoru örümceklerindeki hareketleri anlayarak buraya daha net bir yanıt verebilme şansınız olabilir. Özellikle bu veriyi şu amaçla çok kullanıyorlar: Google bot verisine göre şu çıkarım yapılabiliyor. Benim bulunduğum sayfadan Google bot hangi sayfaları izleyerek ilerliyor? Yani Google botun ilerleme path'ini, ilerleme yolunu bu log analizine bakarak kolaylıkla çıkarabiliyorsunuz. Ve aslında bu ek bazı verileri de kullanarak, örneğin yüklenen byte'lar ve bu sayfanın yüklenmesinin ne kadar zaman aldığı verilerini de kullanarak bazı noktalarda yavaşlamalar, gerçekten Google botun size olan davranışlarını değiştirebiliyor mu?
Yani site performansıyla tarama arasında nasıl bir ilişki var gibi soruları yanıtlayabilmeniz çok da mümkün bir hale gelebiliyor. Tabii ki sadece şuradaki iki satır, yani aslında tek satırlık dosyaya bakarak bu konuda yorum yapabilmek bize zor geliyor olabilir. Evet, gerçekten insan olarak bunu gözlemleyebilmemiz çok zor. O yüzden bu konuda kullanabileceğiniz beş farklı araçtan bahsetmek istiyorum. Farklı site tiplerine göre ilerleyelim. Bir e-ticaret siteniz var, çok büyük ölçekte ve real-time log analizi yapmak istiyorsunuz. Bu durumda Logs.io'yu kullanabilirsiniz. Eş zamanlı olarak sizin loglarınızı çok net bir şekilde analiz ederek harika insight'lar veriyor. Birazcık pahalı bir araç ama kullanmanızı tavsiye edebilirim. Öte yandan Botify da aynı şekilde. Çıkardığınız logları Botify'a yüklüyorsunuz.
Eş zamanlı değil, yanılmıyorsam. Burada bu botun hareketlerinin, path'lerini çıkarabiliyor, problemleri çıkarabiliyor, performansla alakalı insight'lar verebiliyor. İnanılmaz bir araç ve mutlaka kullanmanız lazım. Öte yandan bazı şirketlerde, özellikle ülkemizdeki e-ticaret yasası gereği bu logları dışarıdaki sağlayıcılarla paylaşmak istemeyebiliyorlar. Bu konuda iki tane güzel alternatifimiz var. İlki OnCrawl. OnCrawl'un open source, yani açık kaynak kodlu bir log analiz aracı var. Eğer bunu kullanabilirseniz, çok net bir şekilde kendi sisteminize kurduğunuz yapıda nasıl bir log analizi yapabilirsiniz ve nasıl insight'lar çıkarabilirsinizin de en iyi cevabı OnCrawl'da alabilirsiniz.
Tamamen ücretsiz. Milyonlarca sayfayı analiz edebiliyorsunuz. Hakeza eğer alışkınsanız, Screaming Frog'un bu konuda yeni bir aracı var. Yanılmıyorsam 99 pound gibi senelik uygun bir ücreti var. Eğer bu aracı satın alırsanız, 10 milyonlar seviyesinde bazı takılmalar yaşayabiliyor ama milyon seviyesinde kolaylıkla log analizi yapabiliyor. Büyük sitelerin haftalık log analizlerini dahi Screaming Frog'da çıkarabilirsiniz. Çok güzel insight'lar veriyor. Sayfa düzeyinde hangi event'ler gerçekleşmiş, hangi botlar ve ziyaretçiler nereleri, ne sıklıkla ziyaret ediyor gibi farklı filtrelemeleri Screaming Frog üzerinden yapabilirsiniz. Son olarak da en geniş aşamada bir yıllık bir logu incelemek istiyorsanız, Splunk kullanabileceğiniz en mantıklı araçlardan birisi. Splunk, SEO için üretilmemiş, sunucu loglarına büyük resimden bakabilmek için üretilebilmiş bir araç. Enterprise bir çözüm.
Fiyatları da buna göre. Ama yanılmıyorsam ilk iki aylık ücreti free olarak kullanabiliyorsunuz, tüm datanızı anlayabilmek için. Bir yıllık verinizi çıkarıp mutlaka ve mutlaka Splunk'ta analiz etmenizi size tavsiye ediyorum. Tüm bunları yapıyorken tabii ki biraz da terminal bilginizin olması, verileri parçalayabilmeniz, bir grep kodu yazarak istediğiniz Google bot query'lerini dışarıya çıkarabilmeniz ya da Python'la ufak birkaç scraper verisiyle bütün veriden extract etmek istediğiniz, yani çıkarmak istediğiniz noktaları belirleyebildiğiniz kodlar yazabiliyor olmanız bu noktada sizi çok rahatlatacak. O yüzden belki bir yazılımcı vasıtasıyla ya da birazcık merakla bu süreci siz de kolaylıkla götürebilirsiniz. Teknik olarak bakıldığında zor göründüğünü biliyorum ama bir kere olsun verinizi yükleyip, özellikle Screaming Frog'un ücretsiz çözümü 1000 event'e kadar size izin verebiliyor.
Bir yüklediğinizde güzel güzel sonuçlar çıkarmaya başladığınızda sizin de bu süreçten fazlasıyla hoşlanacağınızı düşünüyorum. Şimdilik log analiziyle ilgili anlatmak istediklerim bunlar. Dinlediğiniz için teşekkür ederim. Bir sonraki videoda görüşmek üzere. Hoşça kalın.
Bu transkript, yapay zekâ destekli konuşma tanıma modeli ile oluşturulmuş ve dil kurallarına göre doğrulanmıştır.
