JavaScript β ile sayfa dizinleme
Yandex Webmaster ile içeriğin JavaScript ile görüntülendiği site sayfalarının dizinlemesini yönetebilirsiniz. Dizinleme botunun sitenizi tararken sayfalarda JavaScript çalıştırıp çalıştırmaması gerektiğini belirtebilirsiniz. Bu, SSR (Sunucu Tarafı İşleme) veya ön işleme sitenizde uygulanmadıysa yararlı olabilir.
Not
JavaScript kodunun çalıştırılması sunucunuza ek yük getirebilir.
Dizinleme yönetimi
-
Yandex Webmaster’a gidin.
-
Yandex Webmaster’da Endeksleme → JavaScript sayfa işlemeβ bölümüne gidin.
-
Bir seçenek seçin. Varsayılan olarak, Botun takdirine bağlı seçeneği etkinleştirilmiştir. Bu, botun sitenin sayfalarında JavaScript kodunu çalıştırıp çalıştırmamaya bağımsız olarak karar vereceği anlamına gelir. Karar vermek için, örneğin, JavaScript ile ve JavaScript olmadan sayfalardaki içeriğin kalitesini ve bütünlüğünü değerlendirebilir ve ziyaretçiye daha faydalı olma olasılığı yüksek olanı yükleyebilir.
Öneri
SSR (Sunucu Tarafı İşleme) veya ön işleme sitenizde uygulanmışsa işleme yasaklayın.
Gelişmiş işleme ayarları
Sitenizdeki içerik gecikmeli yükleniyorsa, Yandex’e bunu özel bir JavaScript kodu kullanarak bildirebilirsiniz.
İçeriğin gecikmeli yüklendiği site sayfalarında, window.YandexRotorSetting
nesnesini DomContentLoaded olayından önce işlenecek şekilde oluşturun. Bu nesne içinde, Yandex botunun sayfayı işlerken yanıt vereceği parametreleri belirtebilirsiniz. Parametreler aşağıdaki tabloda listelenmiştir.
Kod örneği:
<script>
window.YandexRotorSettings = {
WaiterEnabled: true;
FailOnTimeout: false;
NoJsRedirectsToMain:true
}
</script>
Parametre |
Tip |
Açıklama |
|
Boole değeri |
Olası değerler:
Değer
Aşağıda durumların ayrıntılı açıklamasını görün. |
|
Boole değeri |
Olası değerler:
|
|
Boole değeri |
Olası değerler:
|
|
Boole değeri |
Olası değerler:
Zaman aşımını kullanıcı ayarlarında |
|
Boole değeri |
Olası değerler:
Parametreyi, siteniz Yandex botu, İçerik değişimini nasıl tespit edersinizArama sonuçlarında, ana sayfanın açıklamasının iç sayfaların açıklamasına değiştiğini veya rel="canonical" özniteliğinin iç sayfaların özniteliğine değiştiğini fark edebilirsiniz. |
JavaScript kodu uygulama örnekleri
-
İstenen CSS seçicisine sahip öğenin yüklenmesini bekleyin
<!-- '.observable-class' öğesini bekliyoruz. 10 saniye içinde oluşturulacak ---> <!-- Bu kod doğrudan html’inize eklenmelidir ---> <script> window.YandexRotorSettings = { WaiterEnabled: true } </script> <!-- Bu kod <script src="..."> ile yüklenebilir --> <script> var intervalId = setInterval(function() { if (document.querySelectorAll('.observable-class').length > 0) { window.YandexRotorSettings.IsLoaded = true; clearInterval(intervalId); } }, 1000); </script> <!-- Örnek bir script. İhtiyacımız olan sınıfa sahip bir öğe oluşturun --> <script> setTimeout(function() { var div = document.createElement('div'); div.classList.add('observable-class'); div.innerText = "Aradığınız droidler bunlar."; document.body.appendChild(div); }, 10000); </script>
Yüklemeden 5 saniye sonra bekleyin
<!-- Belirli öğeleri beklemeye güvenmenizi öneririz. Dizinleme botu kaynakları belirsiz bir süre boyunca yükleyebilir ---> <!-- Bu kod doğrudan html’inize eklenmelidir ---> <script> window.YandexRotorSettings = { WaiterEnabled: true } </script> <!-- Bu kod <script src="..."> ile yüklenebilir --> <script> setTimeout(function() { window.YandexRotorSettings.IsLoaded = true; }, 5000); </script>
isLoaded içinde fonksiyon uygulama örnekleri
-
Sayfanın durumunu kontrol edin
<!--Bu örnekte, sayfada 10’dan fazla div öğesi olup olmadığını kontrol ediyoruz--> window.YandexRotorSettings = { WaiterEnabled: true, IsLoaded: function() { return document.body.querySelectorAll('div').length > 10; } };
Başlık öğesinde içeriğin yüklenmesini bekleyin
window.YandexRotorSettings = { WaiterEnabled: true, IsLoaded: function() { return document.title.length > 0; } }