12 Ağu 2020

4 dk okuma

11 Adımda Javascript Sitelerin SEO Sorunları Nasıl Tespit Edilir?

11 Adımda Javascript Sitelerin SEO Sorunları Nasıl Tespit Edilir?

Javascript tabanlı sitelerde içeriğin nasıl oluştuğunu analiz etmek JS crawling (JS tarama) desteği bulunan SEO araçlarıyla 2020’de artık daha kolay; ancak yine de manuel incelemeleri de mutlaka denetleme (audit) yaparken kullanmalıyız. Bu yazımda JS ile yazılmış sayfaların nasıl denetlenmesi gerektiğini çok basit bir şekilde açıklamaya çalışacağım.

Öncelikle Javascript SEO’nun temellerini hatırlamak isterseniz ekibimizden Gökhan’ın yazısını okuyabilirsiniz. Denetim için en çok Google’ın kendi ücretsiz kaynaklarını kullanırken yerleşik olarak Chrome’da bulunan Developer Tools’ta en çok işimize yarayan araçlardan birisi olacak.

Gelin beraber alt başlıklarla JS SEO Audit çalışmalarını inceleyelim;

JS Devre Dışı Bırakıldığında İçeriğin Görünüp Görünmediği

Sayfalardaki ürün resimleri, yorumlar, incelemeler ya da ürün özellikleriyle ana içeriklerin JS kapatıldığında da göründüğünü test edebilirsiniz. Aşağıda bulunan haber detayında JS açıkken ve JS’yi kapatıp sayfayı yenilediğinde içeriğin tamamen görünebildiğini tespit edebilirsiniz;

1647185245 image12

JS’yi hızlıca devre dışı bırakmak için Quick Javascript Switcher eklentisini kullanıyorum.

Rendered HTML

Üstteki alt başlıkta JS’yi devre dışı bırakmıştık, şimdi de sayfada JS’yi tekrar etkinleştirelim. CSS ya da JS’nin sayfada engellemediğinden emin olduktan sonra sayfayı yenileyelim. Ardında sayfada herhangi bir yerde Chrome tarayıcıda sağ tıklayıp öğeyi inceleyi seçelim.

1647185451 image9

Sayfadaki kodu tamamen kopyaladıktan sonra zengin sonuçlar test aracına atıp içeriğin doğru görünüp görünmediğini test edebilirsiniz;

1647185319 image3

Meta Etiketler & Yapısal Veriler

Noindex, canonical ve meta description gibi temel SEO elementlerinin JS ile yazılmış sayfada Googlebot tarafından görünüp görünmediğinin test edilmesi gerekiyor. Eğer Googlebot bu elementleri rahat bir şekilde görebiliyorsa meta etiketler konusunda geliştirme yapmanız gerekmiyor.

1647185384 image13

Yine benzer şekilde sayfalarda kullandığınız örneğin NewsArticle gibi schema türlerinin de göründüğünden emin olmalısınız.

1647185481 image18

Gizlenmiş İçerik

Herhangi Bir JS Framework ile yazılmış sitelerde bazı durumlarda gizlenmiş içerikler sayfalarda bulunabiliyor. Örneğin kullanıcılar sayfadaki sadece resim ya da içeriğin bir kısmını görebilirken RAW sürümünde Googlebot’a daha fazla metin gösterilebilir. Bu tür durumları tespit ederek yapılacaklar listenizde önceliğini yüksek olarak belirleyebilirsiniz.

Kullanıcıların gördüğü örnek bir sayfa;

1647185470 image15

Kaynak koda baktığımızda ise font-size olarak bir gizlenme mevcut;

1647185474 image16

Unutmayın gizlenmiş içerik, kalite yönergelerine aykırı bir durum oluşturmaktadır. Bu gizleme örneğinin benzeri JS ile de yapılabileceği için örnek olarak belirtmek istedim.

Görseller

Genellikle e-ticaret sitelerinde bir ürüne ait birden çok resim olabiliyor. Kimi durumlarda sadece öne çıkan görseller “img src” özelliği ile belirtilirken, 2 ya da daha sonraki sırada bulunan resimler “img src” olarak belirtilmediği için Googlebot tarafından dizine eklenmeyebilir.

1647185461 image11

Resimleri Raw HTML’de src özelliği ile belirtmeniz faydalı olacaktır.

SEO Araçlarında JS Rendering Açılması

JS Audit işini biraz daha otomatize etmek ve sorunları en net şekilde görebilmek için SEO araçlarından yardım almamız gerekiyor. Screaming Frog ile bunu yapabilmek için Configuration > Rendering ayarlarında bu ayarı açmanız gerekmekte. Ardından tool PC özelliklerine göre siteyi taramaya başlayacaktır.

1647185423 image2

Deepcrawl’da taramayı başlatmadan önce bu ayarı açabilirsiniz;

1647185488 image20

Oncrawl’da da yine “Show Extra Settings “ kısmını açtıktan sonra JS Crawl işlemini başlatabilirsiniz.

1647185418 image1

Son olarak CognitiveSEO ile de audit yaparken bu ayarı aktif hale getirmeniz gerekiyor;

1647185438 image6

SEO araçlarıyla audit işlemlerini de hızlıca bitirebilir ve tasklarınızı oluşturabilirsiniz.

Robots.txt Kontrolleri

Robots.txt dosyası ile (varsa) taramaya kapattığınız .js uzantılı dosyaların sayfanın oluşmasında etkili olup olmadığını DevTools ile kolayca tespit edebilirsiniz.

1647185466 image14

Dosya bloklandığında ana içerik görünemiyorsa bu komutu robots.txt’ye ekleyip eklememe konusunda bir kez daha düşünebilirsiniz.

OnClick Yerine <ahref> Kullanımı

Googlebot’un sayfaları tarayabilmesi ve iç linklere ulaşabilmesi için DOM’da yer alan linklerin yapısıyla belirtilmesi gerekiyor. OnClick ya da benzer bir yapıyla linklerin DOM’da yer alsa bile Googlebot bu linkleri çoğunlukla göremez ve tıklayıp ulaşamaz.

1647185432 image5

Akordiyon İçerikler

S.S.S ya da ürün açıklamaları gibi akordiyon şeklinde açılır kapanır menü yapılarında yer alan içerik kısımlarının Googlebot tarafından görünüp görünmediğini Chrome ile kolayca test edebilirsiniz.

1647185442 image7

Chrome DevTools açalım ardından cache devre dışı bırakalım. Daha sonra yazı içerisinden rastgele bir kelimeyi DOM’da aratalım. Arattığınız içerik bu kısımda görünüyorsa bir sorun yaşamadığımızı belirtebilirim. Aşağıda bunu bir örneğini görebilirsiniz;

1647185476 image17

URL İnceleme Aracı

Doğrulanmış mülkünüze ait URL’yi incelemek için Google Search Console’daki URL inceleme aracı yardımıyla sayfalarınızı inceleyebilirsiniz.

1647185457 image10

İncelemek istediğiniz URL’yi kutucuğa yapıştırdıktan sonra “Test live URL” butonuna tıklayın;

1647185438 image6 1

Son olarak Googlebot’un sayfalarınızdaki bilgileri nasıl oluşturduğunu görebilirsiniz;

1647185485 image19

HTML kısmında meta bilgilerin yer alıp almadığını, ekran görüntüsü sonucunda ana içeriğin görünüp görünmediğini ve Robots.txt tarafından bir engelleme olup olmadığını test edebilirsiniz.

Site Arama Operatörü

Çok basit şekilde “site:” arama operatörünü kullanarak içeriğinizin dizine eklenip eklenmediğini tespit edebilirsiniz. Yazı içinden istediğim bir metni kopyalıyorum;

1647185446 image8

Ardından site:ajansspor.com "Antrenmanda basına bir açıklama yapan Bulut, "iki günde bir birlikte olacağız. Basın ile iyi bir iletişimimiz olacak. Hayırlı bir sezon diliyorum. Sosyal mesafeye dikkat edeceğiz.” sorgusunu çalıştırıyorum;

1647185491 image21

İçeriğimin Google tarafından dizine sorunsuz bir şekilde indekslendiğini görebiliyorum. İçeriğin dizine eklenme gibi problemleri varsa Dynamic Rendering gibi çözümleri düşünebilirsiniz.

JavaScript, doğru kullanıldığında kullanıcı deneyimini önemli ölçüde iyileştirebilir, SEO'daki amacımız bunu engellemek değil tam aksine arama motorlarına daha uyumlu hale getirerek dönüşümlerin artmasını sağlamaktır.

Ayrıca günün sonunda Google’ın siteleri tararken özellikle de JS siteleri tararken kaynaklarının sınırlı olduğunu, daha kaliteli ve teknik sorunları minimum olan sitelerin dizine eklenme konusunda daha başarı olacabileceğini hatırlatmakta fayda var.

Başka yazılarda görüşmek üzere :)

İ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