R ile Search Console API Kullanarak Verileri Çekmek, Görselleştirmek ve Yorumlamak

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.

1601536109 wp 2020 02 search console sinir

Kurulum ve Genel Ayarlar

R Project’in indirme sayfasından ilgili programı indirin ve ardından alttaki R Studio’yu kurun.

1601536113 wp 2020 02 r studio indirilmesi

R Project ile beraber R Studio programını da kurmalıyız;

1601536117 wp 2020 02 r studio baglantilari

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

1601536121 wp 2020 02 r studio kurulum

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.

1601536125 wp 2020 02 r studio ayarlar

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.

1601536130 wp 2020 02 r ayar ekrani

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.

1601536133 wp 2020 02 r studio dashboard

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.

1601536137 wp 2020 02 r kutuphaneler

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

1601536140 wp 2020 02 r kutuphane yukleme

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)

1601536144 wp 2020 02 r markdown

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.

1601536150 wp 2020 02 r kod calistilmasi

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.

1601536155 wp 2020 02 r chunk

Çalışma ortamınıza yeni bir chunk eklemek için ise aşağıdaki işlemi yapabilirsiniz.

1601536158 wp 2020 03 r chunk

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.

1601536161 wp 2020 03 pdf r studio

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.

1601536164 wp 2020 03 r api google

R’da öncelikle “SearchConsoleR” kütüphanesini indirmemiz gerekiyor.

1601536167 wp 2020 03 searchconsoler

Bunun için “packages” kısmından Install butonuna tıklayıp ilgili paketi yükleyin;

1601536170 wp 2020 03 paket aktif

İş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/")

1601536174 wp 2020 03 r basla

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.

1601536178 wp 2020 03 izin r studio

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.

1601536181 wp 2020 03 sign google

Resimde gördüğünüz yere bu kodu yapıştırın;

1601536188 wp 2020 03 r kod girisi

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)

1601536192 wp 2020 03 r studio console google

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")

1601536195 wp 2020 03 batching

API’den veriler çekilmeye başlayacaktır;

1601536198 wp 2020 03 api cekimi

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;

1601536203 wp 2020 03 r kod son

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;

1601536207 wp 2020 03 csv r studio

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()

1601536211 wp 2020 03 r studio grafik kodu

Bu kodu çalıştırdıktan sonra oluşan grafik aşağıda yer almaktadır;

1601536214 wp 2020 03 r grafik

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.

1601536219 wp 2020 03 save images

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))

1601536222 wp 2020 03 df group

Kodu çalıştırdığımda;

1601536225 wp 2020 03 gruplar

Bu kodlara ek olarak bir de treemap kütüphanesini indirip kurduktan sonra aşağıdaki kodu çalıştırdığımda;

1601536234 wp 2020 03 r studio treemap

treemap( df, index = "gruplar", vSize = "tik" , type = "index")

1601536239 wp 2020 03 treemap code

Grafik gelecektir;

1601536243 wp 2020 03 treemap grafik 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")

1601536247 wp 2020 03 histogram

CTR’a göre histogram grafiği;

1601536250 wp 2020 03 r studio histogram

“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ı;

1601536254 wp 2020 03 head datas

Basit temel istatistiksel bilgiler için de aşağıdaki komutu kullanabilirsiniz;

summary(df)

1601536257 wp 2020 03 summary

Ö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)

1601536261 wp 2020 03 profiling num

Ü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;

1601536264 wp 2020 03 funmodelling

Satır ve sütun sayılarımı öğrenmek için aşağıdaki kodları girebilirim;

1601536268 wp 2020 03 satir sutun

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;

1601536275 wp 2020 03 colnames

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);

İlgili hizmet

Bu soruyu SEO planınızın parçası yapın

Yazı sitenizdeki bir soruna işaret ediyorsa, SEO danışmanlığı kapsamında önce neyi kontrol etmeniz gerektiğine ve sonraki adımın kimde olacağına birlikte bakabiliriz.
SEO hizmetlerini inceleyin
Samet Özsüleyman
Samet Özsüleyman