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

  1. Yandex Webmaster’a gidin.

  2. DizinlemeJavaScript sayfa işlemeβ bölümüne gidin.

  3. 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

WaiterEnabled

Boole değeri

Olası değerler:

  • true;
  • false.

Değer doğru olduğunda, durumları kontrol etmek mümkündür:

  • Yüklendi;
  • Hata.

Aşağıda durumların ayrıntılı açıklamasını görün.

Yüklendi

Boole değeri

Olası değerler:

  • doğru — DomContentLoaded olayı yürütülürse, içerik yüklendi kabul edilir ve sayfa içeriği Yandex botu tarafından dizinlenir.
  • false.
  • Keyfi işlev. Örnekler

Hata

Boole değeri

Olası değerler:

  • doğru — içerik yüklemesi hatalı kabul edilir ve sayfa içeriği Yandex botu tarafından işlenmez;
  • false.

ZamanAşımındaBaşarısız

Boole değeri

Olası değerler:

  • doğru — zaman aşımı süresi dolduktan sonra, bot sayfayı dizinlemez;
  • yanlış — bot, zaman aşımı süresi dolmadan önce yüklemeyi başardığı içeriği dizinler.

Zaman aşımını kullanıcı ayarlarında WaiterEnabled: true ise ayarlayabilirsiniz.

NoJsAnaSayfayaYönlendirme

Boole değeri

Olası değerler:

  • doğru — Yandex botu site ana sayfasına yönlendirmeyi görmezden gelir;
  • false.

Parametreyi, siteniz window.history.back() çağrısını uyguluyorsa, örneğin History API kullanırken kullanın.

Yandex botu, window.history.back() çağrısını içeriği değiştirmeden ana sayfaya geçiş olarak algılar. Sonuç olarak, diğer sayfalardan içerik ana sayfada görünebilir.

İçerik değişimini nasıl tespit edersiniz

Arama 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;
    }
}

Daha fazla bilgi edinin

Destek Birimiyle İletişime Geçin

Sayfalar uzun süre arama sonuçlarında görünmüyorsa veya hariç tutulduysa ya da sitenin alt etki alanlarının dizinlenmesi hakkında başka sorularınız varsa, aşağıdaki formu doldurun:




Ayrıca şuraya gidebilirsiniz: