top1search — мониторинг позиций сайтов в Яндексе
Веб-панель для SEO-специалистов и агентств: ежедневный съём позиций по запросам, регионам и устройствам, видимость и динамика в стиле Топвизора, конкуренты, кластеризация запросов, отчёты для клиентов и API для AI-агентов. Разворачивается у заказчика с нуля на его сервере и работает через мой API поисковой выдачи Яндекса. Метрики сверены с Топвизором на реальных отчётах.
Скорость съёма не ограничена панелью: пропускная способность API выдачи настраивается под нагрузку заказчика.
Возможности
Проекты и мониторинг
- Проект = сайт + запросы + регионы + конкуренты; папки (вложенные), сортировка и сводка по всем проектам.
- Сайт как домен, точный URL или начало URL (раздел) — для статей на чужих площадках.
- Полный справочник регионов Яндекса (26 349 записей), ПК и мобильная выдача, поиск региона по буквам.
- Глубина Топ-10…100, проверки вручную, по расписанию (дни недели + время), по группам или выбранным запросам.
- Полный снимок выдачи на каждую дату; позиции конкурентов и смена домена пересчитываются из снимков без повторного съёма.
- Позиции в ответе Алисы и в рекламе Директа (опции проекта, из того же ответа, без доплаты).
- Частоты Wordstat по каждому региону, снимаются автоматически.
Аналитика и интерфейс
- Сводка: рост/падение, средняя позиция, видимость, распределение по топам, доля в топ-N, смена релевантных URL.
- Графики по датам: видимость, средняя, распределение, топ-N, Алиса, Директ; по всему ядру, группе или выбранным запросам.
- Таблица динамики с цветовой шкалой, сортировкой, бесконечной прокруткой; снимок выдачи по клику с подсветкой сайтов.
- Сравнение ПК / мобильные на одну дату.
- Группы запросов: вручную, автокластеризация по общим URL в ТОПе (SOFT/HARD, сила 2–5), журнал переносов с отменой.
Работа с клиентами и командой
- Доступ к проекту по e-mail (просмотр / редактирование), передача владельца, гостевые ссылки только для чтения.
- Экспорт XLSX/CSV, временные ссылки на отчёты, полная копия проекта (ZIP) для переноса между инсталляциями.
- Импорт из Топвизора (позиции XLSX/CSV, запросы с группами) и TopSite (ZIP).
- Внутренний лимит в единицах на пользователя, админка, регистрация по пригласительному слову с капчей.
- Встроенная документация для пользователей.
Расчёты и метрики
Формулы совпадают с Топвизором (сверено 1:1 на реальном отчёте: рост/падение, средняя, топы, доля в топ-10).
- Средняя позиция — по всем запросам; «не найден» считается как глубина + 1 (при Топ-30 — 31).
- Рост / падение — последняя дата периода против первой; появление в выдаче — рост, выпадение — падение.
- Видимость — средняя доля кликов по позициям. По умолчанию все запросы весят одинаково; переключатель «По частоте» взвешивает по Wordstat.
| Позиция | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11+ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Доля кликов | 100% | 85% | 60% | 50% | 50% | 30% | 30% | 20% | 20% | 20% | 0 |
- Стоимость проверки — запросы × регионы × глубина / 10 единиц; резервируется при запуске, неснятое возвращается.
- Кластеризация — основа группы — самый частотный свободный запрос; SOFT: ≥ N общих URL с основой, HARD: N URL общих для всех запросов группы. Инвертированный индекс URL → запросы, тысячи запросов за секунды.
Архитектура
Монолит без фреймворков: один фронт-контроллер отдаёт страницы и JSON API, интерфейс рисует ванильный JS. Тяжёлая работа — в двух фоновых воркерах с очередью в PostgreSQL.
| Слой | Технологии |
|---|---|
| Сервер | PHP 8.3 (тестировалось и на 8.4), без Composer-зависимостей; классы в пространстве имён App |
| База | PostgreSQL 16 (локально 17), SQL-миграции по порядку |
| Фронтенд | Vanilla JS (ES-модули), один CSS-файл, ECharts 5 из CDN; без сборки и npm |
| Веб-сервер | nginx + PHP-FPM, SSL от Let's Encrypt (certbot, автопродление) |
| Фоновые задачи | systemd-сервисы воркеров, таймеры бэкапа и выпуска сертификата |
| Файлы | собственный генератор XLSX (без библиотек), чтение XLSX/CSV/ZIP импортов |
Код и данные
| Часть | Файлов | Строк | Содержимое |
|---|---|---|---|
src/ | 37 | 7 408 | Доменная логика: проекты, запросы, расчёты (Stats), проверки, кластеры, импорт/экспорт, MCP, OAuth |
public/ (PHP) | 2 | ≈ 530 | Фронт-контроллер с маршрутами и вход MCP |
public/assets/js/ | 8 | 3 797 | Интерфейс: список проектов, динамика, настройки, админка, профиль |
public/assets/css/ | 1 | 584 | Стили |
views/ | 7 | 586 | Каркасы страниц, вход, регистрация, документация |
migrations/ | 13 | 332 | Схема БД |
bin/, deploy/, tools/ | 18 | ≈ 630 | Воркер, миграции, консольные импорты, деплой, бэкап, nginx/systemd, мок API |
Модель данных — 25 таблиц
users · settings · projects · project_regions · competitors · project_folders · project_access · keyword_groups · keywords · keyword_volumes · keyword_moves · checks · check_dates · serps · positions · extra_serps · ai_positions · ads_positions · api_keys · report_links · oauth_clients · oauth_grants · oauth_codes · oauth_tokens · captchas
Схема создаётся миграциями на пустой базе. Для оценки объёма: 2,6 млн сохранённых позиций вместе со снимками выдачи занимают около 1,3 ГБ. Панель проверена в работе на проектах до 15 тыс. запросов и десятках тысяч запросов на одном сервере.
Интеграции и API
- API поисковой выдачи — мой сервис: пакетный съём выдачи Яндекса в JSON (органика, Алиса, Директ) и частоты Wordstat. Для заказчика выдаётся отдельный ключ, скорость и объёмы — под его нагрузку. Адрес и ключ задаются в админке панели; весь обмен изолирован в одном классе-клиенте.
- MCP-сервер для Claude, ChatGPT и других агентов: Streamable HTTP, JSON-RPC 2.0, 11 инструментов — чтение проектов, сводок, позиций, выдачи, сравнение устройств, запуск проверок, добавление запросов, создание проектов, выгрузка отчётов по временной ссылке.
- OAuth 2.1 по спецификации авторизации MCP: метаданные RFC 9728 / 8414, динамическая регистрация клиентов RFC 7591, только code + PKCE S256, ротация refresh-токенов, отзыв RFC 7009. Альтернатива — персональные API-ключи.
- Импорт: Топвизор (позиции, запросы с группами, HTML-отчёт из консоли), TopSite (ZIP), копия проекта top1search.
- Экспорт: XLSX (позиции, URL, сводка, слои Алисы и Директа), CSV, ZIP-копия проекта (потоковая запись, до 200 МБ на загрузку).
Безопасность
- Сессии на сервере со скользящим продлением, CSRF-токен на все изменяющие запросы.
- Пароли —
password_hash; API-ключи хранятся только как sha256. - Роли: админ, владелец, доступ на просмотр или редактирование; проверка прав на каждом маршруте.
- Подготовленные SQL-запросы везде, массивы передаются типизированно.
- MCP: белые списки Host и Origin против DNS rebinding, загрузка метаданных клиентов только с публичных адресов.
- Регистрация: пригласительное слово, своя SVG-капча (одноразовая, 30 в час на IP), поле-ловушка, проверка сложности пароля.
- Секреты — только в
.envвне репозитория. - Гостевые ссылки — случайные ключи, только чтение одного проекта, отключаются в любой момент.
Надёжность
- Очередь проверок в PostgreSQL (
FOR UPDATE SKIP LOCKED), можно запускать несколько воркеров. - Продолжение с места остановки: уже сохранённые запросы не переснимаются; зависшие задания возвращаются в очередь по heartbeat.
- Недоступность API выдачи: проверка откладывается и повторяется через 15/30/60/60/60 минут без повторного списания; админ видит предупреждение и может повторить сразу.
- Повторы неснятых запросов внутри проверки, возврат лимита за неснятое.
- Ежедневный бэкап на сервере по таймеру (дамп БД, код, конфиги, хранятся последние копии) и скрипт полного бэкапа на рабочую машину с контрольными суммами.
- Деплой одной командой: синтаксис-проверка, миграции, перезапуск воркеров.
Требования и развёртывание
| Компонент | Версия / параметры |
|---|---|
| ОС | Ubuntu 24.04 LTS (любой Linux с systemd) |
| PHP | 8.3+, расширения pgsql, curl, mbstring, intl, xml, zip |
| PostgreSQL | 16+ |
| Веб-сервер | nginx + PHP-FPM, certbot |
| Сервер для старта | 2 vCPU, 4 ГБ RAM, SSD от 20 ГБ. Десятки тысяч запросов на мониторинге укладываются примерно в 1 ГБ RAM |
| Рост данных | ≈ 0,5 ГБ на миллион сохранённых позиций вместе со снимками выдачи |
| Внешнее | Ключ к API поисковой выдачи (выдаю я); домен и DNS-запись для MCP-поддомена (по желанию) |
Панель ставится с нуля на сервер заказчика: пустая база, первый администратор создаётся при установке, дальше пользователи и проекты заводятся в самой панели или импортом из Топвизора и TopSite. Установка описана в README: пакеты, роль и база PostgreSQL, .env по образцу, миграции, создание первого админа, systemd-сервисы, nginx и сертификат. Локальная разработка — портативные PHP и PostgreSQL и мок API выдачи, без доступа к внешнему сервису.
Что передаётся
- Полный исходный код (PHP, JS, CSS, шаблоны) и SQL-миграции.
- Справочник регионов Яндекса (26 349 записей).
- Скрипты деплоя и бэкапа, конфиги nginx, unit-файлы systemd.
- Мок API выдачи для локальной разработки.
- Документация: README (архитектура, установка, деплой), спецификация MCP-сервера, пользовательская документация в самой панели.
Передаётся только код и инструкции: панель запускается у заказчика с чистой базой. Данные, пользователи и настройки моей инсталляции не передаются. Доступ к API поисковой выдачи предоставляется отдельно, с ключом для заказчика.
Ограничения
- Пока только Яндекс, но Google со временем тоже добавится.
- Съём выдачи идёт через мой API; подключение другого источника — замена одного класса-клиента.
- Интерфейс только на русском.
- Оплаты нет: внутренний лимит в единицах начисляет администратор.
Документация пользователя
Как устроена работа в панели: что и как считается, откуда берутся цифры и где что настраивается. Эта же документация встроена в саму панель.
Быстрый старт
- На странице «Проекты» нажмите «Новый проект»: укажите сайт, регион и тип выдачи (ПК или мобильные).
- Добавьте запросы — по одному на строку. Частоты Wordstat по каждому региону проекта снимутся автоматически.
- Нажмите «Проверить позиции» или включите расписание (⏰) — проверка пойдёт по выбранным дням и времени.
- Добавьте конкурентов в «Настройки → Конкуренты»: их позиции посчитаются по уже сохранённым проверкам.
- Разложите запросы по группам — вручную или автокластеризацией, чтобы смотреть позиции и графики по направлениям.
Проект можно и не создавать с нуля: импортируйте историю из Топвизора, TopSite или копии проекта top1search (см. Импорт и экспорт).
Проекты и папки
Список проектов показывает по каждому проекту последнюю проверку: среднюю позицию, видимость, долю запросов в топ-3 и топ-10 и их изменение с прошлой проверки. По любому столбцу можно отсортировать — нажмите на заголовок.
- Папки — для порядка: проекты можно разложить по папкам (в том числе вложенным).
- Массовые настройки — отметьте галочками несколько проектов и измените им блок «Проверка» разом: глубину, процент в динамике, съём Алисы и Директа.
Сайт проекта: весь сайт, страница или раздел
В «Настройки → Проверка» сайт задаётся одним из трёх способов:
| Режим | Что считается позицией | Пример |
|---|---|---|
| Весь сайт | Первая в выдаче страница этого домена — любая. | ozon.ru |
| Страница | Только этот URL (с точностью до «/» на конце). Для статьи на чужой площадке. | vc.ru/marketing/1234567-kak-my-vyrosli |
| Раздел | Этот URL и всё, что глубже него: /news/123 берёт /news/123/comments, но не /news/1234. | habr.com/ru/companies/yandex |
- Адрес сравнивается без
http(s)://, безwww., без учёта регистра; кириллические домены и пути — как есть. - Поддомены (только для «Весь сайт»): с галочкой «Учитывать поддомены»
shop.site.ruзасчитывается какsite.ru. Галочка действует и на конкурентов. - При смене сайта или режима история позиций пересчитывается по сохранённым снимкам выдачи — заново проверять не нужно.
Регионы и устройства
У проекта может быть несколько регионов (полный справочник регионов Яндекса, поиск по первым буквам) — каждый для ПК или мобильных. Позиции, графики и сводка показываются по региону, выбранному вверху страницы проекта. Кнопка «⇄ ПК / мобильные» над таблицей показывает позиции на обоих устройствах рядом, если в проекте есть оба варианта одного региона.
Удаление региона удаляет и всю историю позиций по нему.
Запросы и частоты
- Запросы добавляются в «Настройки → Запросы» — по одному на строку, сразу в выбранную группу. Повторы пропускаются. Лимит — 20 000 запросов на проект.
- Целевая страница — можно задать выбранным запросам (кнопка «Целевая страница» в панели выделения).
- Частота — Wordstat для фразы в кавычках («"купить очки"»), отдельно для каждого региона проекта. Снимается автоматически при добавлении запросов и регионов (1 ед. лимита за запрос в регионе). Кнопка «Снять частоты» — снять недостающие или обновить все. Съём можно остановить кнопкой «×» — уже снятое сохранится, остаток лимита вернётся.
- Частота 0 — это тоже снятая частота: по запросу в Wordstat нет показов.
Группы запросов
Каждый запрос лежит ровно в одной группе. В проекте всегда есть хотя бы одна группа. Группы нужны, чтобы смотреть позиции, графики и сводку по направлениям и проверять только часть ядра.
Как создать группы вручную
- Новая пустая группа — «Настройки → Запросы» → «+ Группа». Там же «Переименовать».
- Группа из выбранных запросов — отметьте запросы галочками (в настройках или прямо в таблице динамики) и в списке «Перенести в группу…» выберите «+ Новая группа…»: группа создастся сразу с этими запросами.
- Перенос — отметьте запросы и выберите группу в «Перенести в группу…».
- Вся группа разом — в таблице «по группам» галочка в строке-заголовке группы выделяет все её запросы (в том числе ещё не подгруженные).
- Удаление группы удаляет и её запросы вместе с историей. Чтобы сохранить запросы — сначала перенесите их в другую группу.
- Сбросить группы — чтобы собрать группы с нуля: все запросы переносятся в одну группу «Без группы», остальные группы удаляются. Запросы, позиции и история сохраняются; сброс отменяется, как обычный перенос. Дальше — кластеризация или раскладка вручную.
Отмена переносов
Каждый перенос (вручную, кластеризацией или импортом) записывается в журнал. Кнопка «↶ Отменить: …» над таблицей или в «Настройки → Запросы» возвращает запросы в прежние группы, восстанавливает удалённые операцией группы и убирает опустевшие группы, которые она создала. Отменять можно по очереди, начиная с последнего переноса; журнал — «История переносов» (хранятся 30 последних операций).
Группы в таблице и проверках
- Фильтр «Все группы» вверху страницы проекта — позиции, графики и сводка только по одной группе.
- Таблица показывается блоками по группам (галочка «По группам»); сортировка тогда работает внутри каждой группы.
- «Проверить позиции» можно запустить по всему ядру, по выбранным группам или только по выделенным запросам — лимит списывается только за них.
Автокластеризация
«Настройки → Запросы» → «Кластеризация». Запросы объединяются по общим URL в ТОПе выдачи: если Яндекс показывает по двум запросам одни и те же страницы, значит, для него это один интент и продвигать их можно одной страницей. Используется уже сохранённая выдача последней проверки выбранного региона — лимит не тратится.
Как это работает
- Все запросы сортируются по частоте — от большей к меньшей.
- Самый частотный из ещё не распределённых становится основой новой группы, группа называется по нему.
- К основе добавляются нераспределённые запросы, у которых в ТОПе достаточно общих URL (правило зависит от режима).
- Шаги 2–3 повторяются, пока запросы не кончатся. Запросы без пары остаются в своих группах.
| Параметр | Что значит |
|---|---|
| Метод SOFT | Запрос попадает в группу, если у него и у основы не меньше N общих URL. Запросы группы между собой не сравниваются — группы крупнее. |
| Метод HARD | N общих URL должны быть в ТОПе у всех запросов группы сразу. Группы плотнее и точнее, но мельче. |
| Сила (2–5) | N — сколько общих URL нужно. Больше — строже и мельче группы. |
| Сравнивать | Сколько первых позиций выдачи сравнивать: ТОП-10, 20 или 30. |
| Какие запросы | Всё ядро или одну группу (например, разбить большую группу на подгруппы). |
- URL сравниваются без схемы,
www.,#якоряи «/» на конце. - Перед применением показывается предпросмотр: какие группы получатся и сколько запросов останутся одиночными. Ничего не меняется, пока вы не нажмёте «Применить».
- Можно удалить группы, опустевшие после переноса. Всё применение целиком отменяется одной кнопкой «Отменить».
- Нужна проверка позиций: запросы без сохранённой выдачи в кластеризации не участвуют.
- Желательно снять частоты: без них основой становится запрос, добавленный раньше, и группы могут собраться вокруг узких формулировок (особенно в SOFT). HARD от частот зависит меньше. Предупреждение об этом показывается в окне кластеризации.
Проверка позиций
- Глубина — Топ-10, 20, 30, 50 или 100 (по умолчанию 30). Сайт ниже глубины — «не найден».
- Стоимость — запросы × регионы × глубина / 10 ед. Лимит резервируется при запуске, неснятое возвращается.
- Расписание — дни недели и время (⏰ на странице проекта или «Настройки → Проверка и расписание»).
- Если съёмщик недоступен (сбой сети или сервиса), проверка не пропадает: она откладывается и сама продолжается через 15, 30, 60, 60 и 60 минут, уже снятые запросы не переснимаются, лимит повторно не списывается. На странице проекта в это время — «Съёмщик недоступен — повтор в ЧЧ:ММ». Если после всех повторов часть запросов так и не снялась, лимит за них возвращается.
- При каждой проверке сохраняется полный снимок выдачи по каждому запросу — из него считаются позиции сайта, конкурентов и кластеризация.
- Одна проверка в день на регион: повторная проверка в тот же день обновляет данные этой даты. Ненужную дату можно удалить из таблицы.
Конкуренты
Конкурентов вы задаёте сами: «Настройки → Конкуренты» — домен или URL страницы, по одному на строку. Сервис не подбирает их автоматически, но посмотреть, кто стоит рядом с вами, удобно в снимке выдачи (клик по ячейке с позицией).
- Позиция конкурента — место его первой страницы в том же сохранённом снимке выдачи, что и у вашего сайта. Отдельно выдача по конкурентам не снимается — бесплатно.
- Правила совпадения те же, что у сайта проекта: без
www., поддомены — по галочке проекта; если указать URL — засчитывается эта страница и всё, что глубже. - Для нового конкурента сразу восстанавливается вся история по всем прошлым проверкам.
- Вкладки сайтов над графиком переключают проект и конкурентов: сводка и таблица показываются для выбранного сайта.
Сводка и метрики
Сводка сравнивает последнюю дату выбранного периода с первой. Метрики сверены с Топвизором на реальных отчётах.
| Метрика | Как считается |
|---|---|
| Рост / падение / без изменений | Рост — позиция стала выше или сайт появился в выдаче; падение — ниже или выпал; остальные — без изменений. |
| Средняя позиция | Среднее по всем запросам; «не найден» считается как глубина + 1 (при Топ-30 — 31). |
| Видимость | Доля возможного трафика, которую сайт получает из выдачи — подробно ниже. |
| 1-3, 1-10, 11-30, 31-50, 50+ | Сколько запросов в этом диапазоне позиций (в скобках — доля). Клик по карточке фильтрует таблицу. |
| Доля запросов в топ-N | Процент запросов в топ-3, топ-10 или топ-30 — какой именно, задаётся в настройках проекта (по умолчанию топ-10). |
| Смена URL | Запросы, по которым в выдаче сменилась страница сайта. Клик — показать их в таблице. |
Видимость: по частоте и по числу запросов
Каждой позиции в топ-10 соответствует доля кликов (CTR). Ниже 10-го места — 0.
| Позиция | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11+ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Доля кликов | 100% | 85% | 60% | 50% | 50% | 30% | 30% | 20% | 20% | 20% | 0 |
Видимость — это среднее этих долей по запросам. Есть два способа усреднить:
- По числу запросов — все запросы весят одинаково: сумма долей / число запросов. Так считает Топвизор.
- По частоте — запрос весит столько, сколько его ищут в Wordstat: Σ (частота × доля) / Σ частот. Это ближе к реальной доле трафика: первое место по запросу с частотой 5000 весит в 500 раз больше, чем по запросу с частотой 10.
По числу запросов: (100 + 0) / 2 = 50%. По частоте: (1000 × 100 + 10 × 0) / 1010 = 99% — сайт первый там, где почти весь трафик.
Какой способ используется
- По умолчанию везде — по числу запросов: в списке проектов, сводке, графиках, экспорте и для AI-агентов.
- По частоте — переключатель «По числу запросов / По частоте» над кольцом на вкладке графика «Видимость». Он появляется, если в регионе проекта сняты частоты, запоминается в браузере и меняет видимость в сводке, на графике и в выгрузке XLSX (в отчёте подписано, каким способом посчитано).
- В режиме «По частоте» запрос с частотой 0 или без снятой частоты весит 0 и на видимость не влияет. Если у выбранных запросов (группа, поиск, «График по выбранным») нет ни одной ненулевой частоты, видимость для них считается по числу запросов — иначе она всегда была бы 0.
- В режиме «По частоте», если частоты не сняты у половины запросов графика или больше, под кольцом появляется подсказка: цифра может быть неточной. Пока частоты снимаются, подсказка просит подождать; если съём остановили — рядом ссылка «Снять частоты».
Графики
- Вкладки: Видимость, Средняя, Распределение (по диапазонам позиций), Топ-10 (доля запросов в топ-N из настроек проекта), а если включены — Алиса и Директ.
- Плашки сайтов под графиком скрывают и показывают линии по одной; «Скрыть конкурентов» / «Показать конкурентов» — всех разом.
- График по выбранным — отметьте запросы (или целую группу) в таблице: графики и сводка построятся только по ним. «График по всему ядру» возвращает обычный вид.
- Ось процентов подстраивается под данные, чтобы малые значения не прижимались к нулю.
Таблица динамики
- Строки — запросы, столбцы — даты проверок, в ячейке — позиция и стрелка изменения. «--» — не найден в пределах глубины.
- Цвет: «Рост / падение» (зелёный — выросла, красный — упала), «Топ» (по позиции) или без цвета.
- Сортировка — клик по заголовку даты (сначала лучшие позиции) или «Частоты» (сначала самые частотные); повторный клик — обратный порядок, третий — снять.
- Релевантные URL — какая страница сайта стоит в выдаче; «URL ×N» — страница менялась за период, оранжевый уголок — сменилась с прошлой проверки.
- Снимок выдачи — клик по ячейке: весь ТОП на эту дату с подсветкой вашего сайта и конкурентов, кнопка «Открыть в поиске» — тот же запрос в Яндексе в этом регионе.
- Поиск по запросам, фильтр по группе и карточкам сводки, выделение запросов галочками для переноса, проверки, графика или удаления.
Позиции в ответе Алисы и в Директе
Дополнительные опции проекта в «Настройки → Проверка», по умолчанию выключены. Данные приходят в той же выдаче — без доплаты.
- Алиса — есть ли сайт среди источников ответа Алисы и на каком месте.
- Директ — есть ли объявление сайта в рекламе (по домену).
- В таблице — переключатель «Выдача / Алиса / Директ», на графике — свои вкладки (доля запросов, где сайт есть в блоке). Данные — с момента включения опции.
- Попадают в экспорт XLSX и CSV.
Импорт и экспорт
Импорт
- Топвизор, история позиций — «Новый проект» → «Импорт из Топвизора»: XLSX или CSV-выгрузка позиций. Переносятся запросы, позиции по датам, релевантные страницы и группы (как в Топвизоре). Домен указывается в форме.
- Топвизор, запросы — «Настройки → Запросы» → «Импорт из Топвизора (CSV)»: запросы с группами и целевыми страницами.
- TopSite — «Импорт из TopSite»: ZIP-выгрузка группы, с регионом, типом выдачи, историей позиций и топ-N конкурентов.
- Копия проекта top1search — «Новый проект» → «Из копии top1search»: полный перенос проекта между аккаунтами и серверами.
- Импортированная история обрезается до глубины проекта (по умолчанию Топ-30): позиции глубже становятся «не найден». Повторный импорт не дублирует данные.
Экспорт
- XLSX и CSV — меню экспорта на странице проекта: позиции по датам за выбранный период, с учётом фильтров.
- Копия проекта — ZIP со всеми настройками, запросами, частотами, позициями и снимками выдачи.
Доступ и гостевые ссылки
- «Настройки → Доступ»: дать доступ другому пользователю top1search по e-mail — просмотр или редактирование; передать проект другому владельцу.
- Гостевая ссылка — только просмотр одного проекта без входа, например для клиента. Ссылку можно отключить в любой момент.
- Проверки списывают лимит владельца проекта.
Регистрация
Зарегистрироваться можно на странице регистрации панели (ссылка «Зарегистрироваться» на странице входа), если администратор открыл регистрацию. Нужны email, пароль (дважды; не короче 8 символов, хотя бы одна буква и одна цифра, не email и не популярный вроде qwerty123), пригласительное слово от администратора и код с картинки. Пригласительное слово вводится без учёта регистра. Сразу после регистрации вы входите в сервис; лимит проверок начисляет администратор (или задан стартовый).
AI-агенты (MCP)
top1search можно подключить к Claude, ChatGPT и другим агентам с поддержкой MCP: агент смотрит позиции и сводки, сравнивает выдачу, добавляет запросы, запускает проверки и выгружает отчёты по временной ссылке — с вашими правами. Адрес сервера и пошаговая инструкция — в «Профиле» панели (клик по e-mail в шапке).