Создаем BI отчеты для SEO помощью Google Looker и A-Parser

Создаем 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:

  1. Создаем подключение в Workbench. Можно воспользоваться инструкцией
  2. Создаем базы данных под данные из Метрики, GSC и Topvisor
CREATE DATABASE gsc_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE DATABASE metrika_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE DATABASE topvisor_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

3. Создаем шаблоны таблиц

CREATE TABLE gsc_db.template ( `id` int NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `razdel` varchar(45) NOT NULL, `vizity_vsego` int NOT NULL DEFAULT '0', `vizity_ya_vsego` int NOT NULL DEFAULT '0', `vizity_google` int NOT NULL DEFAULT '0', `vizity_ya_ne_brend` int NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `idx_unique_combination` (`date`,`razdel`) ) ENGINE=InnoDB AUTO_INCREMENT=12480 DEFAULT CHARSET=utf8mb4; CREATE TABLE metrika_db.template ( `id` int NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `razdel` varchar(45) NOT NULL, `clicks_all` int NOT NULL DEFAULT '0', `clicks_brand` int NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `idx_unique_combination` (`date`,`razdel`) ) ENGINE=InnoDB AUTO_INCREMENT=8486 DEFAULT CHARSET=utf8mb4; CREATE TABLE topvisor_db.template ( `id` int NOT NULL AUTO_INCREMENT, `date` date DEFAULT NULL, `group_name` varchar(45) DEFAULT NULL, `folder_path` varchar(45) DEFAULT NULL, `domain_name` varchar(45) DEFAULT NULL, `region_name` varchar(45) DEFAULT NULL, `positionsAll` int DEFAULT '0', `positionsTop3` int DEFAULT '0', `positionsTop10` int DEFAULT '0', `positionsTop30` int DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `idx_unique_combination` (`date`,`group_name`,`folder_path`,`domain_name`,`region_name`) ) ENGINE=InnoDB AUTO_INCREMENT=780926 DEFAULT CHARSET=utf8mb4;

4. Чтобы создать таблицу для вашего сайта, выполните следующий SQL-запрос:

CREATE TABLE новая_таблица LIKE исходная_таблица;
CREATE TABLE gsc_db.`site.ru` LIKE gsc_db.template; CREATE TABLE metrika_db.`site.ru` LIKE metrika_db.template; CREATE TABLE topvisor_db.`site.ru` LIKE topvisor_db.template;

Теперь можно будет загружать свои данные в MySQL с помощью A-Parser. Почему A-Parser? Можно и без него, но там уже реализованы многие функции, такие как многопоточность, планировщик задач, конструктор запросов и результатов. Это все позволило упростить разработку парсеров.

Далее я разберу каждый парсер отдельно.

Настраиваем парсинг данных из Яндекс Метрики через API

Данные из Яндекс Метрики будем получать по API. Поэтому нужно получить авторизационный токен для аккаунта, где есть доступ к счетчику метрики. Как получить токен можно почитать тут.

Вот ссылка на готовый пресет для A-Parser и ссылка на инструкцию, как импортировать пресет. Парсер выгружает из Яндекс Метрики статистику по трафику из поисковых систем. Выгружает трафик из Яндекс, Google и небрендовый из Яндекс. Можно отдельно указать маску url и выгрузить трафик определенного раздела сайта.

Создаем BI отчеты для SEO помощью Google Looker и A-Parser

В 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 и выгрузить клики определенного раздела сайта.

Создаем BI отчеты для SEO помощью Google Looker и A-Parser

В 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 по датам.

Создаем BI отчеты для SEO помощью Google Looker и A-Parser

В 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-кейсами и аналитикой, которые меня заинтересовали

66
22
2 комментария

Согласен. Тема классная. 👍

1

💪 Крутяк, забрал в закладки

1
Python-парсинг. Сбор и обработка данных
Python-парсинг. Сбор и обработка данных
Прокачал себе процесс проектирования баз данных, и поделился инструментом с миром

В этом кейсе я расскажу, как я из идеи об инструменте которого мне не хватало в моих рабочих процессах, с чистого листа создал в одиночку стартап, проведя его через все этапы от проектирования до запуска, своими руками (и мозгами) делая всю работу. Какой получился результат, принёс проект пользу лично мне, и оказался ли полезен людям. Погнали!

🤩 Совсем другое дело! Вот так процесс проектирования баз данных действительно может приносить удовольствие!
22
Как обменять криптовалюту в Уфе: Топ-3 криптообменника + пошаговая инструкция

Криптовалюта давно вышла за рамки хобби для айтишников и превратилась в полноценный финансовый инструмент. Сегодня биткоином и USDT уже никого не удивишь, а запрос «как обменять криптовалюту в Уфе» встречается едва ли не чаще, чем «где вкусно поесть». Ведь цифровые активы хороши сами по себе, но рано или поздно их приходится переводить в привычные…

Как обменять криптовалюту в Уфе
От сложных таблиц к интерактивному дашборду: сколько зарабатывают маркетологи?

Все любят считать чужие деньги. Поэтому мы объединились с ребятами из CLAN Recruiting, чтобы замутить полноценное исследование зарплат маркетологов. Несколько этапов реализации, проектирование интерактивного дашборда и, наконец, мы можем выпустить материал.

От сложных таблиц к интерактивному дашборду: сколько зарабатывают маркетологи?
1313
44
Как установить метрику на сайт и не сломать? Показываю самый простой способ установки за 2 клика
Как установить метрику на сайт и не сломать? Показываю самый простой способ установки за 2 клика

Больше 70% сайтов используют движок Wordpress. Это самый универсальный движок из популярных CMS, много тем, простое редактирование. На аудитах часто встречаю сломанные движки, из-за криво установленного кода Яндекс метрики. Не нужно лезть в код, всё гораздо проще.

55
44
Ежемесячная SEO проверка сайта: зачем это нужно и что проверять?

Всегда проще предупредить снижение позиций и трафика, чем героически трудиться над их восстановлением. И если со страшными и ужасными Google Core Update и Spam Update мы мало что можем поделать, то на продвигаемый сайт и его индексацию обычно вполне способны повлиять. Поэтому и необходима регулярная SEO проверка сайта.

<i>Host status в GSC</i>
11
Вложили 1,5 млн рублей в кондитерский отдел — закрылись через 4 месяца с долгом в 350 000

Хочу поделиться с вами своим отрицательным опытом в бизнесе. Рассказать про ошибки, которые мы совершили с мужем, когда открывали кондитерский отдел: как мы подходили к запуску бизнеса, выбору помещения и о других нюансах работы в этой нише.

Важное примечание: эту картинку нам сгенерил чат ДжиПиТи-шка — в этой статье это единственная бурная фантазия нашего редактора
11
Все о дашбордах. От данных к действиям. Как дашборды меняют бизнес

Дашборды - это мониторы состояния здоровья бизнеса, которые обеспечивают непрерывный контроль за жизненно важными бизнес показателями и помогают быстро принимать оперативные решения на основе актуальной информации.

Все о дашбордах. От данных к действиям. Как дашборды меняют бизнес
Google Analytics вне закона: ставим бесплатный аналог на свой хостинг и наслаждаемся расширенной аналитикой

Мой выбор однозначно пал на Matomo. Очень давно использую его для дропов и pbn'ок, с тех древних времён когда он еще был Piwik'ом (олды помнят).

Google Analytics вне закона: ставим бесплатный аналог на свой хостинг и наслаждаемся расширенной аналитикой
22
11
реклама
разместить
Супер-простой анализ отзывов с помощью GPT

Для менеджера по продукту отзывы пользователей – это бесценный источник знаний о проблемах, запросах, пожеланиях и юзкейсах аудитории. Но есть нюанс: анализировать текстовые отзывы вручную тяжело, поэтому команды часто их игнорируют целиком или анализируют отзывы редко и несистемно.

Логика обработки отзыва
11
Как сделать сайт БЕЗ КОДА с нуля | Простая инструкция как сделать продающий сайт
Как сделать сайт БЕЗ КОДА с нуля | Простая инструкция как сделать продающий сайт 
Как приготовить дашборд и порадовать босса? ПП-рецепт для начинающих и матёрых волков
Как приготовить дашборд и порадовать босса? ПП-рецепт для начинающих и матёрых волков
88
11
[]