Все статьи

Подключение Google Search Console

Подключение GSC к дашборду через OAuth (один клик) и опциональная настройка Service Account для Indexing API.

Подключение Google Search Console

В дашборде два способа авторизации к GSC. В подавляющем большинстве случаев достаточно OAuth.

Что нужно Способ
Просмотр запросов, страниц, стран, кликов / показов / CTR / позиций OAuth — один клик
Управление sitemap'ами OAuth — один клик
Проверка индексации через URL Inspection API OAuth — один клик
Отправка URL на (пере)индексацию через Indexing API Service Account JSON (см. ниже)

Способ 1 · OAuth — основной (рекомендуется)

Ничего настраивать в Google Cloud Console не нужно. Дашборд использует уже зарегистрированное OAuth-приложение okolo-seo.ru.

  1. Открой настройки проекта в дашборде: Step 3 · Google Search Console.
  2. Нажми Connect Google Search Console.
  3. В открывшемся всплывающем окне выбери Google-аккаунт, в котором у тебя есть права на GSC-сайт. Подтверди доступ.
  4. Окно закроется автоматически. Дашборд подтянет список GSC property из твоего аккаунта.
  5. В поле GSC Property появится дропдаун — выбери нужный сайт (или дашборд выберет его автоматически, если property всего одна).

Если в дропдауне нет нужного сайта — добавь его в Search Console с уровнем не ниже Full, потом нажми Refresh в настройках.

Что увидит дашборд: только данные Search Console (просмотр статистики, sitemap'ы, URL Inspection). Никаких писем, файлов или других данных Google-аккаунта.

Что хранится в БД: refresh-токен в зашифрованном виде (AES-256-GCM). Email Google-аккаунта показывается в настройках, чтобы было видно, под каким аккаунтом подключено.

Если потерял доступ: Google сам отзовёт токен, если ты сменишь пароль или удалишь приложение из настроек безопасности Google-аккаунта. В дашборде появится жёлтый бейдж «Access revoked» — нажми Reconnect. Если у тебя включены Telegram-уведомления, придёт сообщение об отзыве.


Способ 2 · Service Account JSON — только для Indexing API

Indexing API (urlNotifications.publish — отправка URL на (пере)индексацию) официально не работает через user-OAuth — Google требует именно Service Account. Если ты планируешь только смотреть статистику и работать со sitemap'ами — этот раздел можно пропустить.

2.1. Создание проекта в Google Cloud

  1. Открой console.cloud.google.com.
  2. Нажми выпадающее меню проектов вверху → New Project.
  3. Введи имя (например, gsc-indexing) → Create.
  4. Убедись, что выбран только что созданный проект.

2.2. Включение Indexing API

В боковом меню: APIs & Services → Library.

Найди и включи (Enable):

API Название в поиске
Web Search Indexing API Web Search Indexing API

Google Search Console API включать не нужно — он используется через OAuth-флоу выше.

2.3. Создание Service Account

  1. APIs & Services → Credentials → Create Credentials → Service account.
  2. Service account name: любое (например, indexing-bot).
  3. Service account ID: заполнится автоматически.
  4. Create and Continue.
  5. Разделы «Grant this service account access to project» и «Grant users access» можно пропустить — Done.

2.4. Создание JSON-ключа

  1. В списке Service Accounts открой созданный.
  2. Вкладка Keys → Add Key → Create new key.
  3. Формат: JSONCreate.
  4. Файл скачается автоматически — сохрани его, повторно скачать его уже не получится.

2.5. Добавление Service Account как владельца в Search Console

Обязательный шаг — без него Indexing API вернёт 403.

  1. Открой search.google.com/search-console.
  2. Выбери нужный сайт.
  3. Settings (шестерёнка) → Users and permissions → Add user.
  4. Email Service Account — выглядит как indexing-bot@gsc-indexing.iam.gserviceaccount.com (он же client_email в JSON-файле).
  5. Роль: Owner.

    Для Indexing API Google требует именно Owner, не Full.

  6. Add.

2.6. Загрузка JSON в дашборд

  1. В настройках проекта раскрой Advanced: Service Account JSON (for Indexing API).
  2. Вставь содержимое JSON-файла или загрузи файл через Upload JSON file.
  3. Save.

JSON хранится в БД в зашифрованном виде (AES-256-GCM) и используется только для вызовов Indexing API.


FAQ

Можно ли использовать только Service Account, без OAuth? Да. Тогда нужно (а) включить и Google Search Console API, и Indexing API в Cloud Console, (б) добавить Service Account как Owner в GSC, (в) загрузить JSON в настройки проекта. Дашборд автоматически использует Service Account, если OAuth не подключён. Но OAuth удобнее — никакой возни с Cloud Console.

Можно использовать одновременно и OAuth, и Service Account? Да. OAuth имеет приоритет для всех чтений (статистика, sitemap, URL Inspection). Service Account будет использоваться только для Indexing API.

Что если у меня нет доступа Owner к сайту в GSC, но есть Full? OAuth-флоу будет работать (Full достаточно для чтения и для управления sitemap'ами). Indexing API — нет, только Owner.

Кто видит мой OAuth-токен или JSON? Никто, кроме сервера дашборда. Оба секрета хранятся в БД зашифрованными ключом ENCRYPTION_KEY (AES-256-GCM) и расшифровываются только для вызовов Google API.