Иногда возникает необходимость отслеживать изменения CTR сниппетов в выдаче на регулярной основе либо проводить различные тесты с изменениями заголовков, описаний и т.д. Все это можно делать через интерфейсы систем аналитики, однако, если вы за автоматизацию процессов, данная статья может оказаться для вас полезной.
Все данные я выгружаю через R Studio.
Для начала подключаем необходимые для работы библиотеки:
Прописываем опции для searchConsoleR, чтобы иметь возможность выгружать больше 5000 рядов:
Документация по данной библиотеке тут.
Авторизуемся в системе.
Далее нужно задать в виде переменных адрес сайта, для которого выгружаем данные.
Для данных из Яндекс.Вебмастера задаем хост:
Для Google Search Console – URL сайта:
Для подключения к API Яндекс.Вебмастера необходимо зарегистрировать приложение и получить токен. Вся процедура описана в документации Яндекса.
В первую очередь нам необходимо получить user_id. Для этого отправляем GET-запрос без параметров, прописывая в header полученный токен. Сам user_id записываем в переменную, которую будем использовать далее.
Теперь необходимо сформировать GET-запрос к API для получения необходимой нам информации. Здесь нужно также указать токен. Хост и user_id подставляются автоматически.
После отправки запроса и получения JSON записываем необходимые нам данные в датафрейм.
Формируем два датафрема при помощи регулярных выражений: в первом оставляем все брендовые запросы, во втором – не брендовые.
Весьма ощутимая проблема работы с API Вебмастера – невозможность установить временной интервал. Данные выгружаются по умолчанию за прошедшую неделю, да еще и с временным лагом в зависимости от обновления данных в самом Вебмастере.
Таким образом, чтобы выгрузить данные из GSC за тот же временный интервал, записываем в переменные даты, за которые получили информацию из Вебмастера. Они передаются нам вместе с ответом на запрос к API:
Формируем запрос к API GSC:
Аналогично данным из Вебмастера разбиваем запросы на два файла – бренд/не бренд:
Осталось создать единый датафрейм с данными и посчитать CTR для каждой группы запросов:
На выходе имеем следующее:
Эти данные можем экспортировать в XLSX, CSV или в любой другой нужный формат.
Стоит учитывать, что данные по Яндексу формируются на основе 500 популярных запросов, которые предоставляет в наше распоряжение Яндекс.
Для более детальной отчетности будем пользоваться данными GSC. Предположим, нам нужно отследить изменения CTR после изменения метаданных для нескольких URL.
Задаем два интервала, которые будем сравнивать друг с другом:
И, соответственно, формируем два запроса к API, чтобы получить данные для двух временных промежутков. Добавляем к выгружаемым свойствам ‘page’, что позволит нам получить URL, на которые попадали пользователи по запросу:
Загружаем список URL, которые участвовали в нашем тесте:
Файлик TXT содержит в себе просто перечень URL, где каждая ссылка прописана с новой строки:
Далее нам нужно отфильтровать выгруженные данные по нужным нам URL и создать две сводные таблицы:
Далее нам нужно сопоставить две таблицы для сравнения:
Экспортируем в XLSX-формат:
Получаем следующую табличку с анализом:
R Studio обладает практически безграничными возможностями. Тут можно настроить и регулярный запуск скриптов, и отправку отчетов на почту. В интернете очень много документации, а на том же Stack Overflow всегда можно задать интересующий вопрос либо найти решение той или иной проблемы, связанной с кодом.