Создаем BI отчеты для SEO помощью Google Looker и A-Parser
Создание SEO-дашборда помогает анализировать ключевые метрики сайта в одном месте. В статье разберем, как собрать данные из Яндекс Метрики, Google Search Console и Топвизора, настроить базу данных для хранения информации и автоматизировать парсинг через A-Parser. Также покажу, как визуализировать данные в Google Looker.
Настраиваем базу данных
Настраиваем MySQL сервер
База данных — это основа для быстрой работы дашборда. Вместо того чтобы каждый раз запрашивать данные напрямую из API (что занимает много времени), дашборд будет брать информацию из БД. Это ускоряет загрузку и делает работу с отчетами более удобной. Если бы данные запрашивались в реальном времени, процесс был бы медленным, особенно при больших объемах или сложных фильтрах. БД хранит все необходимые данные, позволяя дашборду быстро их обрабатывать и отображать.
Самый простой способ настроить настроить базу данных для дашборда — это использовать MySQL и Docker Compose. Вот тут можно подробнее почитать про Docker Compose и как его установить и инструкция по установке MySQL через docker-compose. Вот ссылка на мой docker-compose.yml файл для запуска A-Parser вместе с MySQL сервером.
Настраиваем базы данных и таблицы
Теперь нам нужно создать базы данных и таблицы. Для этого надо подключиться к MySQL серверу. Я советую использовать workbench:
- Создаем подключение в Workbench. Можно воспользоваться инструкцией
- Создаем базы данных под данные из Метрики, GSC и Topvisor
3. Создаем шаблоны таблиц
4. Чтобы создать таблицу для вашего сайта, выполните следующий SQL-запрос:
Теперь можно будет загружать свои данные в MySQL с помощью A-Parser. Почему A-Parser? Можно и без него, но там уже реализованы многие функции, такие как многопоточность, планировщик задач, конструктор запросов и результатов. Это все позволило упростить разработку парсеров.
Далее я разберу каждый парсер отдельно.
Настраиваем парсинг данных из Яндекс Метрики через API
Данные из Яндекс Метрики будем получать по API. Поэтому нужно получить авторизационный токен для аккаунта, где есть доступ к счетчику метрики. Как получить токен можно почитать тут.
Вот ссылка на готовый пресет для A-Parser и ссылка на инструкцию, как импортировать пресет. Парсер выгружает из Яндекс Метрики статистику по трафику из поисковых систем. Выгружает трафик из Яндекс, Google и небрендовый из Яндекс. Можно отдельно указать маску url и выгрузить трафик определенного раздела сайта.
В query нужно передать строку:
- Дата начала периода в формате ГГГГ-ММ-ДД. Например, 2024-11-28
- Дата конца периода в формате ГГГГ-ММ-ДД. Например, 2025-01-13
- Сайт. Например, site.ru. Это нужно, чтобы данные попали в нужную таблицу в базе данных.
- Номер счетчика метрики
- Название раздела. Например, Общий трафик, если не использовали маску url или название вашего раздела
- Регулярное выражение для брендового трафика. Подробнее можно почитать тут
- Маска URL. Например, /catalog, чтобы получить трафик только по этому разделу. Необязательный параметр
Данные в строке должны быть разделены табуляцией (удобно копировать из таблицы). Например:
2025-01-22 2025-01-22 Название сайта 5098384 Раздел (регулярка бренда) /маска url/
Есть возможность включить автоматический парсинг вчерашней даты, чтобы настроить планировщик и парсить данные каждый день. Для этого надо поставить галочку в парсере и настроить планировщик заданий. Тогда строка query выглядит примерно так:
Вчера Вчера Название сайта 5098384 Раздел (регулярка бренда) /маска url/
Чтобы данные выгружались в базу данных, нужно поставить галочку в парсере и заполнить данные для подключения, База данных для Метрики, которую мы создавали ранее - metrika_db.
Настраиваем парсинг кликов из GSC
Данные из Google Search Console будем получать по API. Поэтому нужно сделать сервис аккаунт и передать ему права на ресурс в GSC. Вот ссылка на хорошую инструкцию.
Парсер выгружает из Google Search Console статистику по кликам в проекте. Выгружает брендовые и все клики. Можно отдельно указать маску url и выгрузить клики определенного раздела сайта.
В query нужно передать строку:
- Дата начала периода в формате ГГГГ-ММ-ДД. Например, 2024-11-28
- Дата конца периода в формате ГГГГ-ММ-ДД. Например, 2025-01-13
- Сайт. Например, site.ru. Это нужно, чтобы данные попали в нужную таблицу в базе данных.
- Домен ресурса в GSC. Например, site.ru
- Название раздела. Например, Общий трафик, если не использовали маску url или название вашего раздела
- Регулярное выражение для брендового трафика. Подробнее можно почитать тут. Как в метрике, но только в GSC
- Маска URL. Например, /catalog, чтобы получить клики только по этому разделу. Необязательный параметр
Данные в строке должны быть разделены табуляцией (удобно копировать из таблицы). Например,
2025-01-22 2025-01-22 Название сайта домен Раздел (регулярка бренда) /маска url/
Есть возможность включить автоматический парсинг текущей даты минус 3 дня, чтобы настроить планировщик и парсить данные каждый день (минус 3 дня, потому что в GSC данные появляются с задержкой). Для этого надо поставить галочку в парсере и настроить планировщик заданий. Тогда строка query выглядит примерно так:
Минус 3 дня Минус 3 дня Название сайта домен/url Раздел (регулярка бренда) /маска url/
Чтобы данные выгружались в базу данных, нужно поставить галочку в парсере и заполнить данные для подключения, База данных для GSC, которую мы создавали ранее - gsc_db.
Настраиваем парсинг данных из Топвизор
Данные из Топвизор также будем получать по API. Как получить ключ можно почитать тут. Там же в настройках берем ID аккаунта.
Парсер выгружает из проекта в Topvisor статистику по позициям в проекте. Выгружает по группам и конкурентам количество запросов всего, в ТОП 3, ТОП 10 и ТОП 30 по датам.
В query нужно передать строку:
- Дата начала периода в формате ГГГГ-ММ-ДД. Например, 2024-11-28
- Дата конца периода в формате ГГГГ-ММ-ДД. Например, 2025-01-13
- ID проекта. Его можно скопировать из URL
Данные в строке должны быть разделены табуляцией (удобно копировать из таблицы). Например, 2024-11-28 2025-01-13 16133043
Есть возможность включить автоматический парсинг текущей даты, чтобы настроить планировщик и парсить данные каждый день. Для этого надо поставить галочку в парсере и настроить планировщик заданий. Тогда строка query выглядит примерно так:
Сегодня Сегодня 16133043
Чтобы данные выгружались в базу данных, нужно поставить галочку в парсере и заполнить данные для подключения, База данных для Топвизора, которую мы создавали ранее - topvisor_db. Название таблицы должно совпадать с названием проекта в Топвизор. Учитывайте это, когда будете создавать таблицу проекта в базе данных.
Настраиваем BI дашборд в Google Looker
Копируем шаблон отчета
Ссылка на готовый шаблон дашборда (в РФ Google Looker работает только с VPN). Не пугайтесь, что там везде ошибки. Шаблон просто без источников данных. Вам нужно скопировать себе этот шаблон, чтобы потом добавить свои источники.
Добавляем свои источники
Нужно подключить MySQL базу данных, как мы это уже делали ранее в Workbench и A-Parser:
Так нужно добавить базы данных с Метрикой, GSC и Топвизор. После авторизации Looker попросит выбрать таблиц. Выбираем таблицу нужного вам сайта.
Привязываем источники к графикам
Теперь нужно пройтись по всем графикам и добавить источники:
К графикам с трафиком из метрики привязываем БД metrika_db. К графикам с кликами из GSC привязываем БД gsc_db. К графика с позициями привязываем БД topvisor_db.
Для графиков с позициями нужно настроить фильтр, чтобы позиции показывались по вашему сайту:
Итог
В результате получилась схема парсинга, хранения и визуализации данных, которую легко масштабировать. Для первого сайта потребуется время ,чтобы все настроить, но дальше процесс пойдет быстрее, т.к. все работает на шаблонах.
Спасибо за прочтение! Буду благодарен за подписку на мой ТГ-канал. В нем я делюсь кейсами использования chatGPT, SEO-кейсами и аналитикой, которые меня заинтересовали