---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://yandex.com/support/webmaster/en/yandex-indexing/rendering.md
  - https://yandex.com/support/webmaster/tr/yandex-indexing/rendering.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/webmaster/en/llms.txt


# Indexing pages with JavaScript ^β^

With Yandex Webmaster, you can manage the indexing of site pages where content is displayed via JavaScript. You can specify whether the indexing bot should execute JavaScript on pages when crawling your site. This can be useful if SSR (Server-Side Rendering) or pre-rendering is not implemented on the site.


{% note info %}

Executing JavaScript code may create additional load on your server.

{% endnote %}


## Indexing management {#indexing}

1. Go to Yandex Webmaster.
1. Go to **Indexing** → **JavaScript page rendering**<sup >β</sup>.
1. Choose one of the options. By default, **At the bot’s discretion** is enabled. This means the bot will independently determine whether to execute JavaScript code on the site’s pages. To make a decision, it may, for example, assess the quality and completeness of the content on the pages with and without JavaScript and load the one that is likely to be more useful to the visitor.
    
    {% note tip %}
    
    Prohibit rendering if SSR (Server-Side Rendering) or pre-rendering is implemented on the site.
    
    {% endnote %}
    

## Advanced rendering settings {#spec}

If content on your site loads with a delay, you can inform Yandex about it using a special JavaScript code.

On website pages where content loads with a delay, create the `window.YandexRotorSetting` object in such a way that it is processed before the [DomContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event) event. Within this object, you can specify parameters that the Yandex bot will respond to when processing the page. The parameters are listed in the table below.

Code example:

```javascript

```


#|
||
**Parameter**
|
**Type**
|
**Description**
||
||
`WaiterEnabled`
|
Boolean
|
Possible values:
- `true`;
- `false`.

When the value is `true`, it is possible to check the states:
- `IsLoaded`;
- `IsError`.

See the detailed description of the states below.
||
||
`IsLoaded`
|
Boolean
|
Possible values:
- `true` — if the `DomContentLoaded` event is executed, the content is considered loaded, and the page content is indexed by the Yandex bot.
- `false`.
- Arbitrary function. [Examples](#isloaded-ex)
||
||
`IsError`
|
Boolean
|
Possible values:
- `true` — content loading is considered erroneous, and the page content is not processed by the Yandex bot;
- `false`.
||
|#


#|
||
`FailOnTimeout`
|
Boolean
|
Possible values:
- `true` — after the timeout expires, the bot will not index the page;
- `false` — the bot will index the part of the content that it manages to load before the timeout expires.

You can set the timeout in user settings if `WaiterEnabled: true`.
||
||
`NoJsRedirectsToMain`
|
Boolean
|
Possible values:
- `true` — the Yandex bot will ignore the redirect to the home page of the site;
- `false`.

Use the parameter if your site implements a call to `window.history.back()`, for example, when using the [History API](https://yandex.com/support/webmaster/en/robot-workings/ajax-indexing.md).

The Yandex bot perceives the call to `window.history.back()` as a transition to the home page without changing the content. As a result, content from other pages may appear on the home page.

{% cut "How to detect content substitution" %}


You may notice that in search results, the description of the home page changes to the description of internal pages, or the [rel="canonical"](https://yandex.com/support/webmaster/en/robot-workings/canonical.md) attribute changes to the attribute of internal pages.


{% endcut %}
||
|#

**Examples of JavaScript code implementation**

 
:   {% cut "Wait for the element with the desired CSS selector to load" %}
    
    
    ```javascript
    <!-- We're waiting for an '.observable-class' element.
    It will be created in 10 seconds --->
    
    <!-- This code should be inserted directly into your html --->
    
    
    <!-- This code can be loaded via 
    
    <!-- An example script. Create an element with the class we need -->
    
    ```
    
    
    {% endcut %}
    
    {% cut "Wait 5 seconds after loading" %}
    
    
    ```javascript
    <!-- We recommend relying on waiting for specific elements.
    The indexing bot may load resources for an indefinitely long time --->
    
    <!-- This code should be inserted directly into your html --->
    
    
    <!-- This code can be loaded via 
    ```
    
    
    {% endcut %}

**Examples of function implementation within isLoaded**{#isloaded-ex}

 
:   {% cut "Check the status of the page" %}
    
    
    ```javascript
    <!--In this example, we check if there are more than 10 div elements on the page-->
    
    window.YandexRotorSettings ={
                WaiterEnabled: true,
                IsLoaded: function() {
                    return document.body.querySelectorAll('div').length > 10;
                }
            };
    ```
    
    
    {% endcut %}
    
    {% cut "Wait for content to load in the title element" %}
    
    
    ```javascript
    window.YandexRotorSettings = {
        WaiterEnabled: true,
        IsLoaded: function() {
            return document.title.length > 0;
        }
    }
    ```
    
    
    {% endcut %}

## Learn more

- [Сheck page](https://yandex.com/support/webmaster/en/service/check-url.md)


<div class="cut-button">

{% cut "Contact support" %}

If the pages don't appear in search results for a long time or were excluded, or if you have other questions about indexing of subdomains of the site, 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 %}

</div>


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




[<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" width="45" height="41" viewBox="0 0 94 86"><defs></defs><g id="svg-an28fg0h__webmaster" fill-rule="evenodd"><path d="M23 56l-5 5-18-18 18-18 5 5-13 13 13 13z" id="svg-an28fg0h__path-1" class="cls-3"/><path d="M71 30l5-5 18 18-18 18-5-5 13-13-13-13z" id="svg-an28fg0h__path-2" class="cls-3"/><path d="M71 13.955c0-3.902-1.589-7.431-4.151-9.975l-4.187 11.967-11.324-3.984 4.188-11.97c-7.039.739-12.526 6.707-12.526 13.962 0 3.903 1.589 7.431 4.151 9.975l-11.625 34.153c-7.039.739-12.526 6.706-12.526 13.962 0 3.902 1.589 7.431 4.151 9.975l4.187-11.967 11.324 3.984-4.188 11.969c7.039-.738 12.526-6.706 12.526-13.961 0-3.902-1.589-7.431-4.151-9.975l11.625-34.153c7.039-.739 12.526-6.706 12.526-13.962z" id="svg-an28fg0h__path-3" class="cls-5"/></g></svg>](https://webmaster.yandex.com/) [<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="31" viewBox="0 0 243 37"><path fill="currentColor" d="M15.15 18.04L19.84 7.39L15.95 7.39L11.25 18.04ZM12.65 29.42L12.65 25.68C12.65 22.86 12.30 22.03 11.22 19.69L5.58 7.39L1.58 7.39L8.81 23.11L8.81 29.42ZM55.22 29.73C57.00 29.73 58.45 28.91 59.47 27.36L59.66 29.42L63.15 29.42L63.15 7.39L59.37 7.39L59.37 15.34C58.42 13.92 57.03 13.16 55.38 13.16C51.73 13.16 49.20 16.23 49.20 21.56C49.20 26.82 51.67 29.73 55.22 29.73ZM78.39 28.34L78.39 25.26C77.22 26.06 75.26 26.75 73.42 26.75C70.66 26.75 69.61 25.46 69.45 22.79L78.55 22.79L78.55 20.80C78.55 15.25 76.11 13.16 72.34 13.16C67.74 13.16 65.56 16.67 65.56 21.49C65.56 27.04 68.28 29.73 73.10 29.73C75.51 29.73 77.28 29.10 78.39 28.34ZM37.79 17.97C38.48 17.12 39.59 16.39 40.96 16.39C42.29 16.39 42.89 16.96 42.89 18.16L42.89 29.42L46.66 29.42L46.66 17.78C46.66 14.61 45.39 13.22 42.32 13.22C40.07 13.22 38.74 14.04 37.98 14.80L37.79 14.80L37.69 13.47L34.01 13.47L34.01 29.42L37.79 29.42ZM30.94 18.54C30.94 14.68 28.97 13.22 24.98 13.22C22.48 13.22 20.51 14.01 19.37 14.68L19.37 17.82C20.38 17.05 22.60 16.23 24.54 16.23C26.34 16.23 27.17 16.86 27.17 18.58L27.17 19.46L26.56 19.46C20.80 19.46 18.23 21.37 18.23 24.60C18.23 27.83 20.19 29.64 23.11 29.64C25.33 29.64 26.28 28.91 27.01 28.15L27.17 28.15C27.20 28.56 27.33 29.10 27.45 29.42L31.13 29.42C31.00 28.12 30.94 26.82 30.94 25.52ZM90.00 29.42L94.24 29.42L89.05 21.21L93.55 13.47L89.77 13.47L87.05 18.29L84.00 13.47L79.76 13.47L84.58 21.11L79.57 29.42L83.40 29.42L86.60 24.03ZM56.33 16.14C58.36 16.14 59.37 17.75 59.37 21.43C59.37 25.14 58.30 26.75 56.17 26.75C54.11 26.75 53.10 25.17 53.10 21.56C53.10 17.78 54.18 16.14 56.33 16.14ZM72.28 16.14C74.15 16.14 74.72 17.69 74.72 19.69L74.72 20.00L69.45 20.00C69.55 17.47 70.47 16.14 72.28 16.14ZM27.17 25.61C26.69 26.31 25.80 26.88 24.47 26.88C22.89 26.88 22.09 25.99 22.09 24.63C22.09 22.82 23.39 22.16 26.63 22.16L27.17 22.16ZM110.16 29.42L112.92 12.68L115.42 29.42L120.71 29.42L123.73 7.39L120.46 7.39L118.18 24.38L115.42 7.39L110.66 7.39L107.84 24.47L105.62 7.39L102.01 7.39L105.02 29.42ZM137.51 28.34L137.51 25.26C136.34 26.06 134.38 26.75 132.54 26.75C129.78 26.75 128.73 25.46 128.58 22.79L137.67 22.79L137.67 20.80C137.67 15.25 135.23 13.16 131.46 13.16C126.86 13.16 124.68 16.67 124.68 21.49C124.68 27.04 127.40 29.73 132.22 29.73C134.63 29.73 136.41 29.10 137.51 28.34ZM131.40 16.14C133.27 16.14 133.84 17.69 133.84 19.69L133.84 20.00L128.58 20.00C128.67 17.47 129.59 16.14 131.40 16.14ZM143.70 29.42L143.89 27.39C144.87 28.91 146.30 29.73 148.04 29.73C151.65 29.73 154.16 26.79 154.16 21.46C154.16 16.10 151.65 13.16 148.04 13.16C146.36 13.16 144.96 13.92 143.98 15.37L143.98 7.39L140.21 7.39L140.21 29.42ZM147.09 16.14C149.21 16.14 150.26 17.75 150.26 21.46C150.26 25.14 149.21 26.75 147.09 26.75C145.03 26.75 143.98 25.14 143.98 21.43C143.98 17.75 145.03 16.14 147.09 16.14ZM160.47 17.97C161.16 17.12 162.11 16.39 163.48 16.39C164.81 16.39 165.25 16.96 165.25 18.16L165.25 29.42L169.02 29.42L169.02 17.97C169.72 17.12 170.67 16.39 172.04 16.39C173.37 16.39 173.81 16.96 173.81 18.16L173.81 29.42L177.58 29.42L177.58 17.78C177.58 14.61 176.47 13.22 173.40 13.22C170.96 13.22 169.50 14.17 168.61 15.25C168.01 13.85 166.74 13.22 164.68 13.22C162.43 13.22 161.42 14.04 160.66 14.80L160.47 14.80L160.37 13.47L156.69 13.47L156.69 29.42L160.47 29.42ZM192.51 18.54C192.51 14.68 190.55 13.22 186.55 13.22C184.05 13.22 182.08 14.01 180.94 14.68L180.94 17.82C181.96 17.05 184.18 16.23 186.11 16.23C187.92 16.23 188.74 16.86 188.74 18.58L188.74 19.46L188.14 19.46C182.37 19.46 179.80 21.37 179.80 24.60C179.80 27.83 181.77 29.64 184.68 29.64C186.90 29.64 187.85 28.91 188.58 28.15L188.74 28.15C188.77 28.56 188.90 29.10 189.03 29.42L192.70 29.42C192.58 28.12 192.51 26.82 192.51 25.52ZM188.74 25.61C188.27 26.31 187.38 26.88 186.05 26.88C184.46 26.88 183.67 25.99 183.67 24.63C183.67 22.82 184.97 22.16 188.20 22.16L188.74 22.16ZM200.47 29.73C204.21 29.73 206.65 28.18 206.65 24.41C206.65 21.62 204.72 20.16 201.52 19.72C199.93 19.50 198.60 19.31 198.60 17.78C198.60 16.58 199.55 16.04 201.33 16.04C203.77 16.04 205.32 16.93 205.57 17.12L205.57 14.04C205.57 14.04 204.08 13.16 200.95 13.16C197.08 13.16 194.92 15.18 194.92 17.94C194.92 20.76 196.54 22.22 199.65 22.63C201.83 22.92 203.01 23.52 203.01 24.92C203.01 26.15 202.02 26.75 199.87 26.75C197.11 26.75 195.34 25.33 195.02 25.17L195.02 28.24C195.02 28.24 196.79 29.73 200.47 29.73ZM207.44 13.47L207.44 16.45L209.44 16.45L209.44 24.63C209.44 27.61 211.12 29.73 214.61 29.73C216.45 29.73 217.49 29.32 217.49 29.32L217.49 26.25C217.49 26.25 216.80 26.75 215.53 26.75C213.94 26.75 213.21 25.84 213.21 24.66L213.21 16.45L217.18 16.45L217.18 13.47L213.21 13.47L213.21 9.99L209.44 9.99L209.44 13.47ZM231.28 28.34L231.28 25.26C230.11 26.06 228.14 26.75 226.31 26.75C223.55 26.75 222.50 25.46 222.34 22.79L231.44 22.79L231.44 20.80C231.44 15.25 229.00 13.16 225.23 13.16C220.63 13.16 218.44 16.67 218.44 21.49C218.44 27.04 221.17 29.73 225.99 29.73C228.40 29.73 230.17 29.10 231.28 28.34ZM225.17 16.14C227.04 16.14 227.61 17.69 227.61 19.69L227.61 20.00L222.34 20.00C222.44 17.47 223.36 16.14 225.17 16.14ZM237.75 19.46C238.80 17.53 240.35 16.55 242.66 16.67L242.66 13.12C240.51 13.25 238.73 14.55 237.85 16.64L237.75 16.64L237.65 13.47L233.98 13.47L233.98 29.42L237.75 29.42Z"/></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 -->
