# Яндекс Вебмастер: как работает коннектор

В этой статье вы узнаете, как коннектор Яндекс Вебмастера выгружает данные в хранилище ROMI center: с какой периодичностью, как устроены таблицы и что происходит при перезаписи данных. Это не рекламный коннектор — здесь нет расходов, UTM-меток и кампаний. Полный список полей — в статье [Яндекс Вебмастер: описание выгружаемых полей](https://help-ru.romi.center/yandeks-vebmaster-opisanie-vygruzhaemyh-polej).

## Пять таблиц вместо одной

Одно подключение Яндекс Вебмастера наполняет пять таблиц — по одной на каждый набор данных. Выбора наборов и полей у коннектора нет: включены все.

| Таблица | Что внутри | Строка = | Как обновляется |
| --- | --- | --- | --- |
| `…_popular_queries` | популярные поисковые запросы | запрос × день | перезапись дня |
| `…_serp_queries` | запросы в поисковой выдаче с разбивкой по страницам и регионам | запрос × страница × регион × день | перезапись дня |
| `…_total_history` | история показов, кликов, позиций и ссылок по сайту целиком | день | перезапись дня |
| `…_summary` | сводка: индекс качества, страницы в поиске, проблемы сайта | день выгрузки | перезапись дня |
| `…_important_urls` | мониторинг важных страниц: статусы индексации и обхода | страница | таблица очищается целиком |

Имя таблицы: `ywm_<транслитерированный хост>_<id подключения>_<набор>` (например `ywm_client_1_popular_queries`).

> **Важно**
> Мониторинг важных страниц — это снимок, а не история. У этих данных нет даты: при каждой выгрузке таблица очищается и наполняется текущим состоянием, прошлые статусы страниц в ней не хранятся.

> **Важно**
> Сводка привязана к дате выгрузки, а не к дате данных. Яндекс отдаёт её как «состояние сейчас», и коннектор проставляет сегодняшнее число — при перезаливе старого периода строки сводки лягут на текущий день, а не на выгружаемый.

## Периодичность

Выгрузка идёт раз в сутки. Окно урезано до трёх дней — «вчера» и два предыдущих, по одному заданию на день (у рекламных коннекторов окно семь дней; здесь оно короче из-за ограничений тарифа на отчёт по запросам выдачи). Текущий день не выгружается.

Это же ограничение действует и на ручную перезагрузку: какой бы период вы ни выбрали в кабинете, задания создадутся только за последние три дня этого интервала. Длинную историю разом не набрать — только повторными запусками по трёхдневным отрезкам.

## Два запроса, из которых собираются популярные запросы

За каждый день коннектор делает два запроса к API — топ по показам и топ по кликам — и объединяет результаты. В таблице `popular_queries` лежит объединение этих двух топов, а не полный список запросов сайта.

## Отчёт по выдаче — отдельная фаза

Запросы в поисковой выдаче (`serp_queries`) Яндекс отдаёт не сразу, а готовит файл по заказу — это отдельная фаза, которая запускается после основной выгрузки. Отчёт готовится от 20 минут до суток; пока он не готов, коннектор периодически проверяет готовность.

Заказ отчёта делается только для страниц из мониторинга важных страниц и только за даты, которые Яндекс объявил доступными. Если важных страниц нет или доступных дат в окне не оказалось, вторая фаза не запускается — таблица `serp_queries` останется без новых строк.

## Как сохраняет данные

*   **Куда:** хранилище ROMI center на движке ClickHouse.
*   **Структура таблиц:** таблицы с датой разбиты на партиции по дню; сортировка — по дате, а у запросов дополнительно по тексту запроса (`popular_queries`) или по хосту, пути и запросу (`serp_queries`). Таблица важных страниц отсортирована по адресу страницы.
*   **Структура догоняется, а не пересоздаётся.** Недостающие колонки добавляются при очередной выгрузке.

## Перезапись

Перезапись дня выполняется удалением строк за эту дату (а не сбросом партиции), затем вставляются новые. Затрагивает это только `popular_queries`, `serp_queries`, `total_history` и `summary` — все таблицы с датой. `important_urls` работает иначе: у неё нет даты, и при каждой выгрузке она не перезаписывается по дням, а полностью очищается и наполняется заново.

## Дополнительные настройки

У Вебмастера настроек почти нет — ни расходов, ни меток, ни выбора полей.

| Настройка | Что делает |
| --- | --- |
| Сайт (хост) | Подтверждённый в Вебмастере сайт, данные которого выгружаются. Его адрес входит в имена таблиц. |
| Пауза коннектора | Останавливает создание новых заданий. |

Ошибки доступа проверяются по двум признакам: жив ли доступ к Вебмастеру и виден ли в нём выбранный сайт. Потеря доступа к сайту фиксируется отдельно — например, если сайт отвязали от аккаунта или сняли подтверждение прав.

## Технические поля

| Поле | Тип | Что означает |
| --- | --- | --- |
| `rc_created_at` | Дата и время | Момент записи строки в хранилище. Есть во всех пяти таблицах, пустым не бывает. |

> **Примечание**
> В отличие от рекламных коннекторов, у Яндекс Вебмастера нет `rc_import_id` — по строке нельзя отследить, каким прогоном она пришла. Нет также `rc_updated_at` и `rc_datasource`.
