SEO-аналитика: как мы брендовый трафик в органике чистили [нестандартный кейс]

Брендовый трафик в SEO: чистка и исключение из анализа результатов работы. Звучит легко, но что делать, когда брендового трафика много, и он не поддается никаким регулярным выражениям? Мы применили фильтрацию брендовых ключевых слов, используя трехступенчатую очистку, и полностью автоматизировали отчеты по трафику. Как мы это сделали? Читайте в статье.

SEO-аналитика: как мы брендовый трафик в органике чистили [нестандартный кейс]

Вы отслеживаете эффективность работы в SEO? Трафик, позиции? Все правильно, ничего плохого или особенного в этом нет. Конечно, у нас есть и другие показатели, например, внедрения по проекту и их количество, новые посадочные и индексация. Но основополагающими показателями являются трафик и позиции.

Итак, подробнее о проекте и задаче. Знакомьтесь: www.i-maika.ru, занимаются печатью на футболках и толстовках. Маркетологи бренда отлично поработали, и теперь у сайта 60-70% брендового трафика в органике. Для наглядности скриншот ниже демонстрирует текущую ситуацию по брендовому трафику. Конкретные цифры не раскрываем из-за NDA.

Рисунок 1. Распределение трафика из Яндекса между брендовыми и небрендовыми переходами пользователей. False - не бренд, True - бренд.
Рисунок 1. Распределение трафика из Яндекса между брендовыми и небрендовыми переходами пользователей. False - не бренд, True - бренд.

Задача

Мы начали работу с того, что взяли точку отсчета по проекту — договорились о том, что на всех отчетах не будем учитывать брендовый трафик. Задача стандартная, ничего сложного. В тот момент я подумал, что разберусь ближе к дате отчета. Теперь поговорим о примерах брендовых ключей и о том, почему регулярные выражения вас не спасут.

Стандартные брендовые ключи (легкий уровень фильтрации):

  • ямайка печать на футболках
  • i-maika.ru
  • ямайка.ру

Нестандартные (средний уровень фильтрации):

  • yamaika
  • imayka
  • iмайка
  • я+майка
  • ямаяка
  • я люблю майки

Уровень “хард”:

  • ya!maika
  • ш-ьфшлф

На самом деле, продолжать можно до бесконечности. В нашей базе 38 000+ ключей, из которых 5259 являются брендовыми.

<p>Рисунок 2. Пример итогового скриншота из БД после фильтрации (читайте до конца, чтобы понять, о чем идет речь).</p>

Рисунок 2. Пример итогового скриншота из БД после фильтрации (читайте до конца, чтобы понять, о чем идет речь).

Как подошли к решению текущей задачи и для чего это вообще нужно?

Самое простое — выдать все ключи из метрики контент-менеджеру на вычитку и разметку, обработать данные (подготовить регулярки) и жить спокойно. Теперь представьте: 38000 ключей можно физически вычитать за 26 часов (если на каждый ключ тратить по 1 секунде). Далее каждый отчетный месяц проверять списки запросов и корректировать отчеты. Слишком долго и дорого, да и контент-менеджер выгорит к концу задачи.

<p>Рисунок 3. Представляю лицо контент-менеджера, которому бы дали такую задачу.</p>

Рисунок 3. Представляю лицо контент-менеджера, которому бы дали такую задачу.

Решение №1. Собираем минимальный список стоп-слов

Решение простое, ничего сверхъестественного. У нас получилось всего 180 стоп-слов из различных вариаций бренда, номеров телефонов, адресов и др. Написали python-скрипт, которым раз в месяц перед датой отчета вычищали из запросов брендовые ключи. Скрипт самый простой: подаем таблицу на вход, на выходе получаем такую же таблицу, но без бренда. Получилось уже неплохо, но точность была довольно низкая. Python проверял всего-навсего вхождения в строку по стоп-словам. Не распознавал опечатки, ошибки и другие подобные формы. Нестандартные брендовые ключи и ключи уровня “хард” практически не распознавались.

Основная проблема — время. Клиент оплачивает нормо-часы, и очень не хотелось тратить 3-10% бюджета проекта просто на сборку и чистку отчета.

<p>Рисунок 4. Скриншот из Power BI с данными по затраченному времени на подготовку отчетов. Диапазон дат с 22 сентября 2022 года.</p>

Рисунок 4. Скриншот из Power BI с данными по затраченному времени на подготовку отчетов. Диапазон дат с 22 сентября 2022 года.

На основании данных, представленных на рисунке 4, видно, что i-maika.ru занимает ТОП-3 по трудозатратам на составление отчетов (метка - “подготовка отчета”) среди всех проектов с 22 сентября 2022 года.

Кто не в курсе, мы в Ant-Team.ru продаем рабочие часы специалистов.

Переходим к следующему этапу, на котором требуется учитывать опечатки, словоформы и неявные упоминания бренда.

Решение №2. Более точное

Яндекс Спеллер

Используем Яндекс Спеллер и модель обученных данных по ключевым словам. В основе лежит ранее подготовленная выборка стоп-слов, которую мы получили в решении 1. Рассмотрим по порядку схему на рисунке 5.

<p>Рисунок 5. Схематический пример распознавания бренда в Python-скрипте.</p>

Рисунок 5. Схематический пример распознавания бренда в Python-скрипте.

Со спеллером всё довольно просто. Это готовая библиотека от Яндекс, которая помогает находить и исправлять ошибки в РУ/EN текстах. Документация спеллера по ссылке. Пример фильтрации представлен на рисунке 6.

Рисунок 6. Фильтрация первого уровня — Спеллер. Пример.
Рисунок 6. Фильтрация первого уровня — Спеллер. Пример.

Фильтрацию нулевого уровня не показываем. Там всё просто — проверяется вхождение по стоп-слову в ключевое слово. Описано в решении 1.

Обученная модель данных

Последующая фильтрация. Применять нужно с осторожностью, так как есть вероятность некорректно распознать релевантность слов из-за маленькой выборки в обучении данных. Ниже на рисунке 6 представлен скриншот с результатом. Всё, что выше 0.9 и присутствует в стоп-словах, помечаем как “бренд”.

<p>Рисунок 7. Фильтрация второго уровня — модель обученных данных. Пример для запроса emaika.</p>

Рисунок 7. Фильтрация второго уровня — модель обученных данных. Пример для запроса emaika.

Таким образом, используя двухуровневую фильтрацию и несколько библиотек на python, можно легко распознавать брендовые запросы в органике, если у вас их очень много. Безусловно, в скрипте идет автоматическое удаление всех символов, цифр и иных видов мусорных вхождений в ключевых словах (кроме букв) с помощью регулярных выражений.

Если вам интересно узнать больше о регулярных выражениях в аналитике, то посмотрите наш вебинар.

Итоговый вид аналитики по проекту

Далее представлен итоговый вид аналитики по проекту и идеи по его доработкам. Схематически выглядит так, как это показано на рисунке 8.

Рисунок 8. Схема работы с аналитикой посещаемости и фильтрации бренда. На данный момент реализована только Яндекс.Метрика.
Рисунок 8. Схема работы с аналитикой посещаемости и фильтрации бренда. На данный момент реализована только Яндекс.Метрика.

Пояснение к рисунку 8. Мы ежедневно выгружаем данные о ключевых словах и данные о посещаемости сайта. Обрабатываем их. Далее происходит визуализация в Google Data Studio (для клиента) и в Power BI (для нас) — рисунок 9.

Рисунок 9. Визуализация данных в Power BI. True --- брендовый трафик, False --- прочая органика, (пусто) — еще не обработанные ключи.
Рисунок 9. Визуализация данных в Power BI. True --- брендовый трафик, False --- прочая органика, (пусто) — еще не обработанные ключи.

Выводы

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

Также будем рады услышать, как вы чистите бренд и какие показатели эффективной работы в SEO отслеживаете.

Автор: Дмитрий Федосеев (Ant-Team.ru).

P.s. Подписывайтесь на наш телеграм-канал https://t.me/seoantteam. Там вы найдете много полезного контента и экспертных статей по поисковой оптимизации.

2121
19 комментариев

Серьезный подход!

3
Ответить

1. Кейс крут по доскональности, но остаётся вопрос, нужна ли она настолько точной? Не проще было бы договориться с маркетологами о допустимой ошибке в бренде на уровне 1% трафика? Вряд ли там бы больше собралось.

2. "договорились о том, что на всех отчетах не будем учитывать брендовый трафик"
У вас так не на всех проектах?

2
Ответить

1. Там больше погрешность. А инструмент теперь можно везде использовать
2. Не у всех клиентов так по разному пишут название бренда

2
Ответить

Комментарий недоступен

Ответить

Отличный пример из практики, спасибо.

2
Ответить

"Данная статья в очередной раз доказывает, почему SEO-специалист должен хотя бы немного разбираться в Python"

Зачем? Программисту в любом случае виднее, как построить алгоритм. Аналитику нужно просто данные предоставить и задачу объяснить.

1
Ответить

Не, понятно, что каждая дополнительная компетенция повышает ценность специалиста. Но универсальность — это угроза специализации. Есть и другое: чем больше ты умеешь, тем больше на тебя будут пытаться навесить за те же деньги.

1
Ответить