JavaScript ile sayfaları dizine ekleme β
Bir web Yöneticisi ile, içeriğin JavaScript aracılığıyla görüntülendiği site sayfalarının dizine eklenmesini yönetebilirsiniz — sitenizde gezinirken robotun sayfalarda JavaScript yürütmesi gerekip gerekmediğini belirleyebilirsiniz. Bu, sitede SSR (Sunucu Tarafı Oluşturma) veya ön oluşturma uygulanmıyorsa yararlı olabilir.
Not
JavaScript kodunu çalıştırırken robot, sunucunuza ek yük bindirebilir.
İndekslemeyi yönetme
-
Web Yöneticisine gidin.
-
Sayfasına gidin İndeksleme → JavaScript sayfalarını oluşturmaβ.
-
Seçeneklerden birini seçin. Varsayılan olarak seçenek etkindir Robotun takdirine bağlı olarak. Bu, robotun sitenin sayfalarında JavaScript kodu çalıştırıp çalıştırmayacağını bağımsız olarak belirleyeceği anlamına gelir. Örneğin, bir karar vermek için javascript'li veya javascriptsiz bir sayfadaki içeriğin kalitesini ve eksiksizliğini değerlendirebilir ve site ziyaretçisi için daha yararlı olabilecek içeriği yükleyebilir.
Öneri
Sitede SSR (Sunucu Tarafı Oluşturma) veya ön oluşturma uygulanmışsa oluşturmayı önleyin.
Gelişmiş oluşturma ayarları
Sitenizde içerik gecikmeli olarak yükleniyorsa, bunu özel bir JavaScript kodu kullanarak Yandex'e bildirebilirsiniz.
İçeriğin gecikmeli olarak yüklendiği site sayfalarında bir nesne oluşturun window.YandexRotorSetting
olaydan önce işlenecek şekilde DomContentLoaded. Bu nesnenin içinde, sayfayı işlerken Yandex robotunun yanıt vereceği parametreleri belirleyebilirsiniz. Parametreler aşağıdaki tabloda gösterilmektedir.
Örnek kod:
<script>
window.YandexRotorSettings = {
WaiterEnabled: true;
FailOnTimeout: false;
NoJsRedirectsToMain:true
}
</script>
Parametre |
Türü |
Açıklama |
|
Boolean |
Olası değerler:
Değeri ile
Aşağıdaki durumların ayrıntılı bir açıklaması. |
|
Boolean |
Olası değerler:
|
|
Boolean |
Olası değerler:
|
|
Boolean |
Olası değerler:
Zaman aşımını kullanıcı ayarlarında şu durumlarda ayarlayabilirsiniz: |
|
Boolean |
Olası değerler:
Sitenizde bir çağrı uygulanmışsa parametreyi kullanın Yandex robotu meydan okumayı algılıyor İçerik sahtekarlığı nasıl belirlenirArama sonuçlarında ana sayfanın açıklamasının dahili sayfanın açıklamasına veya bir özniteliğe dönüştüğünü fark edebilirsiniz rel="canonical" iç sayfaların niteliğine göre değişir. |
JavaScript kodu uygulama örnekleri
-
Öğenin istenen CSS seçiciyle yüklenmesini bekleyin
<!-- Sınıfı olan öğeyi beklemek istiyoruz '.observable-class'. 10 saniye sonra oluşturulacak ---> <!-- Bu kod doğrudan html'ye eklenmelidir ---> <script> window.YandexRotorSettings = { WaiterEnabled: true } </script> <!-- Bu kod <script src=" aracılığıyla indirilebilir...">--> <script> var intervalId = setInterval(function() { if (document.querySelectorAll('.observable-class').length > 0) { window.YandexRotorSettings.IsLoaded = true; clearInterval(intervalId); } }, 1000); </script> <!-- Örnek için komut dosyası. İstenen sınıfa sahip bir öğe oluşturuyoruz --> <script> setTimeout(function() { var div = document.createElement('div'); div.classList.add('observable-class'); div.innerText = "These are the droids you're looking for."; document.body.appendChild(div); }, 10000); </script>
İndirdikten sonra 5 saniye bekleyin
<!-- Belirli unsurları beklemeye güvenmenizi öneririz. Kaynakların robot tarafından yüklenmesi süresiz olabilir ---> <!-- Bu kod doğrudan html'ye eklenmelidir ---> <script> window.YandexRotorSettings = { WaiterEnabled: true } </script> <!-- Bu kod <script src=" aracılığıyla indirilebilir...">--> <script> setTimeout(function() { window.YandexRotorSettings.IsLoaded = true; }, 5000); </script>
isLoaded içindeki bir işlevin uygulanmasına örnekler
-
Sayfa durumunu kontrol et
<!--Örnekte, sayfaya 10'dan fazla div öğesinin yerleştirildiğini kontrol ediyoruz--> window.YandexRotorSettings = { WaiterEnabled: true, IsLoaded: function() { return document.body.querySelectorAll('div').length > 10; } };
Başlık öğesindeki içeriğin yüklenmesini bekleyin
window.YandexRotorSettings = { WaiterEnabled: true, IsLoaded: function() { return document.title.length > 0; } }