AJAX sitelerini dizine ekleme

AJAX sitesini dizine eklerken, Yandex robotu orijinal URL'leri tarar ve üzerlerinde JavaScript kodunu yürütür. Dizine ekleme ayarlarını ve aramadaki sayfaların durumunu kontrol etmek için şunu kullanın: JavaScript oluşturma.

Daha önce AJAX sayfalarının HTML sürümüne işaret etmek için meta etiketi kullandıysanız meta name="fragment" content="!", robot onu görmezden gelecek ve orijinal sayfayı dizine ekleyecektir.

Meta etiketi kullanma hakkında

AJAX sayfasının kodunda meta etiket belirtilmişse meta name="fragment" content="!", HTML sürümüne parametrenin eklenmesiyle adreste erişilebilir olmalıdır ?_escaped_fragment_= (parametre değeri boştur). Örneğin: http://www.example.com/?_escaped_fragment_=.

Daha önce Yandex robotuna sayfanın HTML sürümü hakkında parametreyi kullanarak bilgi verdiyseniz #!, bu yöntemi terk etmenizi öneririz:

  1. Dosyada Sitemap bağlantıların yapısını değiştirin — sembol içermemeleri için #.

  2. AJAX sayfalarındaki bağlantılarda sembol kullanılıyorsa #, adresleri bu sembol olmadan URL olarak değiştirin. Örneğin, Geçmiş API'sini kullanarak.

    History API hakkında ayrıntılar

    HTML bağlantılarından AJAX sayfalarında bağlantılar ararken, Yandex robotu yalnızca öznitelikteki URL'yi dikkate alır href. Bağlantı adreslerinde parçalar kullanmayın (<a href="#/example">Example</a>). Bunun yerine kullanmanızı öneririz History API. Oturum içindeki tarayıcı geçmişinin değiştirilmesine izin verir: sayfanın içine yüklenen sekme veya çerçeve içindeki ziyaret edilen sayfalar hakkında.

    Örneğin, robot bu durumda bağlantıları tespit edemeyecektir:

    <nav>
      <ul>
        <li><a href="#/clothes">Clothes</a></li>
        <li><a href="#/shoes">Shoes</a></li>
      </ul>
    </nav>
    
    <h1>Welcome to example.com!</h1>
    <div id="note">
      <p>Learn more about our <a href="#/clothes">clothes</a> and <a href="#/shoes">shoes</p>
    </div>
    <script>
    window.addEventListener('hashchange', function goToPage() {
      // this function loads different content based on the current URL fragment
      const pageToLoad = window.location.hash.slice(1); // URL fragment
      document.getElementById('placeholder').innerHTML = load(pageToLoad);
    });
    </script>
    

    Geçmiş API'sine geçiş, bağlantıları erişilebilir hale getirecektir:

    <nav>
      <ul>
        <li><a href="/clothes">Clothes</a></li>
        <li><a href="/shoes">Shoes</a></li>
      </ul>
    </nav>
    
    <h1>Welcome to example.com!</h1>
    <div id="note">
      <p>Learn more about our <a href="/clothes">clothes</a> and <a href="/shoes">shoes</p>
    </div>
    <script>
    function goToPage(event) {
      event.preventDefault(); // stop the browser from navigating to the destination URL.
      const hrefUrl = event.target.getAttribute('href');
      const pageToLoad = hrefUrl.slice(1); // remove the leading slash
      document.getElementById('placeholder').innerHTML = load(pageToLoad);
      window.history.pushState({}, window.title, hrefUrl) // Update URL as well as browser history.
    }
    
    // Enable client-side routing for all links on the page
    document.querySelectorAll('a').forEach(link => link.addEventListener('click', goToPage));
    
    </script>
    
  3. Aramada sitenin durumu için önemli olan göstergeleri kaydetmek için yapılandırın 301 yönlendirme eski sayfalardan yenilerine. Örneğin, sayfa için http://www.example.com/?_escaped_fragment_=blog yönlendirme şu adrese yönlendirilecek http://www.example.com/blog. Arama kullanıcılarının rahatlığı için, görünüm sayfasından yönlendirmeyi de yapılandırın http://www.example.com/#!blog açık http://www.example.com/blog.

Robotun web sitenizin sayfaları hakkında daha hızlı bilgi edinmesini sağlamak için, Sayfaların HTML sürümlerini değiştirmek için gönderin biçiminde http://www.example.com/?_escaped_fragment_=blog. HTML sayfaları arama sonuçlarında göründüğünde, bağlantılar kullanıcıları sitenin AJAX sayfalarına yönlendirecektir.

Destek ekibine yazın



Ayrıca hizmete yükseltebilirsiniz