Исходный код SaaS-панели · Яндекс

top1search — мониторинг позиций сайтов в Яндексе

Веб-панель для SEO-специалистов и агентств: ежедневный съём позиций по запросам, регионам и устройствам, видимость и динамика в стиле Топвизора, конкуренты, кластеризация запросов, отчёты для клиентов и API для AI-агентов. Разворачивается у заказчика с нуля на его сервере и работает через мой API поисковой выдачи Яндекса. Метрики сверены с Топвизором на реальных отчётах.

20 000запросов в одном проекте
26 349регионов Яндекса в справочнике
Топ-10…100глубина проверки
ПК + моб.органика, Алиса, Директ
11инструментов MCP для AI-агентов

Скорость съёма не ограничена панелью: пропускная способность 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.
Позиция1234567891011+
Доля кликов100%85%60%50%50%30%30%20%20%20%0
  • Стоимость проверки — запросы × регионы × глубина / 10 единиц; резервируется при запуске, неснятое возвращается.
  • Кластеризация — основа группы — самый частотный свободный запрос; SOFT: ≥ N общих URL с основой, HARD: N URL общих для всех запросов группы. Инвертированный индекс URL → запросы, тысячи запросов за секунды.

Архитектура

Монолит без фреймворков: один фронт-контроллер отдаёт страницы и JSON API, интерфейс рисует ванильный JS. Тяжёлая работа — в двух фоновых воркерах с очередью в PostgreSQL.

БраузерES-модули, ECharts (CDN)
AI-агентыMCP по HTTP, OAuth 2.1 / ключ
↓ HTTPS (nginx, certbot)
PHP-FPM: public/index.phpстраницы + JSON API, сессии, CSRF
PHP-FPM: public/mcp.phpMCP-сервер, 11 инструментов
↓ PDO
PostgreSQLданные, очередь проверок (SKIP LOCKED), кэш сводок
↑ задания · ↓ внешний API
Воркер позицийsystemd; параллельные пакеты запросов (curl_multi), размер и число потоков настраиваются в админке
Воркер частотsystemd; частоты Wordstat по регионам
API поисковой выдачипредоставляет поставщик; JSON: органика, Алиса, Директ, Wordstat
СлойТехнологии
Сервер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/377 408Доменная логика: проекты, запросы, расчёты (Stats), проверки, кластеры, импорт/экспорт, MCP, OAuth
public/ (PHP)2≈ 530Фронт-контроллер с маршрутами и вход MCP
public/assets/js/83 797Интерфейс: список проектов, динамика, настройки, админка, профиль
public/assets/css/1584Стили
views/7586Каркасы страниц, вход, регистрация, документация
migrations/13332Схема БД
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)
PHP8.3+, расширения pgsql, curl, mbstring, intl, xml, zip
PostgreSQL16+
Веб-сервер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; подключение другого источника — замена одного класса-клиента.
  • Интерфейс только на русском.
  • Оплаты нет: внутренний лимит в единицах начисляет администратор.
Часть 2

Документация пользователя

Как устроена работа в панели: что и как считается, откуда берутся цифры и где что настраивается. Эта же документация встроена в саму панель.

Быстрый старт

  1. На странице «Проекты» нажмите «Новый проект»: укажите сайт, регион и тип выдачи (ПК или мобильные).
  2. Добавьте запросы — по одному на строку. Частоты Wordstat по каждому региону проекта снимутся автоматически.
  3. Нажмите «Проверить позиции» или включите расписание (⏰) — проверка пойдёт по выбранным дням и времени.
  4. Добавьте конкурентов в «Настройки → Конкуренты»: их позиции посчитаются по уже сохранённым проверкам.
  5. Разложите запросы по группам — вручную или автокластеризацией, чтобы смотреть позиции и графики по направлениям.

Проект можно и не создавать с нуля: импортируйте историю из Топвизора, 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 в ТОПе выдачи: если Яндекс показывает по двум запросам одни и те же страницы, значит, для него это один интент и продвигать их можно одной страницей. Используется уже сохранённая выдача последней проверки выбранного региона — лимит не тратится.

Как это работает

  1. Все запросы сортируются по частоте — от большей к меньшей.
  2. Самый частотный из ещё не распределённых становится основой новой группы, группа называется по нему.
  3. К основе добавляются нераспределённые запросы, у которых в ТОПе достаточно общих URL (правило зависит от режима).
  4. Шаги 2–3 повторяются, пока запросы не кончатся. Запросы без пары остаются в своих группах.
ПараметрЧто значит
Метод SOFTЗапрос попадает в группу, если у него и у основы не меньше N общих URL. Запросы группы между собой не сравниваются — группы крупнее.
Метод HARDN общих 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.

Позиция1234567891011+
Доля кликов100%85%60%50%50%30%30%20%20%20%0

Видимость — это среднее этих долей по запросам. Есть два способа усреднить:

  • По числу запросов — все запросы весят одинаково: сумма долей / число запросов. Так считает Топвизор.
  • По частоте — запрос весит столько, сколько его ищут в Wordstat: Σ (частота × доля) / Σ частот. Это ближе к реальной доле трафика: первое место по запросу с частотой 5000 весит в 500 раз больше, чем по запросу с частотой 10.
Пример. «купить очки» — частота 1000, позиция 1 (100%); «очки ray ban 2140 копия» — частота 10, позиция 15 (0%).
По числу запросов: (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 в шапке).