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.
-
Dizinleme → 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 |
Tür |
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” sınıfına sahip öğeyi beklemek istiyorsunuz. 10 saniye içinde oluşturulacak ---> <!-- Bu kod doğrudan html içine yerleştirilmelidir ---> <script> window.YandexRotorSettings = { WaiterEnabled: true } </script> <!-- Bu kod <script src="..."> ile yüklenebilir --> <script> var intervalId = kümeInterval(function() { if (document.querySelectorAll('.observable-class').length > 0) { window.YandexRotorSettings.IsLoaded = true; clearInterval(intervalId); } }, 1000); </script> <!-- Örnek bir betik. Gerekli 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 androidler bunlar."; document.body.appendChild(div); }, 10000); </script>
Yüklemeden 5 saniye sonra bekleyin
<!-- Belirli öğeleri beklemeye güvenmenizi öneririz. Bot, kaynakları belirsiz bir süre boyunca yükleyebilir ---> <!-- Bu kod doğrudan html içine yerleştirilmelidir ---> <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 işlev uygulama örnekleri
-
Sayfanın durumunu kontrol edin
<!--Ö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; } }