R ile Search Console API Kullanarak Verileri Çekmek, Görselleştirmek ve Yorumlamak
Merhaba sevgili ZEO takipçileri, bu yazımızda R Studio’nun aslında SEO’da hayatımızı nasıl kolaylaştırdığını ve Google Search Console’dan data çekerken nasıl yardımcı olacağı üzerine bilgiler aktaracağız. API ile veri çekmeye başlamadan önce R’ın kurulumu ve basit birkaç ayarını anlatmak istiyorum; çünkü bunları yapmadan, ne işe yaradıklarını anlamadan sadece kodlar pek işinize yaramayabilir.
Neden R?
- C ailesi ve Java gibi dillere nazaran daha yorumlanabilir bir dildir,
- İnteraktif bir şekilde ilerler (ilgili kod parçalarının çalıştırılması gibi),
- SPSS’in aksine kod yapısına müdahale edebilme şansı bulunmakla beraber tamamen ücretsizdir,
- Verinin işlenmesi ve istatistiksel olarak analiz sonuçlarını yorumlamada çok etkilidir.
SEO’da ise bunu anahtar kelimeleri toplamada ve daha fazla datayı çekip hem görselleştirme de hem de istatistiksel olarak yorumlama da kullanabiliriz. Google Search Console’a tarayıcı üzerinden girdiğinizde en fazla 1.000 satıra kadar veri çekebiliyorsunuz, API ile istediğiniz kadar data elinizde olmuş olacak.
Kurulum ve Genel Ayarlar
R Project’in indirme sayfasından ilgili programı indirin ve ardından alttaki R Studio’yu kurun.
R Project ile beraber R Studio programını da kurmalıyız;
Önce R Project’i kurmaya başlayın sürdür, sürdür yaparak. Ardından R Studio’yu kurun ve işlemlerini tamamlayın. Masaüstüne icon’un gelmiş olması gerekiyor.
Kurulum tamamlandı, şimdi de uygulamayı kendimize göre özelleştirelim mi? Ekrandaki adımları uygulayarak R’ın arayüzünü ( renkleri, fontları vs.) tamamen değiştirebilirsiniz.
Beyaz renk gözümü çok yorduğu için ben genelde siyah tonları kullanmayı tercih ediyorum. “Appearance” bölümüne gelip temayı ve diğer ayarlamaları yaparak Apply ile ayarlarınızı kaydedin.
Dashboard’ın sağ tarafındaki “Environment” bölümü ise bizim yazdığımız değişkenlerin veya nesnelerin tutulduğu bölüm. Buradan “Import Dataset” diyerek Excel veya text dosyalarını da ekleyebilirsiniz.
Kütüphaneler birbirinden farklı amaçlarla kullanılır, bu yüzden burası aslında en çok kullanılan kısımdır. Kütüphane isminin yanında bir tik işareti varsa ilgili kütüphane aktif hale gelmiş demektir.
“Install” butonuna tıklayarak yeni paketleri bilgisayarınıza indirip kurabilirsiniz. Bu kısım yüzlerce satırlık kod bloğu oluştuğunda bizi yoracağından, 2. bir yol olarak kod yazarak bu kütüphanelerimizi indirebiliyoruz. Kod yazımına başlar başlamaz zaten R size nasıl bir yapı kullanılacağını aynı Excel’deki gibi göstermekte.
install.packages("dplyr")
Ardından bu kütüphaneyi çağırmak için de aşağıdaki kodu ekliyoruz;
library(dplyr)
Bir çalışma sayfası eklemek için aşağıdaki görseldeki işlemi yapabilirsiniz. Çalışmalarımda R Markdown kullanıyorum, siz de bunu seçebilirsiniz. (opsiyonel)
Tüm yazılan kodları çalıştırmak için Alt enter veya CMD enter ile de çalıştırma işlemini kısa yolla çözebilirsiniz.
Markdown formatında kodlarımızı yazmak için “Chunk” diye tabir edilen ifadelerin girilmesi gerekiyor ve kodlarımızı bunların arasına yazıyoruz. Örnek bir kullanım aşağıda yer almakta.
Çalışma ortamınıza yeni bir chunk eklemek için ise aşağıdaki işlemi yapabilirsiniz.
Kodlarınızı da dışarıya aktarmak için aşağıdaki işlemleri yapabilirsiniz. Dışarıya aktarırken mutlaka kodlarınızın çalışıyor olması gerekiyor.
Eğer basit ve temiz kod yazarsanız, bu hem yazdığınız kodun başkaları tarafından okunabilirliğini arttırır, hem de geriye döndüğünüzde sizin de kafanızın karışmamasını sağlar. Temel bazı bilgileri verdikten sonra biraz işimize yarayacak bölüme geçelim; çünkü R’ın çok fazla özelliği ve çok fazla kodu bulunuyor.
R İle Search Console’a Bağlanma
API kurulumu ile ilgili Google’ın buradaki Search Console API’ye nasıl bağlanılacağı ile ilgili makalesinden bilgi alabilirsiniz.
R’da öncelikle “SearchConsoleR” kütüphanesini indirmemiz gerekiyor.
Bunun için “packages” kısmından Install butonuna tıklayıp ilgili paketi yükleyin;
İşlem tamam, paketimiz yüklendi.
İlk kodumuzu yazalım; (kodları yazarken hem ekran görüntüsü hem de kodları açık halde vereceğim daha iyi anlaşılır olması açısından)
library(searchConsoleR)
scr_auth()
sc_websites <- list_websites()
default_fetch <- search_analytics("https://zeo.org/")
Burada ne yaptık?
Önce (searchConsoleR) kütüphanesini yükledik, scr_auth() ile API’ye bağlantıyı kurmaya başladık. list_websites() ile tüm sitelerin listelenmesini söylerken aralarından ZEO mülkünü bulup search_analytics() ile bunu yapmasını istedik.
Tüm bu kod bloğunu çalıştırdığınızda CMD Enter kısayolu ile aşağıdaki adımları izleyin. API paketini yükleyip bağlantıya başladığınızda sizden izin isteyecektir verin. Google Search Console’da yer yer alan sitenin hesabıyla giriş yapmalısınız.
Aşağıdaki gibi size gelen kodu kopyalayın ve R’a dönün, Windows cihazlarda R’A döndüğünüzde sanırım otomatik işlemi yapıyordu.
Resimde gördüğünüz yere bu kodu yapıştırın;
API bağlantıyı kurduk! Ardından ise aşağıdaki kodları ekleyin;
df <-
search_analytics("https://zeo.org/",
start = "2019-10-01", end = "2020-02-29",
dimensions = c("query"),
dimensionFilterExp = c("device==DESKTOP", "country==TUR"),
searchType = "web", rowLimit = 10000)
Burada ne yaptık?
Bir data frame oluşturduk “df” ismiyle ve buna tüm bu satırları atadık. Bu df’ye search_analytics ile ZEO’yu işaret edip, start ve end tarihleriyle bize hangi tarih aralığını getirmesi gerektiğini açıkladık. Ben 10. aydan itibaren tarih aralığını belirledim, siz istediğiniz datayı çekebilirsiniz. “dimensions” satırında ise query ile anahtar kelimeleri, tarih özelinde almak istediğimi yazıyorum. “dimensionFilterExp” ile de device olarak masaüstü aramaları seçip, sadece Türkiye’den gelen kullanıcıları istedik. Çok dilli bir yapıya sahipseniz burada o ülkeye ait kodu girerek verileri elde edebilirsiniz.
Buradan ilgili ülkelerin kodlarına erişebilirsiniz. Device değiştirmek isterseniz TABLET yazmanız yeterli. “searchType” ile de sadece web aramalarını istedik. Eğer siz sadece video veya resimlerden gelen dataları isterseniz "video", "image" komutlarını kullanabilirsiniz bu alan için. rowLimit bölümünde ise limiti siz belirliyorsunuz yani kaç tane data çekeceğinizi.
Ben işlemlerin kısa sürmesi için bunu 10000 ile sınırlandırdım, siz daha başka bir sayı yapabilirsiniz. “dimensionFilterExp” kısmında filtreleme yapmak istemezseniz bu kısmı NULL ile geçebilirsiniz. Aşağıdaki kodları API ile iletişimi daha doğru kurmak için yazalım;
batching <-
search_analytics("https://zeo.org/",
start = "2019-10-01", end = "2020-02-29",
dimensions = c("query"),
searchType = "web", rowLimit = 10000,
walk_data = "byBatch")
API’den veriler çekilmeye başlayacaktır;
Sıra geldi aslında işin en zevkli yerine, sonuçları almak ve bunu tek satırlık bir kod ile yapabiliyoruz.
write.csv(df, "samet.csv")
Kodun son hali;
Bu kod ile SC datasını bilgisayarımıza .csv olarak indiriyoruz. “samet.csv” ismini siz istediğiniz gibi değiştirebilirsiniz. Bilgisayarınızdaki arama bölümünden R çıktısından gelen dosyayı arayın ve bulun, hepsi bu kadar. R kullanarak API ile elde ettiğim dosya;
Bundan sonrasında ilgili datalar üzerinde tüm hesaplamaları yapabilir bu kelimeleri farklı pazarlama kanallarında kullanabilirsiniz.
R İle Search Console Verilerini Görselleştirme ve Bazı İstatistiksel Hesaplamalar
Çok basit istatistiksel komutların size kullanımını göstereceğim. Grafikler için olmazsa olmaz bir kütüphane library (ggplot) bunu mutlaka kurmalısınız. Belirlediğim tarih aralığına göre pozisyonu 10’dan küçük ve tıklama sayısı 20’den büyük olan kelimeler üzerine grafik çıkartabilirsiniz. Yukarıda eklediğimiz mevcut kodların en altına aşağıdaki kodu ekliyorum;
abc <- df[df$position < 10 & df$clicks > 20,]
ggplot(abc, aes(position, ctr)) + geom_point()
Bu kodu çalıştırdıktan sonra oluşan grafik aşağıda yer almaktadır;
Grafiklerle ilgili birçok türdeki bilgiyi ve kodu şuradaki adreste bulabilirsiniz. Kullanımlarını deneyerek öğrenebilirsiniz. Ayrıca R’da görseli dışarıya resme sağ tıklayarak çok kolay şekilde export edebilirsiniz.
Başka bir örnek treemap oluşturmak isteyebilirsiniz. Aşağıdaki kod ile ZEO kelimesinin örneğin bu veri setimde rastgele 100 defa geçtiğini, SEO kelimesinin de 70 defa geçtiğini belirttim. Ayrıca bunların toplam aldıkları tıklanma sayılarını da “tik” olarak grupladım.
df <- data.frame( gruplar = c("ZEO" , "SEO" ,"Dijital Pazarlama" ), tik = c(100,70,50))
Kodu çalıştırdığımda;
Bu kodlara ek olarak bir de treemap kütüphanesini indirip kurduktan sonra aşağıdaki kodu çalıştırdığımda;
treemap( df, index = "gruplar", vSize = "tik" , type = "index")
Grafik gelecektir;
Histogram çizmek isterseniz aşağıdaki kodu kullanabilirsiniz. “abc” ile verimizi yukarıdaki bölümde filtreleyerek oluşturmuştuk.
p1 <- ggplot(abc, aes(ctr))
p1 + geom_histogram(binwidth = 0.2, colour ="black", fill = "orange") + ggtitle("Histogram Grafiğim")
CTR’a göre histogram grafiği;
“ggtitle” bize grafiğe başlık eklemimizi sağlıyor. head(df) ile .csv yi açmadan R içinde satır ve sütunları tek tek görebiliyorum.
head(df)
Çıktısı;
Basit temel istatistiksel bilgiler için de aşağıdaki komutu kullanabilirsiniz;
summary(df)
Örneğin ortalama tıklama sayısının 2.16 olduğunu buradan öğrenebilirim. Yine min ve max değerleri görebilmek mümkün. Farklı bir şekilde standart sapma gibi değerlerimi öğrenmek için; profiling_num(df) kullanabilirim;
profiling_num(df)
Üstteki veride ayrıca p değerlerimi bile görebiliyorum. Profiling_num kodunu kullanabilmek için aşağıdaki kütüphaneyi aktif hale getiriniz;
Satır ve sütun sayılarımı öğrenmek için aşağıdaki kodları girebilirim;
API ile bağlantı kurarken 1000 satır demiştim çünkü. Sütun sayımın da 6 olduğunu gösteriyor. colnames(df) ile de değişkenleri görebiliyorum;
Kütüphanelerin kurulmaması veya aktif hale gelmemesi kodları çalıştırırken hata almanıza neden olabilir.
Google Analytics’in R ile nasıl görselleştirilebileceğini ise Utku’nun yazısından okumanızı da mutlaka öneririm. R ile veri setlerinden keyif almanız dileğiyle :)
Faydalı Kaynak(lar);