yandex-webmaster
Работа с Yandex Webmaster API v4. Управление сайтами, анализ индексации, поисковые запросы, переобход страниц, ссылки, фиды.
Config
Требуется YANDEX_WEBMASTER_TOKEN в config/.env.
Scope: webmaster:hostinfo + webmaster:verify.
Инструкция: config/README.md.
Для alice.sh (Share of Voice, без публичного API) дополнительно нужен
SESSION_ID — cookie из браузера. Подробности в config/README.md и
references/ALICE_EFFICIENCY.md.
Philosophy
- Cache-first — список сайтов, user_id кешируются надолго. Отчёты кешируются по ключу host+params. Диагностика, квоты, статусы — всегда live.
- Context window hygiene — stdout ограничен 30 строками. Полные данные в TSV/файл. Кеш доступен через grep/rg.
- Host resolution — все скрипты принимают
--host <domain> (поиск по кешу hosts.tsv) или --host-id <id> (прямой ID). Первый вызов hosts.sh автоматически кеширует список.
- No destructive ops — скилл не удаляет сайты, сайтмапы и фиды. Только чтение и добавление.
Workflow
STOP! Перед любым анализом:
Получи список сайтов:
bash scripts/hosts.sh
Спроси пользователя (если сайт не очевиден из контекста):
"О каком сайте идёт речь?
Укажите домен или host_id из списка."
Для поиска по кешу:
bash scripts/hosts.sh --search "example"
--host и hosts.sh --search принимают полный кириллический домен
(например, хорошие-данные.рф) или URL сайта (https://хорошие-данные.рф/).
Домен автоматически преобразуется в IDNA средствами python3; схема и порт
URL сохраняются. Латиница и готовые имена xn--… не требуют Python.
Поиск по произвольной части кириллического имени не поддерживается:
указывай полный домен. В кеше и результатах остаются исходные ASCII-адреса
и host_id Яндекса.
Получи сводку по сайту:
bash scripts/summary.sh --host example.com
Запускай нужные отчёты по задаче пользователя.
Scripts
Общий паттерн вызова:
bash scripts/<script>.sh --host <domain> [--action <action>] [params...]
Управление сайтами
| Script |
Description |
Key params |
hosts.sh |
Список сайтов |
--search "text", --no-cache |
host_info.sh |
Инфо о сайте + владельцы |
— |
add_site.sh |
Добавить сайт |
--url <url> |
verify.sh |
Верификация сайта |
--action get|start, --method DNS|HTML_FILE|META_TAG |
Статистика сайта
| Script |
Description |
Key params |
summary.sh |
Сводка: SQI, страницы, проблемы |
— |
sqi_history.sh |
История SQI |
--date-from, --date-to |
diagnostics.sh |
Проблемы сайта (live) |
— |
Поисковые запросы
| Script |
Description |
Key params |
popular_queries.sh |
Топ запросов |
--order-by, --device, --limit |
queries_history.sh |
История запросов |
--query-id (опц.), --device |
query_analytics.sh |
Расширенная аналитика (POST) |
--text-indicator, --filter-*, --region-ids |
Индексация
| Script |
Description |
Key params |
indexing.sh |
История/сэмплы индексации |
--action history|samples |
important_urls.sh |
Важные URL |
--action list|history, --url |
archive_export.sh |
Экспорт всех страниц |
--action start|status, --task-id |
Страницы в поиске
| Script |
Description |
Key params |
insearch.sh |
Страницы в выдаче |
--action history|samples |
search_events.sh |
Появление/исчезновение |
--action history|samples |
Переобход
| Script |
Description |
Key params |
recrawl.sh |
Переобход URL |
--action submit|status|list|quota, --url, --task-id |
Ссылки
| Script |
Description |
Key params |
internal_links.sh |
Битые внутренние ссылки |
--action samples|history, --indicator |
external_links.sh |
Внешние ссылки |
--action samples|history |
Сайтмапы
| Script |
Description |
Key params |
sitemaps.sh |
Управление сайтмапами |
--action list|user-list|info|add|recrawl-limit|recrawl |
Alice / Share of Voice (SSR scraping)
| Script |
Description |
Key params |
alice.sh |
Эффективность в Алисе: SoV timeline, конкуренты, запросы где сайт есть/нет |
--action summary|sov|competitors|with-site|without-site|fetch, --no-cache |
⚠ Нет публичного API — данные парсятся из window._initData HTML-страницы.
Для загрузки нужен SESSION_ID cookie в config/.env. Корректный кеш используется
24 часа без загрузки страницы; --no-cache и --action fetch обновляют его принудительно.
Если обновление не удалось, команда завершается с ошибкой, сохраняя прежний JSON.
Диагностика и повторы: references/ALICE_EFFICIENCY.md.
Фиды и PRO
| Script |
Description |
Key params |
feeds.sh |
YML-фиды |
--action list|add|change|add-status, --type, --region-ids |
search_export.sh |
PRO SERP экспорт |
--action dates|limits|start|status |
regions.sh |
Справочник регионов |
--filter "москва" |
Общие параметры
| Param |
Description |
--host <domain> |
Домен/URL сайта (поиск по hosts.tsv) |
--host-id <id> |
Прямой host_id (формат: http:example.com:80) |
--action <act> |
Подкоманда скрипта |
--date-from |
Начало периода YYYY-MM-DD (history: default 90 дней назад) |
--date-to |
Конец периода YYYY-MM-DD |
--limit N |
Число записей |
--offset N |
Смещение |
--no-cache |
Пропустить кеш |
Кеш-стратегия
Кеш в cache/:
user_id.txt — ID пользователя (permanent)
hosts.json + hosts.tsv — список сайтов (permanent, инвалидируется при add/verify)
host_*/queries/*.tsv — результаты запросов (session, hash-keyed)
host_*/indexing/*.tsv — данные индексации (session)
host_*/insearch/*.tsv — данные о поиске (session)
host_*/links/*.tsv — данные о ссылках (session)
host_*/alice/init.json — проверенный объект Alice, общий для всех действий alice.sh, срок кеша — 24 часа
host_*/alice/raw.html — последний полностью полученный HTML для диагностики, без истории версий
- Диагностика, квоты, статусы переобхода — не кешируются (always live)
Расширенные сценарии
- Добавление и верификация сайтов
- Поисковые запросы и аналитика
- Управление сайтмапами
- Статистика сайта и индексация
- Страницы в поиске
- Переобход страниц
- Битые внутренние ссылки
- Внешние ссылки
- YML-фиды
- PRO SERP экспорт
- Alice / Share of Voice (scraping)
- Расписание врачей (спецификация)
Лимиты API
- Query Analytics: 10 000 запросов/час на домен
- Скрипты автоматически обрабатывают 429 (Retry-After ≤ 60s → retry, иначе fail)
- Лимит сайтов: 1703 на аккаунт
- Лимит фидов: 5000 на сайт, 50 в batch
- Лимит export: макс. 100 комбинаций дат+URL
1---2name: yandex-webmaster3description: Управление сайтами через Yandex Webmaster API: индексация, поисковые запросы, сайтмапы, переобход, ссылки, фиды, диагностика. Плюс scraping раздела Alice / Share of Voice (нет публичного API). Triggers: яндекс вебмастер, yandex webmaster, webmaster api, вебмастер индексация, вебмастер запросы, вебмастер переобход, share of voice, sov, алиса, alice efficiency, конкуренты в алисе.4---56# yandex-webmaster78Работа с Yandex Webmaster API v4. Управление сайтами, анализ индексации, поисковые запросы, переобход страниц, ссылки, фиды.910## Config1112Требуется `YANDEX_WEBMASTER_TOKEN` в `config/.env`.13Scope: `webmaster:hostinfo` + `webmaster:verify`.14Инструкция: `config/README.md`.1516Для `alice.sh` (Share of Voice, без публичного API) дополнительно нужен17`SESSION_ID` — cookie из браузера. Подробности в `config/README.md` и18[references/ALICE_EFFICIENCY.md](references/ALICE_EFFICIENCY.md).1920## Philosophy21221. **Cache-first** — список сайтов, user_id кешируются надолго. Отчёты кешируются по ключу host+params. Диагностика, квоты, статусы — всегда live.232. **Context window hygiene** — stdout ограничен 30 строками. Полные данные в TSV/файл. Кеш доступен через grep/rg.243. **Host resolution** — все скрипты принимают `--host <domain>` (поиск по кешу hosts.tsv) или `--host-id <id>` (прямой ID). Первый вызов hosts.sh автоматически кеширует список.254. **No destructive ops** — скилл не удаляет сайты, сайтмапы и фиды. Только чтение и добавление.2627## Workflow2829### STOP! Перед любым анализом:30311. **Получи список сайтов:**32 ```bash33 bash scripts/hosts.sh34 ```35362. **Спроси пользователя** (если сайт не очевиден из контекста):37 ```38 "О каком сайте идёт речь?39 Укажите домен или host_id из списка."40 ```41 Для поиска по кешу:42 ```bash43 bash scripts/hosts.sh --search "example"44 ```4546 `--host` и `hosts.sh --search` принимают полный кириллический домен47 (например, `хорошие-данные.рф`) или URL сайта (`https://хорошие-данные.рф/`).48 Домен автоматически преобразуется в IDNA средствами `python3`; схема и порт49 URL сохраняются. Латиница и готовые имена `xn--…` не требуют Python.50 Поиск по произвольной части кириллического имени не поддерживается:51 указывай полный домен. В кеше и результатах остаются исходные ASCII-адреса52 и `host_id` Яндекса.53543. **Получи сводку по сайту:**55 ```bash56 bash scripts/summary.sh --host example.com57 ```58594. **Запускай нужные отчёты** по задаче пользователя.6061## Scripts6263Общий паттерн вызова:64```bash65bash scripts/<script>.sh --host <domain> [--action <action>] [params...]66```6768### Управление сайтами6970| Script | Description | Key params |71|--------|-------------|------------|72| `hosts.sh` | Список сайтов | `--search "text"`, `--no-cache` |73| `host_info.sh` | Инфо о сайте + владельцы | — |74| `add_site.sh` | Добавить сайт | `--url <url>` |75| `verify.sh` | Верификация сайта | `--action get\|start`, `--method DNS\|HTML_FILE\|META_TAG` |7677### Статистика сайта7879| Script | Description | Key params |80|--------|-------------|------------|81| `summary.sh` | Сводка: SQI, страницы, проблемы | — |82| `sqi_history.sh` | История SQI | `--date-from`, `--date-to` |83| `diagnostics.sh` | Проблемы сайта (live) | — |8485### Поисковые запросы8687| Script | Description | Key params |88|--------|-------------|------------|89| `popular_queries.sh` | Топ запросов | `--order-by`, `--device`, `--limit` |90| `queries_history.sh` | История запросов | `--query-id` (опц.), `--device` |91| `query_analytics.sh` | Расширенная аналитика (POST) | `--text-indicator`, `--filter-*`, `--region-ids` |9293### Индексация9495| Script | Description | Key params |96|--------|-------------|------------|97| `indexing.sh` | История/сэмплы индексации | `--action history\|samples` |98| `important_urls.sh` | Важные URL | `--action list\|history`, `--url` |99| `archive_export.sh` | Экспорт всех страниц | `--action start\|status`, `--task-id` |100101### Страницы в поиске102103| Script | Description | Key params |104|--------|-------------|------------|105| `insearch.sh` | Страницы в выдаче | `--action history\|samples` |106| `search_events.sh` | Появление/исчезновение | `--action history\|samples` |107108### Переобход109110| Script | Description | Key params |111|--------|-------------|------------|112| `recrawl.sh` | Переобход URL | `--action submit\|status\|list\|quota`, `--url`, `--task-id` |113114### Ссылки115116| Script | Description | Key params |117|--------|-------------|------------|118| `internal_links.sh` | Битые внутренние ссылки | `--action samples\|history`, `--indicator` |119| `external_links.sh` | Внешние ссылки | `--action samples\|history` |120121### Сайтмапы122123| Script | Description | Key params |124|--------|-------------|------------|125| `sitemaps.sh` | Управление сайтмапами | `--action list\|user-list\|info\|add\|recrawl-limit\|recrawl` |126127### Alice / Share of Voice (SSR scraping)128129| Script | Description | Key params |130|--------|-------------|------------|131| `alice.sh` | Эффективность в Алисе: SoV timeline, конкуренты, запросы где сайт есть/нет | `--action summary\|sov\|competitors\|with-site\|without-site\|fetch`, `--no-cache` |132133> ⚠ Нет публичного API — данные парсятся из `window._initData` HTML-страницы.134> Для загрузки нужен `SESSION_ID` cookie в `config/.env`. Корректный кеш используется135> 24 часа без загрузки страницы; `--no-cache` и `--action fetch` обновляют его принудительно.136> Если обновление не удалось, команда завершается с ошибкой, сохраняя прежний JSON.137> Диагностика и повторы: [references/ALICE_EFFICIENCY.md](references/ALICE_EFFICIENCY.md).138139### Фиды и PRO140141| Script | Description | Key params |142|--------|-------------|------------|143| `feeds.sh` | YML-фиды | `--action list\|add\|change\|add-status`, `--type`, `--region-ids` |144| `search_export.sh` | PRO SERP экспорт | `--action dates\|limits\|start\|status` |145| `regions.sh` | Справочник регионов | `--filter "москва"` |146147## Общие параметры148149| Param | Description |150|-------|-------------|151| `--host <domain>` | Домен/URL сайта (поиск по hosts.tsv) |152| `--host-id <id>` | Прямой host_id (формат: `http:example.com:80`) |153| `--action <act>` | Подкоманда скрипта |154| `--date-from` | Начало периода YYYY-MM-DD (history: default 90 дней назад) |155| `--date-to` | Конец периода YYYY-MM-DD |156| `--limit N` | Число записей |157| `--offset N` | Смещение |158| `--no-cache` | Пропустить кеш |159160## Кеш-стратегия161162Кеш в `cache/`:163- `user_id.txt` — ID пользователя (permanent)164- `hosts.json` + `hosts.tsv` — список сайтов (permanent, инвалидируется при add/verify)165- `host_*/queries/*.tsv` — результаты запросов (session, hash-keyed)166- `host_*/indexing/*.tsv` — данные индексации (session)167- `host_*/insearch/*.tsv` — данные о поиске (session)168- `host_*/links/*.tsv` — данные о ссылках (session)169- `host_*/alice/init.json` — проверенный объект Alice, общий для всех действий `alice.sh`, срок кеша — 24 часа170- `host_*/alice/raw.html` — последний полностью полученный HTML для диагностики, без истории версий171- Диагностика, квоты, статусы переобхода — **не кешируются** (always live)172173## Расширенные сценарии174175- [Добавление и верификация сайтов](references/SITE_MANAGEMENT.md)176- [Поисковые запросы и аналитика](references/SEARCH_QUERIES.md)177- [Управление сайтмапами](references/SITEMAPS.md)178- [Статистика сайта и индексация](references/SITE_STATS.md)179- [Страницы в поиске](references/PAGES_IN_SEARCH.md)180- [Переобход страниц](references/RECRAWL.md)181- [Битые внутренние ссылки](references/INTERNAL_LINKS.md)182- [Внешние ссылки](references/EXTERNAL_LINKS.md)183- [YML-фиды](references/FEEDS.md)184- [PRO SERP экспорт](references/SEARCH_EXPORT.md)185- [Alice / Share of Voice (scraping)](references/ALICE_EFFICIENCY.md)186- [Расписание врачей (спецификация)](references/DOCTORS_SCHEDULE.md)187188## Лимиты API189190- **Query Analytics**: 10 000 запросов/час на домен191- Скрипты автоматически обрабатывают 429 (Retry-After ≤ 60s → retry, иначе fail)192- Лимит сайтов: 1703 на аккаунт193- Лимит фидов: 5000 на сайт, 50 в batch194- Лимит export: макс. 100 комбинаций дат+URL