JavaScript ile sayfaların indekslenmesi, arama motoru tarayıcılarının içeriği ortaya çıkarmak için kodu nasıl yorumladığını ve çalıştırdığını net bir şekilde anlamayı gerektirir. Yandex, botunun kullanıcının gördüğünü görmesini sağlayan özel bir render süreci kullanır, ancak bu süreç kaynakların kullanılabilirliğine ve betik yürütme hızına bağlıdır. Dinamik öğelere yoğun bir şekilde güvenen web siteleri için, önceden render edilmiş veya sunucu tarafında işlenen bir sürüm sağlamak, arama botlarının tüm sayfaları doğru bir şekilde bulmasını ve sıralamasını garanti eder.
Yandex tarayıcısı JavaScript’i nasıl işler?
Yandex arama botu, JavaScript içeriğini ilk ziyaret sırasında statik HTML’i gördüğü gibi görmez. Bunun yerine, süreç iki farklı aşamada gerçekleşir. İlk olarak, tarayıcı ilk HTML dosyasını indirir ve kaynak kodunda bulunan tüm bağlantıları ve meta verileri tanımlar. Bu aşama hızlıdır ve botun çok fazla işlem gücü harcamadan sitenin yapısını haritalandırmasına olanak tanır.

İkinci aşama render motorunu içerir. Bu motor modern bir Chromium sürümüne dayanır ve Document Object Model’i (DOM) oluşturmak için betikleri çalıştırır. Betikler çalıştıktan sonra bot, daha önce gizli olan veya dinamik olarak oluşturulan içeriği görebilir. Ancak, render işlemi hesaplama açısından maliyetli olduğundan, ilk tarama ile betik tarafından oluşturulan içeriğin nihai indekslenmesi arasında genellikle bir gecikme olur.
Sıklıkla, en değerli içeriğin bir tıklamanın veya botun asla tetiklemediği bir betiğin arkasında gizlendiği web siteleri görüyoruz. İlk HTML’in ana mesajı içerdiğinden emin olmak, arama varlığını korumanın en güvenilir yoludur.
Alien Road SEO ekibi
İstemci tarafı render’ın (CSR) yaygın riskleri nelerdir?
İstemci tarafı render (CSR), içerik oluşturma yükünü tarayıcının veya tarayıcının üzerine bindirir. Bir betiğin yüklenmesi çok uzun sürerse veya bir hatayla karşılaşırsa, tarayıcı boş bir sayfa görebilir. Bu durum genellikle botun sayfanın içeriği olmadığını düşündüğü ‘soft 404’ hatasına yol açar, insan kullanıcı için normal görünse bile. Sadece CSR’ye güvenmek, bu bağlantılar yalnızca betik yürütüldükten sonra oluşturuluyorsa yeni bağlantıların daha yavaş keşfedilmesine de yol açabilir.

Zaman aşımı sorunları bir diğer önemli endişe kaynağıdır. Arama botlarının bir sayfanın render işlemini bitirmesini beklemek için sınırlı bir süresi vardır. JavaScript çerçeveniz ana metni görüntülemeden önce birden fazla API çağrısı gerektiriyorsa, bot zaman aşımına uğrayabilir ve bir sonraki URL’ye geçebilir. Bu, yalnızca başlık ve altbilginin arama veritabanına kaydedildiği kısmi indeksleme ile sonuçlanır.
- İndeksleme gecikmelerine neden olan boş ilk HTML.
- Botların takip edemediği JavaScript işlevleri içinde gizlenmiş dahili bağlantılar.
- Render aşaması sırasında artan sunucu yükü.
- robots.txt tarafından engellenebilecek harici betiklere bağımlılıklar.
JavaScript içeriğinizin indekslenip indekslenmediğini nasıl kontrol edersiniz?
Yandex’in ne gördüğünü doğrulamanın en güvenilir yolu Yandex Webmaster arayüzüdür. Özellikle ‘URL’yi kontrol et’ aracı, botun sayfayı nasıl yorumladığına dair bir anlık görüntü sağlar. Bu kontrolü çalıştırdığınızda, nihai görsel durumu görmek için ‘Render edilmiş sayfa’ sekmesine bakın. Arama sonuçlarında görmeyi beklediğiniz metin bu görünümde eksikse, JavaScript’iniz muhtemelen başarısız oluyor veya zaman aşımına uğruyordur.
Ayrıca dizinin yalnızca metin sürümünü görmek için ‘URL denetimi’ özelliğini de kullanabilirsiniz. Bu, botun betiklerinizdeki içeriği başarıyla ayrıştırıp ayrıştırmadığını ortaya çıkarır. Metin sürümü yalnızca gezinme menülerini gösteriyor ve gövde içeriğini göstermiyorsa, render stratejinizi ayarlamanız gerekir. Bu araçları haftalık olarak izlemek, render hatalarını trafiğinizi etkilemeden önce yakalamanıza yardımcı olur.
Alien Road JavaScript indekslemesini nasıl uygular
Tipik bir çalışmada ekibimiz, içeriğin kullanıcıya nasıl sunulduğunu haritalandırmak için teknik bir keşif aşamasıyla başlar. Örneğin, ev eşyaları satan bir Shopify mağazası için ürün açıklamalarının ayrı bir betik aracılığıyla yüklendiğini bulabiliriz. Alien Road daha sonra birincil içeriğin HTML yanıtının ilk baytında mevcut olduğundan emin olmak için sunucu tarafı render (SSR) veya ön render uygular.
Müşterileri saf istemci tarafı kurulumlarından hibrit modellere geçirmek için adım adım bir süreç kullanıyoruz. Bu, hangi betiklerin SEO için gerekli, hangilerinin tamamen dekoratif olduğunu belirlemeyi içerir. İçerik taşıyan betiklerin yürütülmesine öncelik vererek ve diğerlerini erteleyerek, Yandex botunun sayfayı 2.5 saniyelik LCP eşiği içinde işlemesine yardımcı oluyoruz. Bu yaklaşım, web sitesi daha karmaşık hale gelse bile arama görünürlüğünün sabit kalmasını sağlar.
- Denetim: JavaScript yürütme gerektiren içeriğin tanımlanması.
- Uygulama: Kritik açılış sayfaları için SSR kurulumu.
- Optimizasyon: Render işlemini hızlandırmak için JavaScript paketlerinin boyutunun küçültülmesi.
- Doğrulama: Başarılı indekslemeyi onaylamak için Yandex Webmaster araçlarının kullanımı.
Dinamik ortamlarda URL parametrelerini yönetme
JavaScript çerçeveleri genellikle filtreleme veya oturum takibi için parametreler ekleyerek dinamik URL’ler oluşturur. clean-param yönergesi için belgelerde tartışıldığı gibi, bu parametreler yinelenen içerik sorunlarına yol açabilir. Betikleriniz ‘example.com/products?sessionid=123’ gibi URL’ler oluşturuyorsa, tarayıcı bütçesini binlerce aynı sayfaya harcayabilir. robots.txt dosyanızda clean-param yönergesini kullanmak, bota URL’nin hangi kısımlarının göz ardı edileceğini söyler.
Bu, özellikle kullanıcıların JavaScript kullanarak fiyat veya boyuta göre ürünleri filtrelediği e-ticaret siteleri için önemlidir. Ayrıca, betiklerinizin parametre yüklü URL’lerden oluşan sonsuz döngüler oluşturmadığından emin olmak, tarama verimliliğini korumanın anahtarıdır. Temiz bir URL yapısı, render motorunun gereksiz betik mantığını işlemek yerine kaynaklarını benzersiz içeriğe odaklamasına olanak tanır.
Teknik SEO sadece etiketlerle ilgili değildir; altyapının mesajı engellemediğinden emin olmakla ilgilidir. Bot betiği birkaç saniye içinde render edemezse, o içerik dizin için esasen mevcut değildir.
Alien Road SEO ekibi
Betik tarafından oluşturulan içerikteki sözdizimi hatalarından kaçınma
RSS beslemelerinin eksik tırnak işareti veya yanlış kapatılmış CDATA bölümü gibi küçük sözdizimi hataları nedeniyle başarısız olması gibi, JavaScript yürütme işlemi de hatalı kodla karşılaştığında durur. Web siteniz JSON veya AJAX çağrıları aracılığıyla içerik oluşturuyorsa, tek bir hatalı karakter tüm render sürecini bozabilir. Yandex’in render motoru, sayfayı doğru bir şekilde oluşturmak için geçerli, standartlara uygun kod bekler.
Dahası, tüm harici veri kaynaklarının erişilebilir olduğundan emin olmalısınız. JavaScript’iniz güvenlik duvarınız veya robots.txt tarafından engellenen üçüncü taraf bir API’den içerik getiriyorsa, Yandex botu eksik bir sayfa görecektir. Betiklerinize makine tarafından okunabilir bir besleme ile aynı hassasiyetle davranın. Betik çıktılarınızın düzenli olarak test edilmesi, sessiz kod hataları nedeniyle indekslenen sayfalardaki ani düşüşleri önlemeye yardımcı olur.
Site yapınız için acil adımlar
Bu hafta Yandex Webmaster ‘URL’yi kontrol et’ aracını kullanarak en önemli sayfalarınızı denetleyerek başlayın. Render edilmiş sürümde herhangi bir ana metnin eksik olup olmadığını belirleyin. Boşluklar bulursanız, insan kullanıcılar için zengin etkileşimli deneyimi korurken, arama botlarına özel olarak sayfanın statik bir sürümünü sunduğunuz dinamik bir render çözümü uygulamayı düşünün.
Render için gereken betikleri veya CSS dosyalarını yanlışlıkla engellemediğinizden emin olmak için robots.txt dosyanızı gözden geçirin. Botun bir ‘/js/’ klasörüne erişmesini engelleyen basit bir kural, tüm web sitenizin içeriğini arama motorundan gizleyebilir. Tarayıcı için net bir yol sağlayarak ve geçerli betik yürütmeyi garanti ederek, teknolojiniz ne kadar karmaşık hale gelirse gelsin arama sonuçlarında güçlü bir varlık sürdürürsünüz.