Arkadaşlar merhaba, kanalıma hoş geldiniz.

Bir süredir Google’ın javascript’i nasıl taradığı ve nelere dikkat ettiğini daha iyi anlamak için testler yapıyordum.

24 tane farklı javascript kodunu test ettikten sonra Google’ın JS konusunda baya yol kat ettiğini gördüm.

Gelin beraber neler yaptım üzerinden geçelim.

Neden test yaptım?

Bir şeyin nasıl çalıştığını anlamanın en iyi yolu onu kurcalamak, test etmek yeri gelince bozmaktır bence.

Bu düşünceyle Google’ın JS tarafında crawl yeteneğini nasıl geliştirdiğini anlamaya çalıştım.

Bu sayede SEO danışmanlığı verdiğim markalarda oluşan JS sorunlarını da daha sağlıklı çözmeyi hedefliyordum.

js-sari-compressor

Hangi Javascript kodlarını test ettim?

Basitçe aşağıdaki türleri ve farklı varyasyonlarını teste tabi tuttum. Alt kısımlarındaki açıklamalardan ne amaçla bu kodları test ettiğimi de yazıyorum.

Redirect: javascript:window.location internal
Bir sayfanın JS ile başka bir internal sayfaya yönlendirilmesi.

Redirect: javascript:window.location external
Bir sayfanın JS ile başka bir external sayfaya yönlendirilmesi.

Redirect: javascript:window.location function absolute
Javascript kodu okunduğu gibi 5000 milisaniye (5sn) sonra sayfayı başka bir sayfaya yönlendirmek. Google JS kodlarında render sonrası bekliyor mu diye anlamak.

Redirect: javascript:window.location function relative
Sayfa yüklendikten sonra 5000 milisaniye (5sn) sonra sayfayı başka bir sayfaya yönlendirmek. Onload olma durumundaki değişikliği anlamak.

Link: onchange javascript:window.location
Seçim yapılan kutucukların JS ile değişmesi durumunda

Link: javascript:window.open
Tıklandığında JS ile açılan link. Normal < a href değil yani.

Link: onmousedown
Onmousedown JS ile çalışınca ne oluyor anlamak

Link: concatenated link
URL’i JS koduyla adım adım oluşturduğumuzda Google bunları tek tek okuyup final URL’e gidiyor mu anlamak

Link: data-href link
data-href link elementi JS ile nasıl çalışıyor?

Link: javascript:__doPostBack
JS’de __doPostBack ile çalışan linkleri Google takip ediyor mu anlamak

Content: onclick javascript:window.location
Onclick fonksiyonuna yazılmış yeni sayfa açma JS kodu.

Content: onclick reveals new element with programmatically added onclick event
Onclick ile yazılmış JS tıklanınca başka bir event tetikliyor ve bu event’te yeni sayfa açıyor.

Content: Make AJAX call and return data in page
Ajax ile çağırılıp sayfaya basılan içeriği Google indexliyor mu?

Content: dynamically inserted text
Dinamik olarak JS ile content’in sayfaya basılması ve Google’ın indexleyip indexlemediğinin kontrolü

Content: dynamically inserted text from external JS file
External bir JS dosyasından content çekip sayfaya bassak nasıl olur?

Content: dynamically inserted text meta data
Dinamik olarak JS ile sayfaya meta data basmak (noindex metası mesela)

Content: dynamically inserted nofollow
Dinamik olarak nofollow basılması ve Google’ın tepkisini anlamak

Content: on load inserted title
Sayfa yüklendikten sonra title etiketinin JS ile basılması

Content: on load inserted canonical URL
Sayfa yüklendikten sonra canonical etiketinin JS ile basılması ve Google’ın JS ile basılan bu sayfayı crawl edip edemeyeceği

Analiz metodolojim nasıldı?

1. Önce test etmek istediğim Javascript kodlarının listesini çıkardım, kategorilere ayırdım bunları.

js google seo

2. Sonra bu kodlar için tek tek özel sayfalar oluşturdum. İçerisine JS kodu ve random oluşturulmuş özgün ufak metinler koydum.

URL list google js seo

3. Bu kodlar tarandıktan sonra (fetch and render) Googlebot’un erişeceği sayfalar oluşturdum. JS kodlarını execute ediyor mu diye.

Üstteki görselde sağdaki URL’ler aslında.

4. Oluşturduğum tüm test sayfalarını Google search console altından Google’ın Google gibi getir (fetch as Google) fonksiyonunu kullanarak crawl ettirdim.

fetch as google js seo

5. Bir süre sonra Google arama sonuçlarında crawl edilen sayfalarda bulunan özgün içerikleri aradığımda arama sonuçlarında o URL’lerin olduğunu gördüm. Bu da Google’ın test ettiğim Javascript’leri gayet iyi render ettiğini gösterdi bana.

Testlerden bazı sonuçlar

Test sonuçlarının neredeyse hepsinin Google tarafından başarıyla crawl edildiğini söyleyebilirim. Sadece AJAX ile çağırılan contenti crawl etmedi. Testlerden bazı sonuçlar şöyle;

Redirect: javascript:window.location function absolute
Javascript kodu okunduğu gibi 5000 milisaniye (5sn) sonra sayfayı başka bir sayfaya yönlendirmek. Google JS kodlarında render sonrası bekliyor mu diye anlamak.

google javascript-window.location result

Content: onclick reveals new element with programmatically added onclick event
Onclick ile yazılmış JS tıklanınca başka bir event tetikliyor ve bu event’te yeni sayfa açıyor.

programmatically js google seo

Content: on load inserted title
Sayfa yüklendikten sonra title etiketinin JS ile basılması

on load title seo google js

Content: on load inserted canonical URL
Sayfa yüklendikten sonra canonical etiketinin JS ile basılması ve Google’ın JS ile basılan bu sayfayı crawl edip edemeyeceği

canonical google js seo

Özetlemek gerekirse

Google, yaptığım tüm test sayfalarının neredeyse hepsini render etti ve indexledi. Yani javascript konusunda çok hızlı koşuyor.

Eğer sitenizde üstteki şekilde JS kodları kullanıyorsanız korkmanıza gerek yok, Google sitenizi gayet kolay tarıyor ve anlıyor.

Sitenizde jQuery, AngularJS, ReactJS, BackboneJS, EmberJS, PhantomJS kullanıyorsanız daha iyi SEO performansı için de brombone.com, prerender.io, getseojs.com, backbonejsseo.com servislerinden birini kullanmanızı öneririm.

Javascript SEO konusunda desteğe ya da danışmana ihtiyacınız varsa mail atın konuşalım.
iletisim [@] ilyasteker.com

Siz de JS ile ilgili deneyimlerinizi aşağıda yorum olarak paylaşabilirsiniz.

Kanalıma abone olmayı unutmayasdgdskjdf…

Kategori: SEO

About ilyas teker

Ilyas, 9+ yıldır online marketing alanında çalışıyor. Dünya genelinde 46 ülkede 82 ofisi olan dijital pazarlama ajansı iProspect’in Chicago ofisinde SEO Direktörü olarak çalıştı. Coca-Cola, adidas, Sony gibi 150’den fazla markaya Türkiye, Avrupa ve Amerika’da SEO danışmanlığı verdi.

Dijital pazarlama ile ilgili seminerlerin yanında İlyas, popüler bir çok pazarlama dergisi ve web sitesinde makaleler yazıyor ve Fortune 500 şirketlerinin SEO departmanlarına destek oluyor. Ayrıca DeepCrawl şirketinin danışman kurulunda yer alıyor.