JavaScript yoluyla web içeriğini endeksleyen arama motorları her zaman büyük bir problem olmuştur ve bazıları hala bu yöntemi kullanır. Şüphesiz birçok SEO uzmanı bu konudan rahatsız. Ancak sorunun çözümü var.

Angular, Vue.js gibi modern JavaScript çerçevelerinin yaygınlaşması ile SEO’da JavaScript konusu görmezden gelinememektedir. Seo uzmanları ve geliştiriciler, arama motorlarının sayfaları JavaScript çerçevelerine göre nasıl işlediğini bilmek durumundadır. Pek çok arama motoru JavaScript tabanlı sayfaları işlemek için Google kadar başarılı değildir. Yine de bir sitenin iyi bir şekilde taranmasını engelleyebilecek çok sayıda sorunlu uygulama olabilir. Bu yazıda JavaScript’in SEO açısından getirdiği engellere ve Google’ın tarama, dizine ekleme konusunda kullanabileceği yöntemlere bakacağız.

Arama motorları nasıl çalışır?

Web sitesinde bulunan bir belgenin arama sonuçlarında görünmesi için, her arama motorunun önce belgeyi bulması ve ardından içeriği anlaması gerekir. Bu nedenle, ilk önce mümkün olduğunca çok sayıda belge için genel bir tarama yapar ve yeni sayfalar keşfetmek için tüm URL’leri takip eder.

Tarayıcı bir URL’ye girerse, ilk olarak HTML belgesini indirir ve kaynak kodunu inceleyerek temel bilgiler arar. Sayfadaki linkleri kontrol eder ve bağlanır. Robots.txt, robots meta etiketi, kanonik etiketi gibi bilgileri kullanarak nasıl işleneceğini belirler.

Tarayıcı HTML dosyasını ve tüm kaynakları indeksleyiciye gönderir. Dizinleyici belgeyi oluşturur ve web sayfasının içeriğini dizine ekler. Sonrasında Algoritma uygun arama sorguları için en alakalı belgelerin bulunmasını sağlar. Ancak, istemci tarafında, yani tarayıcıda DOM’u sayfada nesne oluşturmak için kullanıyorsanız, arama motoru URL’yi ziyaretçiler gibi görmeyebilir.

Sayfanın içeriğinin tamamı bu şekilde yüklenirse, bir sayfanın yalnızca HTML kodunu okuyabilen bir arama motoru tarayıcısı, sunucu tarafında oluşturulmuş bir belge yapısı ve içeriği hakkında neredeyse hiçbir bilgi alamaz. İzlenecek bağlantıları göremez, site içeriği veya herhangi bir meta etiket hakkında, herhangi bir temel bilgi bulamaz. Bu nedenle tarayıcının, HTML, CSS ve JavaScript kaynaklarını indeksleyiciye göndermesi ve meta bilgileri işlenmeden önce sayfayı oluşturmak için JavaScript’i çalıştırması gerekir.

Arama motorları JavaScript oluşturabilir mi?

Google, JavaScript’i yürütmek için bir işleme motoru kullanan ve ayrıca dokümantasyonundaki işlem hakkında bilgi sağlanabilen tek arama motorudur. Günümüzde diğer arama motorları bu konuda Google’ın seviyesine gelebilmiş değildir. Her ne kadar Bing, JavaScript’i oluşturduğunu iddia etse de, bunu sadece belirli sayfalarda yapabildiği görülmektedir.

Her durumda başarılı bir sayfa oluşturma işleminin ön şartı, robots.txt dosyası aracılığıyla herhangi bir JavaScript ve CSS kaynağını engellememektir. Google bu kaynaklara erişemiyorsa, doğru görüntülenmede zorlanacaktır. Ek olarak, tarama olayının başlamasından önce tüm ilgili içerik yüklenmelidir. Tarama başladıktan sonra yüklenen içerikler dizin oluşturma sırasında dikkate alınmaz.

Google iki kademeli tarama yapar. JavaScript oluşturma oldukça fazla kaynak tükettiğinden önce URL dizine eklenir. Elbette burada doğrudan DOM öncesi HTML kaynağında bulunan bilgilere başvurulabilir. İkinci kademede, sayfa oluşturulur ve DOM sonrası HTML’nin tüm içeriği dizine eklenir. Google’ın JavaScript tabanlı bir web sitesi oluşturma şeklini test etmek için, Arama Konsolunda “Google gibi getir” özelliğini kullanabilir, Google’ın sayfayı nasıl işlediğini görebilirsiniz. Sayfaların oluşturulmasıyla ilgili sorunlara ek olarak, JavaScript çerçevelerinin kullanımı farklı hata kaynakları içerebilir. Ayrıca SEO temelleri sık sık unutulur.

URL’ler tarayıcıya göre API işlevi görür

Her sayfa bir URL’ye ihtiyaç duyar. Çünkü URL’ler, arama motorlarının arama sonuçlarında listelenen varlıklardır. JavaScript, URL’yi değiştirmeden içeriği dinamik olarak değiştirmenize olanak sağlar. Ancak, her bir sayfanın indekslenebilmesi için, benzersiz ve kalıcı bir URL’ye sahip olması gerekir. Bu nedenle, yeni bir içerik yüklenirse, sunucu tarafı desteğine sahip yeni bir URL’nin çağrılması gerekir. Çerçevede standart olarak sunulmuş olsa da, URL’ler temiz olmalıdır, özel karakterler sorun yaratabilir.

İçeriğin birden fazla URL’de kullanılabilir olması yinelenen içerik sorununa yol açabilir. Başka bir hata kaynağı ise, JavaScript gezintiyi devraldıysa, URL yalnızca uygulama içinden çalışır. Bu yalnızca içerik yeniden yüklendiyse ve URL iyi işlenirse gerçekleşir. Çerezler, yerel depolama, oturum kaydı, IndexedDB, ServiceWorkers vb. desteklenmez. Tarayıcı, her URL’yi bu özelliklerden bağımsız, tamamen yeni bir kullanıcı olarak ziyaret eder. Bu nedenle, tüm yolların, dolayısıyla tüm URL’lerin her zaman doğrudan erişilebilir olmasını sağlamak önemlidir.

Sunucu Durum Kodları

URL’ler açısından genel SEO için en iyi uygulama sunucu durum kodlarını doğru kullanmaktır. Bir içeriğin URL’si değişirse kullanıcıları ve arama motorlarını, sunucu yönlendirmesi veya buna eşdeğer istemci taraflı JavaScript yönlendirmesiyle yeni URL’ye yönlendirmelisiniz. Yönlendirme, yalnızca istenen içeriği getirmekle kalmaz, aynı zamanda eski URL’nin anahtar kelime, geri bağlantılar gibi yetkilerini de yeni URL’ye iletir. İçerik artık mevcut değilse, 404 durumu doğru şekilde döndürülmelidir. JavaScript’li URL’leri çağırmanın farklı yolları olsa da, başka bir URL’ye bağlantı için href niteliği dahil olmak üzere uygun bağlantı etiketi kullanılmalıdır

Sunucu tarafında script öncesi JavaScript sayfalar oluşturmak, Google için bile oldukça yoğun bir işlemdir. Bu nedenle oluşturma işlemi, tarayıcı bir URL’yi bulduktan hemen sonra değil, yalnızca uygun kaynaklar serbest kaldığında gerçekleşir. Bir sayfanın oluşturulması bir hafta kadar sürebilir. Oldukça basit bir tarama ve indeksleme işleminin karmaşık ve verimsiz hale gelmesi bu yüzdendir. Diğer arama motorları ve Facebook, Twitter, LinkedIn vb. tarayıcılar, sayfaları tararken JavaScript kullanmaz. Bir sayfanın Google botu dışındaki tarayıcılar tarafından da doğru anlaşılması için, sayfaların sunucu tarafında önceden oluşturması önerilmektedir. Bu, Google’ın tüm önemli içeriği bulmasını ve daha hızlı indekslemesini sağlarken, indeksleme problemlerinden ayrı olarak, kullanıcılar için dezavantajlı olabilir.

İlk sayfa yükleme genellikle daha uzun sürer, çünkü oluşturma işlemi tamamen istemci tarafından yapılmak zorundadır. Ek olarak, yükleme süresi, ilgili terminalin kalitesine ve hesaplama gücüne bağlıdır. Bu yüzden JavaScript çerçevelerini SEO’ya hazır hale getirmek önemlidir. Sunucu tarafında görüntü oluşturma. HMTL kodunu ilk önce kullanıcı tarafında çözümlemek yerine, sayfa sunucu tarafında önceden oluşturulmalıdır.

Sayfayı oluşturmak için gereken tüm JavaScript sunucuda zaten çalıştığından, hem tarayıcı, hem de sunucu tarafı önceden oluşturulmuş HTML’yi doğrudan alır. İstemci tarafında, yalnızca kullanıcı etkileşiminden kaynaklanan JavaScript çalıştırılır.

Dinamik oluşturma

Normal bir tarayıcı sayfanın JavaScript sürümünü alırken istemci tarafında oluşturmak zorunda olsa da, bazı tarayıcılar sunucu tarafında önceden oluşturulmuş bir sürümü tercih eder. Bu durumlar, erişimin normal bir tarayıcıdan mı yoksa bir bottan mı geldiğini anlayan bir katman yazılımı gerektirir. Burada kullanıcı temsilcisi basitçe okunur ve gerekirse ilgili bot tarafından doğrulanan IP adresine erişilir. Bu varyasyon bir gizleme olarak görülmez. Önceden işlenmiş olan kullanıcı tarafı versiyonunun içerik bakımından farklılık göstermemesi gerekir.

Google’ın hem normal kullanıcıların hem de arama motorlarının sayfanın önceden oluşturulmuş bir sürümünü alabileceği karma bir işleme çözümü önerir. Kullanıcı sayfa ile etkileşime geçtiğinde, JavaScript kaynak kodunu DOM üzerinden değiştirmeye başlar. JavaScript mümkün olduğu kadar sunucuda oluşturulur, diğer tüm eylemler  istemci tarafında gerçekleştirilir.

Bu çözümün bir diğer avantajı da JavaScript’i devre dışı bırakmış kullanıcılara da doğru görünen bir sayfa sunmasıdır. Uygulamada,böyle bir çözüm çok iyi bir altyapı kullanılsa bile oldukça karmaşıktır.

Google JavaScript konusunu ciddi bir şekilde ele almakta ve dokümantasyon yardımı yayınlamaktadır. Seo uzmanları JavaScript tabanlı bir web sitesinde arama motoru optimizasyonu uygulanabilirliğini göz ardı etmemelidir. Bu nedenle JavaScript, seo uzmanlarına yeni zorluklar getiriyor. Gelecekte SEO, potansiyel tarama engellerini belirlemek için geliştiricilerle birlikte çalışmayı, teknik detaylara daha derinden girmeyii ve JavaScript ile daha fazla ilgilenmeyi gerektirecektir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×
Göster