---
metadata:
  - name: generator
    content: Diplodoc Platform v5.59.0
alternate:
  - https://yandex.com/support/webmaster/en/robot-workings/ajax-indexing.md
  - https://yandex.com/support/webmaster/tr/robot-workings/ajax-indexing.md
  - href: https://yandex.com/support/webmaster/en/robot-workings/ajax-indexing.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.com/support/webmaster/en/llms.txt
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/webmaster/en/llms.txt


# Indexing AJAX sites

When indexing an AJAX site, the Yandex bot scans the original URLs and executes JavaScript code on them. To check indexing settings and the status of pages in search, use [JavaScript Rendering](https://yandex.com/support/webmaster/en/yandex-indexing/rendering.md).

If you previously used the `meta name="fragment" content="!"` meta tag to indicate the HTML version of AJAX pages, the bot will ignore it and index the original page.


{% cut "On using the meta tag" %}


If the AJAX page code specifies the `meta name="fragment" content="!"` meta tag, its HTML version should be accessible at the address with the addition of the `?_escaped_fragment_=` parameter (empty parameter value). For example: `http://www.example.com/?_escaped_fragment_=`.


{% endcut %}


If you previously informed the Yandex bot about the HTML version of the page using the `#!` parameter, we recommend abandoning this method:
1. In the [Sitemap](https://yandex.com/support/webmaster/en/controlling-robot/sitemap.md) file, change the link structure so that they do not contain the `#` character.
1. If the links on AJAX pages use the `#` character, change the addresses to URLs without this character. For example, you may use the History API.
    
    {% cut "Details about the History API" %}
    
    When searching for links on AJAX pages from HTML links, the Yandex bot only considers URLs in the `href` attribute. Do not use fragments in link addresses (`<a href="#/example">Example</a>`). Instead, we recommend using the [History API](https://developer.mozilla.org/ru/docs/Web/API/History). It allows you to manipulate the browser’s history within a session (about the pages visited within the tab or the frame loaded inside the page).
    
    For example, the bot will not be able to detect links in the following case:
    
    ```html
    <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>
    
    ```
    
    Switching to the History API will make the links accessible:
    
    ```html
    <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>
    
    ```
    
    {% endcut %}
    
1. To keep metrics that are important for the site’s search status, set up a [301 redirect](https://yandex.com/support/webmaster/en/error-dictionary/http-codes.md#redirect-3xx) from the old pages to the new ones. For example, the redirect for the `http://www.example.com/?_escaped_fragment_=blog` page will lead to `http://www.example.com/blog`. To make searching more convenient for users, also set up a redirect from `http://www.example.com/#!blog` to `http://www.example.com/blog`.

To help the bot learn about your site’s pages faster, [submit the HTML versions of the pages for reindexing](https://webmaster.yandex.com/site/indexing/reindex/) in the `http://www.example.com/?_escaped_fragment_=blog` format. When the HTML pages appear in the search results, the links will redirect users to the AJAX pages of the site.


<div class="cut-button">

{% cut "Contact support" %}

If the pages don't appear in the search results for a long time or were excluded from them, or if you have other questions about indexing of AJAX sites, fill out the form below:




<div style="padding: 15px;
      margin: 10px 0;
      background: #FFFFFF;
      border-radius: 10px;
      border: 1px solid var(--yc-color-line-generic);">
<iframe style="background: #FFFFFF;"
      height="700"
      width="100%"
      frameborder="0"
      src="https://forms.yandex.com/surveys/4545/?&iframe=1&lang=en">
</iframe>
</div>




{% endcut %}



<!-- source: en/_includes/footer.md -->
<div width="100%" align="center" class="main-footer"> 
<br><br><br>
You can also go to 
<br><br>




[![](../_assets/logo/logo-pic.svg)](https://webmaster.yandex.com/) [![](../_assets/logo/logo-en.svg)](https://webmaster.yandex.com/)



</div>


<!-- source: en/_includes/styles/footer-style.md -->

<!-- endsource: en/_includes/styles/footer-style.md -->
<!-- endsource: en/_includes/footer.md -->

<!-- source: en/_includes/cut-button-style.md -->

<!-- endsource: en/_includes/cut-button-style.md -->

