Создаем 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-кейсами и аналитикой, которые меня заинтересовали
В этом кейсе я расскажу, как я из идеи об инструменте которого мне не хватало в моих рабочих процессах, с чистого листа создал в одиночку стартап, проведя его через все этапы от проектирования до запуска, своими руками (и мозгами) делая всю работу. Какой получился результат, принёс проект пользу лично мне, и оказался ли полезен людям. Погнали!
Криптовалюта давно вышла за рамки хобби для айтишников и превратилась в полноценный финансовый инструмент. Сегодня биткоином и USDT уже никого не удивишь, а запрос «как обменять криптовалюту в Уфе» встречается едва ли не чаще, чем «где вкусно поесть». Ведь цифровые активы хороши сами по себе, но рано или поздно их приходится переводить в привычные…
Все любят считать чужие деньги. Поэтому мы объединились с ребятами из CLAN Recruiting, чтобы замутить полноценное исследование зарплат маркетологов. Несколько этапов реализации, проектирование интерактивного дашборда и, наконец, мы можем выпустить материал.
Больше 70% сайтов используют движок Wordpress. Это самый универсальный движок из популярных CMS, много тем, простое редактирование. На аудитах часто встречаю сломанные движки, из-за криво установленного кода Яндекс метрики. Не нужно лезть в код, всё гораздо проще.
Всегда проще предупредить снижение позиций и трафика, чем героически трудиться над их восстановлением. И если со страшными и ужасными Google Core Update и Spam Update мы мало что можем поделать, то на продвигаемый сайт и его индексацию обычно вполне способны повлиять. Поэтому и необходима регулярная SEO проверка сайта.
Хочу поделиться с вами своим отрицательным опытом в бизнесе. Рассказать про ошибки, которые мы совершили с мужем, когда открывали кондитерский отдел: как мы подходили к запуску бизнеса, выбору помещения и о других нюансах работы в этой нише.
Дашборды - это мониторы состояния здоровья бизнеса, которые обеспечивают непрерывный контроль за жизненно важными бизнес показателями и помогают быстро принимать оперативные решения на основе актуальной информации.
Мой выбор однозначно пал на Matomo. Очень давно использую его для дропов и pbn'ок, с тех древних времён когда он еще был Piwik'ом (олды помнят).
Для менеджера по продукту отзывы пользователей – это бесценный источник знаний о проблемах, запросах, пожеланиях и юзкейсах аудитории. Но есть нюанс: анализировать текстовые отзывы вручную тяжело, поэтому команды часто их игнорируют целиком или анализируют отзывы редко и несистемно.
круть)
Согласен. Тема классная. 👍
💪 Крутяк, забрал в закладки