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.
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ı.
2. Sonra bu kodlar için tek tek özel sayfalar oluşturdum. İçerisine JS kodu ve random oluşturulmuş özgün ufak metinler koydum.
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.
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.
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: 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
Ö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…
JS konusunda kafamı kurcalayan sorulara yanıt niteliğinde geldi bu test. Türkçe kaynaklarda bu tür yararlı makaleler bulmak oldukça az, deneyimlerini bizimle paylaşmaya devam edersen çok mutlu oluruz, Teşekkürler İlyas abi.
Çok ilginç ve bu konuda araştırma yapmak isteyenler için faydalı bir yazı olmuş. Teşekkürler
İlyas bey merhabalar;
Makaleniz için teşekkür ederim. Bir çok arkadaşın kafasını kurcalayan JS hakkındaki sorulara cevap niteliğinde.
Eğer izniniz olursa bu konunuzu kaynak göstererek r10 platformunda paylaşmak istiyorum. Bu sayede bir çok arkadaşa yardımcı olmuş olabilirsiniz.
Murat selamlar, tabi ki kaynak göstererek dilediğin platformda paylaşabilirsin.
Çaba ve gayretlerin icin teşekkürler, faydali bir çalışma olmuş.
Çok güzel bir çalışma elinize sağlık.
Teşekkürler
Test gerçekten önemli bir iş. Ekstra gibi bakılmaması gerekiyor. Aksi takdirde ciddi sorunlar çıkabilir. Elinize sağlık.
Biz de öğrenmiş olduk. İstifade ettik. Teşekkür ederiz.
Teşekkürler javascript ile ilgili güzel bir anlatım bilgilendirici.
Çok faydalı olmuş, javascriptle yapılan yönlendirmelerin indexlenmeyeceğinde ısrar eden kişilere tokat :)
Okurken keşke benimde kodlama bilgim olsa dedim :)
elinize sağlık güzel bir blog, güzel bir paylaşım.
Merhaba. Paylaşılan günümüzdeki en önemli konulardan birisi hakkında güzel bir çalışma stili olarak görünüyor. Başarılarınızın devamını dilerim ilyas bey.