---
metadata:
  - name: generator
    content: Diplodoc Platform v5.66.1
alternate:
  - https://yandex.ru/support/webmaster/en/yandex-indexing/rendering.md
  - https://yandex.ru/support/webmaster/ru/yandex-indexing/rendering.md
  - href: https://yandex.ru/support/webmaster/ru/yandex-indexing/rendering.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/webmaster/ru/llms.txt?revision=r22014549
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/webmaster/ru/llms.txt?revision=r22014549


# Индексирование страниц с JavaScript ^β^

С помощью Яндекс Вебмастера вы можете управлять индексированием страниц сайта, на которых контент отображается через JavaScript — указать, следует ли роботу выполнять JavaScript на страницах при обходе вашего сайта. Это может быть полезно, если на сайте не реализован SSR (Server-Side Rendering) или пререндеринг.


{% note info %}

При выполнении JavaScript-кода робот может создавать дополнительную нагрузку на ваш сервер.

{% endnote %}


## Управление индексированием {#indexing}

1. Перейдите в Яндекс Вебмастер.
1. Перейдите на страницу **Индексирование**&nbsp;→ **Рендеринг страниц JavaScript**<sup >β</sup>.
1. Выберите одну из опций. По умолчанию включена опция **На усмотрение робота Яндекса**. Это значит, что робот самостоятельно определит, выполнять ли JavaScript-код на страницах сайта. Например, для принятия решения он может оценить качество и полноту контента на странице с JavaScript и без и загрузить ту, которая может оказаться более полезной для посетителя сайта.
    
    {% note tip %}
    
    Запретите рендеринг, если на сайте реализован SSR (Server-Side Rendering) или пререндеринг.
    
    {% endnote %}
    

## Расширенные настройки рендеринга {#spec}

Если на вашем сайте контент загружается с задержкой, вы можете сообщить об этом Яндексу с помощью специального кода JavaScript.

На страницах сайта, где контент загружается с задержкой, создайте объект `window.YandexRotorSetting` таким образом, чтобы он обрабатывался до события [DomContentLoaded](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event). Внутри этого объекта можно указать параметры, на которые будет реагировать робот Яндекса при обработке страницы. Параметры приведены в таблице ниже.

Пример кода:

```javascript

```


#|
||
**Параметр**
|
**Тип**
|
**Описание**
||
||
`WaiterEnabled`
|
Boolean
|
Возможные значения:
- `true`;
- `false`.

При значении `true` возможна проверка состояний:
- `IsLoaded`;
- `IsError`.

Подробное описание состояний ниже.
||
||
`IsLoaded`
|
Boolean
|
Возможные значения:
- `true` — при условии выполнения события `DomContentLoaded` контент считается загруженным, содержимое страницы попадает в базу робота Яндекса.
- `false`.
- Произвольная функция. [Примеры](#isloaded-ex)
||
||
`IsError`
|
Boolean
|
Возможные значения:
- `true` — загрузка контента считается ошибочной, содержимое страницы не обрабатывается роботом Яндекса;
- `false`.
||
|#


#|
||
`FailOnTimeout`
|
Boolean
|
Возможные значения:
- `true` — по истечение тайм-аута страница не попадет в базу робота;
- `false` — в базу попадет часть контента, которую робот успеет загрузить до истечения тайм-аута.

Тайм-аут можно задать в пользовательских настройках при `WaiterEnabled: true`.
||
||
`NoJsRedirectsToMain`
|
Boolean
|
Возможные значения:
- `true` — робот Яндекса проигнорирует редирект на главную страницу сайта;
- `false`.

Используйте параметр, если на вашем сайте реализован вызов `window.history.back()`, например, при использовании [History API](https://yandex.ru/support/webmaster/ru/robot-workings/ajax-indexing.md).

Робот Яндекса воспринимает вызов `window.history.back()` как переход на главную страницу без изменения содержимого. В результате на главную страницу может попадать контент с других страниц.

{% cut "Как определить подмену контента" %}


Вы можете заметить, что в результатах поиска описание главной страницы меняется на описание внутренних или атрибут [rel="canonical"](https://yandex.ru/support/webmaster/ru/robot-workings/canonical.md) меняется на атрибут внутренних страниц.


{% endcut %}
||
|#

**Примеры реализации JavaScript-кода**

 
:   {% cut "Дождаться загрузки элемента с нужным CSS-селектором" %}
    
    
    ```javascript
    <!-- Хотим дождаться элемента с классом '.observable-class'.
    Он будет создан через 10 секунд --->
    
    <!-- Этот код должен быть вставлен прямо в html --->
    
    
    <!-- Этот код можно загружать через 
    
    <!-- Скрипт для примера. Создаем элемент с нужным классом -->
    
    ```
    
    
    {% endcut %}
    
    {% cut "Подождать 5 секунд после загрузки" %}
    
    
    ```javascript
    <!-- Рекомендуем полагаться на ожидание конкретных элементов.
    Загрузка ресурсов роботом может занимать неопределенное время --->
    
    <!-- Этот код должен быть вставлен прямо в html --->
    
    
    <!-- Этот код можно загружать через 
    ```
    
    
    {% endcut %}

**Примеры реализации функции внутри isLoaded**{#isloaded-ex}

 
:   {% cut "Проверить состояние страницы" %}
    
    
    ```javascript
    <!--В примере проверяем, что на странице размещено больше 10 элементов div-->
    
    window.YandexRotorSettings = {
                WaiterEnabled: true,
                IsLoaded: function() {
                    return document.body.querySelectorAll('div').length > 10;
                }
            };
    ```
    
    
    {% endcut %}
    
    {% cut "Дождаться загрузки контента в элементе title" %}
    
    
    ```javascript
    window.YandexRotorSettings = {
        WaiterEnabled: true,
        IsLoaded: function() {
            return document.title.length > 0;
        }
    }
    ```
    
    
    {% endcut %}

## Узнайте больше

- [Проверка страницы](https://yandex.ru/support/webmaster/ru/service/check-url.md)



<!-- source: ru/_includes/popup/id-popup/chat-bot.md -->
<div class="help-block" role="complementary" aria-label="Блок помощи">

Если у вас остались вопросы, напишите в чат службы поддержки. Для этого в правом нижнем углу нажмите значок ![](../_assets/logo-mes-1.svg). Чат доступен ежедневно с 8:00 до 00:00 по московскому времени.

</div>


<!-- endsource: ru/_includes/popup/id-popup/chat-bot.md -->


<!-- source: ru/_includes/footer.md -->
<div width="100%" align="center" class="main-footer"> 
<br><br><br>
Также вы можете перейти на сервис 
<br><br>


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





</div>


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

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

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

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