Google Analytics Verisinin SEO Başarısını Ölçmek için R ile Görselleştirilmesi
SEO başarısını ve SEO ile alakalı bilgileri veri üzerinden elde etmek her geçen gün daha da önemli hale geliyor. Google Analytics (buradan sonra GA) her ne kadar bilgi edinebileceğimiz grafikler sağlıyor olsa da, Veri Analistleri SEO başarısına dair daha detaylı bilgiler elde edebilmek için farklı kaynaklar da kullanıyorlar.
Bunun bir diğer nedeni ise, GA görsellerinin aslında detaylı bilgiler vermiyor olması. GA içerisinde daha kapsamlı grafikler elde etmek de mümkün, fakat bu grafikleri GA dışına aktarmanız söz konusu değil. Bu gibi durumlarda R’ın ücretsiz olarak kullanılabilen görselleştirme paketlerini kullanabiliriz.
Bu yazımızda "Google Analytics Verisinin SEO Başarısını Ölçmek Üzere R ile Görselleştirilmesi (ggplot ve plotly paketleri)" konusuna değineceğiz.
Yeni Başlayanlar için R ve GA Verisi
ggplot plotly paketlerini kullanmaya başlamadan önce R kullanmaya başlamak ve GA verisine API aracılığıyla erişmek için bu içeriği kullanabilirsiniz. Eğer bir Analytics hesabınız yoksa endişelenmeyin, bu içerikle Google tarafından sağlanan demo hesaba erişim sağlayabilirsiniz. Verileri incelemeye başlamak için bir web sitesine de ihtiyacınız yok. Eğer bir web siteniz varsa dahi, onun verisini kullanmak yerine GA demo hesabını kullanmak isteyebilirsiniz, çünkü herhangi bir analizde anlamlı sonuçlara ulaşabilmek için çok sayıda veri gerekir. Bu iki link sayesinde R paketleriyle ve Google Analytics’den aldığınız verilerle kendi analizlerinizi yapmanız mümkün hale geliyor.
İlk ggplot Grafiğimiz
Arama motorları sıralamalarında genel bir yükselme olup olmadığını anlamanın en iyi yolu organik arama trafiğine bakmaktır. Ben doğrudan Google’ın Dimension & Metric Explorer API servisi üzerinden bulduğum organicSearches metriğini kullandım. Bu metrik GA içerisinde Organik Trafik kaynaklarına göre Session değerlerinden bir miktar farklı ölçümler veriyor.
Fakat bu yazının amacı gereği bu metriği kullanmamızda herhangi bir sorun bulunmamakta. Bu içerik için kullanılan web sitesinin içerik bazlı bir web sitesi olduğunu da ekleyelim. Burada öncelikle ggplot paketini kullanarak R’da basit bir grafik oluşturalım. Aşağıda grafiğin çiziminde kullanılan kodları görüyorsunuz:
g <- ggplot(ga_data, aes(date, organicSearches)) + geom_point() g
Grafiği biraz daha çekici hale getirmek için; • Y eksenini 100,000’e bölerek düzenleyebilir. • Grafiğe bir başlık ekleyebilir ve onu merkeze alabilir. • Kalabalık olarak görüntülenen bölgelere bir miktar blur ekleyebilir ve • Noktaların renklerini değiştirebiliriz. İçerik sitemizin organik trafiğinin grafiğini tekrar çizdirecek olursak:
g <- ggplot(ga_data, aes(date, organicSearches / 100000)) + geom_point(color = "midnightblue", alpha = 0.5) + ggtitle("Organic Search Increase from 2014 to 2017") +labs(x = "Date")+labs(y = "Sessions Multiple with 100.000") + theme(plot.title = element_text(size = 15, face = "bold", hjust = 0.5,family="Arial"),axis.title.x = element_text(family = "Arial", color="forestgreen", vjust=-0.35),axis.title.y = element_text(family = "Arial",color="forestgreen" , vjust=0.35)) g
Atacağımız bir sonraki adım yıllık SEO başarısını incelemek olacak. Burada İçerik-Bazlı web sitemizin yıllara göre performansının değişimini görmek istiyoruz. Burada plotly paketini kullanacağız.
Yıl Yıl SEO Performansı
Öncelikle veri setimizin ilk beş satırına göz gezdirelim.
> head(ga_data) date organicSearches 1 2013-06-18 9523 2 2013-06-19 9368 3 2013-06-20 8615 4 2013-06-21 8803 5 2013-06-22 7876 6 2013-06-23 6662
burada tarih değerlerine karşılık organik trafik değerlerine sahip olduğumuzu görüyorsunuz. Şimdi Organic Searches metriğimizin toplamlarını yıl bazında gruplayalım. Bunun için Hadley Wickham’ın oluşturduğu lubridate fonksiyonunu kullanabiliriz.
> library(lubridate)
lubridate fonksiyonu ile tarihlerimiz içerisinden sadece yıl bölümünü alabiliyoruz. Aşağıdaki kodla bunu yapabilmek mümkün;
> sum(ga_data[year(ga_data$date) == 2014,]$organicSearches)
Organic Searches metriğinin 2014 ve sonrası için yıllara göre toplamlarını alabiliriz.
years <- c("2014", "2015", "2016","2017") counts <- c(sum(ga_data[year(ga_data$date) == 2014,]$organicSearches), sum(ga_data[year(ga_data$date) == 2015,]$organicSearches), sum(ga_data[year(ga_data$date) == 2016,]$organicSearches), sum(ga_data[year(ga_data$date) == 2017,]$organicSearches)) growth <- data.frame(years,counts) > growth years counts 1 2014 22510804 2 2015 83490723 3 2016 106399551 4 2017 75052130
Burada yıllara karşılık toplam sayımları içeren bir data frame oluşturduk. Verimizi plotly ile görselleştirecek olursak;
library(plotly) p <- plot_ly(growth, x = ~years, y = ~counts, type = 'bar', name = 'Sessions') p
ggplot’un aksine plotly temel grafiği oluşturduktan sonra herhangi bir ek düzenlemeye ihtiyaç duymuyor. Y eksenini otomatik olarak milyon kat olarak ayarlarken, aynı zamanda da interaktif bir deneyim sağlıyor. Burada içerik sitemizin 2015 yılında 2014’e göre yaklaşık %400 büyüme sağladığını görüyoruz. Büyüme 20M tıklanma ile 2016’da devam ederken, 2017 Ağustos itibariyle büyümenin 2017 yılı için 125M ile devam etme eğiliminde olduğunu görüyoruz. Önceki yıla göre 20M fazla (yoksa daha da mı fazla?)
Aylık Organik Trafik
Bu noktada aylık trafiğin değişimini de merak edebiliriz. Buradaki soru yıllara göre veride herhangi bir dönemsellik görülüp görülemeyeceği olabilir. Buradan 2017’nin eksik kısmı hakkında bir yorumda bulunabilir miyiz? Ayrıca sitenin aylık bazdaki büyümesini de buradan görmek mümkün olacaktır. Veriyi aylık olarak gruplandırabilmek için R içerisinde biraz kod yazabiliyor olmanız gerekiyor. Aylık toplamları her bir yıl için ayrı ayrı olmak üzere lubridate fonksiyonunu kullanarak alabilirsiniz.
> month(ga_data$date)
satırı söz konusu tarihin hangi ayda olduğunu verir. Aylık trafik verisini görselleştirdikten sonra ise:
Burada aylık veride ilk bakışta herhangi bir dönemsellik görünmüyor. Bunun nedeni büyük ihtimalle sitenin 2014 ve 2015 arasında hızlı bir büyüme sağlamış olması. 2016 ve 2017’de artış ve azalışlar olmasına karşın dönemselliğe ilişkin bir fikre sahip olmak bu grafikten mümkün değil gibi görünüyor. 2017’nin eksik kısmı için ise belki Ağustos’ta önceki aylara göre bir artış olacağını söyleyebiliriz. (Bunu önceki yıllardaki değişimlerin doğası gereği öneriyoruz – bu basit bir öneri, bir analiz sonucunda erişilen bir sonuç değil.) Önümüzdeki aylarda ise 10M hattına gelecekmiş gibi görünüyor. Son olarak sitenin her ay büyüme sağladığı ve organik taraftaki bu büyümenin 2017’de de devam ettiğini söyleyebiliriz. Google Analytics içerisinde aylık organik Session sayılarının değişimini görmek mümkün. Aylık bazda iki yılı birbirleriyle kıyaslayabiliyorsunuz. Fakat burada oluşturduğumuz grafikler ile elde ettiğimiz kadar fazla sonuca ulaşamıyoruz. Bu nedenle GA verisinin R Studio gibi araçlarla dışarı alınıp ggplot ve plotly paketleriyle görselleştirilmesi elde edebileceğimiz bilgilerin sınırını genişletiyor. Siz bu konuda ne tip çalışmalar yapıyorsunuz? Yorum alanından bizimle görüşlerinizi ve önerilerinizi mutlaka paylaşın!