yandex-webmaster
Работа с Yandex Webmaster API v4. Управление сайтами, анализ индексации, поисковые запросы, переобход страниц, ссылки, фиды.
Config
Требуется YANDEX_WEBMASTER_TOKEN в config/.env.
Scope: webmaster:hostinfo + webmaster:verify.
Инструкция: config/README.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"
Получи сводку по сайту:
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 |
Фиды и 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)
- Диагностика, квоты, статусы переобхода — не кешируются (always live)
Расширенные сценарии
- Добавление и верификация сайтов
- Поисковые запросы и аналитика
- Управление сайтмапами
- Статистика сайта и индексация
- Страницы в поиске
- Переобход страниц
- Битые внутренние ссылки
- Внешние ссылки
- YML-фиды
- PRO SERP экспорт
- Расписание врачей (спецификация)
Лимиты 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: индексация, поисковые запросы, сайтмапы, переобход, ссылки, фиды, диагностика. Triggers: яндекс вебмастер, yandex webmaster, webmaster api, вебмастер индексация, вебмастер запросы, вебмастер переобход.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## Philosophy17181. **Cache-first** — список сайтов, user_id кешируются надолго. Отчёты кешируются по ключу host+params. Диагностика, квоты, статусы — всегда live.192. **Context window hygiene** — stdout ограничен 30 строками. Полные данные в TSV/файл. Кеш доступен через grep/rg.203. **Host resolution** — все скрипты принимают `--host <domain>` (поиск по кешу hosts.tsv) или `--host-id <id>` (прямой ID). Первый вызов hosts.sh автоматически кеширует список.214. **No destructive ops** — скилл не удаляет сайты, сайтмапы и фиды. Только чтение и добавление.2223## Workflow2425### STOP! Перед любым анализом:26271. **Получи список сайтов:**28 ```bash29 bash scripts/hosts.sh30 ```31322. **Спроси пользователя** (если сайт не очевиден из контекста):33 ```34 "О каком сайте идёт речь?35 Укажите домен или host_id из списка."36 ```37 Для поиска по кешу:38 ```bash39 bash scripts/hosts.sh --search "example"40 ```41423. **Получи сводку по сайту:**43 ```bash44 bash scripts/summary.sh --host example.com45 ```46474. **Запускай нужные отчёты** по задаче пользователя.4849## Scripts5051Общий паттерн вызова:52```bash53bash scripts/<script>.sh --host <domain> [--action <action>] [params...]54```5556### Управление сайтами5758| Script | Description | Key params |59|--------|-------------|------------|60| `hosts.sh` | Список сайтов | `--search "text"`, `--no-cache` |61| `host_info.sh` | Инфо о сайте + владельцы | — |62| `add_site.sh` | Добавить сайт | `--url <url>` |63| `verify.sh` | Верификация сайта | `--action get\|start`, `--method DNS\|HTML_FILE\|META_TAG` |6465### Статистика сайта6667| Script | Description | Key params |68|--------|-------------|------------|69| `summary.sh` | Сводка: SQI, страницы, проблемы | — |70| `sqi_history.sh` | История SQI | `--date-from`, `--date-to` |71| `diagnostics.sh` | Проблемы сайта (live) | — |7273### Поисковые запросы7475| Script | Description | Key params |76|--------|-------------|------------|77| `popular_queries.sh` | Топ запросов | `--order-by`, `--device`, `--limit` |78| `queries_history.sh` | История запросов | `--query-id` (опц.), `--device` |79| `query_analytics.sh` | Расширенная аналитика (POST) | `--text-indicator`, `--filter-*`, `--region-ids` |8081### Индексация8283| Script | Description | Key params |84|--------|-------------|------------|85| `indexing.sh` | История/сэмплы индексации | `--action history\|samples` |86| `important_urls.sh` | Важные URL | `--action list\|history`, `--url` |87| `archive_export.sh` | Экспорт всех страниц | `--action start\|status`, `--task-id` |8889### Страницы в поиске9091| Script | Description | Key params |92|--------|-------------|------------|93| `insearch.sh` | Страницы в выдаче | `--action history\|samples` |94| `search_events.sh` | Появление/исчезновение | `--action history\|samples` |9596### Переобход9798| Script | Description | Key params |99|--------|-------------|------------|100| `recrawl.sh` | Переобход URL | `--action submit\|status\|list\|quota`, `--url`, `--task-id` |101102### Ссылки103104| Script | Description | Key params |105|--------|-------------|------------|106| `internal_links.sh` | Битые внутренние ссылки | `--action samples\|history`, `--indicator` |107| `external_links.sh` | Внешние ссылки | `--action samples\|history` |108109### Сайтмапы110111| Script | Description | Key params |112|--------|-------------|------------|113| `sitemaps.sh` | Управление сайтмапами | `--action list\|user-list\|info\|add\|recrawl-limit\|recrawl` |114115### Фиды и PRO116117| Script | Description | Key params |118|--------|-------------|------------|119| `feeds.sh` | YML-фиды | `--action list\|add\|change\|add-status`, `--type`, `--region-ids` |120| `search_export.sh` | PRO SERP экспорт | `--action dates\|limits\|start\|status` |121| `regions.sh` | Справочник регионов | `--filter "москва"` |122123## Общие параметры124125| Param | Description |126|-------|-------------|127| `--host <domain>` | Домен/URL сайта (поиск по hosts.tsv) |128| `--host-id <id>` | Прямой host_id (формат: `http:example.com:80`) |129| `--action <act>` | Подкоманда скрипта |130| `--date-from` | Начало периода YYYY-MM-DD (history: default 90 дней назад) |131| `--date-to` | Конец периода YYYY-MM-DD |132| `--limit N` | Число записей |133| `--offset N` | Смещение |134| `--no-cache` | Пропустить кеш |135136## Кеш-стратегия137138Кеш в `cache/`:139- `user_id.txt` — ID пользователя (permanent)140- `hosts.json` + `hosts.tsv` — список сайтов (permanent, инвалидируется при add/verify)141- `host_*/queries/*.tsv` — результаты запросов (session, hash-keyed)142- `host_*/indexing/*.tsv` — данные индексации (session)143- `host_*/insearch/*.tsv` — данные о поиске (session)144- `host_*/links/*.tsv` — данные о ссылках (session)145- Диагностика, квоты, статусы переобхода — **не кешируются** (always live)146147## Расширенные сценарии148149- [Добавление и верификация сайтов](references/SITE_MANAGEMENT.md)150- [Поисковые запросы и аналитика](references/SEARCH_QUERIES.md)151- [Управление сайтмапами](references/SITEMAPS.md)152- [Статистика сайта и индексация](references/SITE_STATS.md)153- [Страницы в поиске](references/PAGES_IN_SEARCH.md)154- [Переобход страниц](references/RECRAWL.md)155- [Битые внутренние ссылки](references/INTERNAL_LINKS.md)156- [Внешние ссылки](references/EXTERNAL_LINKS.md)157- [YML-фиды](references/FEEDS.md)158- [PRO SERP экспорт](references/SEARCH_EXPORT.md)159- [Расписание врачей (спецификация)](references/DOCTORS_SCHEDULE.md)160161## Лимиты API162163- **Query Analytics**: 10 000 запросов/час на домен164- Скрипты автоматически обрабатывают 429 (Retry-After ≤ 60s → retry, иначе fail)165- Лимит сайтов: 1703 на аккаунт166- Лимит фидов: 5000 на сайт, 50 в batch167- Лимит export: макс. 100 комбинаций дат+URL