Группировщик ключевых слов для SEO/PPC

1385

Если вы работаете в SEO/PPC, то ежедневно имеете дело с тысячами строк данных. Речь идет не только об аналитике и управлении рекламными кампаниями, в работе часто возникает необходимость в группировке ключевых слов.

Группировка ключевых слов

Чтобы создать рекламную кампанию или сгруппировать запросы по посадочным страницам, подготовить коммерческое предложение или прикинуть бюджет – нужно перебрать 1000-5000 ключевых слов.

Например, у нас есть список из таких ключевых слов:

  • отдых в турции
  • отдых в болгарии
  • отдых в греции
  • отдых в египте
  • отдых в черногории
  • отдых на кипре
  • туры в болгарию
  • туры в испанию
  • туры в таиланд
  • отдых на мальдивах
  • отдых в хорватии
  • виза в китай
  • отдых в оаэ
  • отдых на кубе
  • отдых в италии
  • туры на кубу
  • туры в хорватию

и еще несколько сотен/тысяч строк …

Нужно распределить ключевые слова по группам:

Сгруппировав слова – можно создать группы рекламных объявлений, подобрать общие посадочные страницы и многое другое. Не говоря о том, что такие слова как «туры болгария» и «болгария туры» попадут в одну группу – то есть, проще заметить такие «дубли».

Если у нас всего лишь 20-30 ключевых – их можно сгруппировать вручную. Сотня-две – с помощью Excel. Однако, ежедневно работая с тысячами ключевых слов — проще и удобнее использовать собственные инструменты автоматизации. Так я и поступил — подготовил ТЗ, обсудил детали с php-программистом, и через несколько дней скрипт был готов.

Как работает скрипт

У нас есть некий набор ключевых слов:

  • египет в мае
  • отели в турции кемер
  • туроператор турция
  • карта отелей египта
  • туроператор черногория
  • лучшие отели кемера
  • цены в турции
  • отели кемера 5
  • турправда египет
  • отель праги
  • самые лучшие отели турции
  • турция кемер отели
  • туризм в турции
  • отели египта 5 звезд
  • отели кипр
  • отели турции кемер 5
  • экскурсии египет
  • горячие путевки в египет
  • египет шарм эль шейх отели
  • египет путевки
  • события в египте
  • отель прага
  • египет хургада отели
  • отели в хургаде
  • шарм эль шейх египет
  • поездка в турцию
  • туроператор болгария
  • онлайн бронирование отелей
  • турция отели цены
  • отели алании
  • стоимость путевок в египет
  • фото отелей египта
  • отели египта хургада
  • лучшие отели турция
  • путевки египет
  • туроператор по болгарии
  • … и т.п.

Перед составлением индекса, скрипт нормализует все словоформы. Для этого применяется простой и эффективный инструмент — MyStem Яндекса.

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

На следующем этапе скрипт группировки определяет частоты для всего индекса документа и выстраивает рейтинг. Частоты считаются для каждого слова (после нормализации). Если у нас есть «отдых в тунисе» то скрипт считает частоты для «отдых» и «тунис».

*Кстати, в настройках скрипта можно задавать минимальные значения частот для групп и подгрупп. Т.е. можно регулировать количество ключевых слов в группах и подгруппах. Если слово встречается редко (в документе), то оно не сможет создать «свою» группу или подгруппу.

На данном этапе – рейтинг слов выстраивается от наиболее частотных к менее частотным. Зачем это нужно? Чтобы создать основные группы. Скажем так, если слово «египет» встречается чаще чем слово «отель» то поисковый запрос (например, [недорогие отели египта]) включающий слово «отель» будет отнесен к группе «египет» а не наоборот.

Рейтинг слов образует названия групп. Ключевые слова «привязываются» к соответствующим группам:

В списке может быть обнаружено и слово с ошибкой. Сейчас поисковый запрос с ошибкой отнесен к группе «египет», но уже на следующем этапе – попадет с отдельную подгруппу, так что обнаружить такие запросы можно будет легко и просто (если одни и те же ошибки не встречаются слишком часто).

Итак, мы сгруппировали слова, но довольно примитивно. Далее – нам нужна более точная группировка.

*Кстати, все эти этапы существуют лишь на уровне работы скрипта. Пользователь просто добавляет ключевые слова и получает на выходе уже сгруппированный список.

Между прочим, если на входе подавать tsv содержащий не только ключевые слова, но и разные данные (например – частоты, оценочные ставки), на выходе мы получим сгруппированный список с тем же набором параметров.

Более точная группировка означает, что внутри каждой группы скрипт создаст подгруппы и распределит слова между ними.

На данном этапе точно также будет выстраиваться рейтинг слов по частоте. При этом рейтинг будет создаваться только внутри группы, основное слово группы (оно же – название группы) не будет принимать участие в рейтинге. Кроме того, рейтинг слов в группе выстраивается по обратной частотности. Т.е. слово с наименьшей частотностью – первым создаст «свою» подгруппу.

Конечно, создать свои подгруппы могут только те слова, которые встречаются не менее N-раз (задается в настройках скрипта, но обычно это не менее 4-5).

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

На выходе получаем сгруппированный список:

К слову сказать, такие необычные названия подгрупп вроде «анталий» и подобное – результат работы MyStem. Стеммер не всегда корректно выбирает начальную словоформу.

Слова с неправильным написанием (если такие слова редко встречаются) и те слова, что встречаются в документе 1-2 раза – попадают в подгруппу «Прочее».

Эти слова тоже пригодны для работы, но с ними нужно будет разбираться отдельно. Некоторые можно перенести в подходящие подгруппы, от других – отказаться.

Вот и все. Скрипт использует довольно примитивный алгоритм, основная хитрость которого (не считая нормализации) состоит в выстраивании рейтинга для групп – от наиболее частотных слов к наименее частотным, а внутри подгрупп – наоборот.

Скрипт позволяет очень быстро справляться с солидными объемами данных. 5000-20000 ключевых слов группируются за несколько секунд, еще не более 5-10 минут уходит на то чтобы разобрать ключевые слова, попавшие в группу «Прочее».

Что дает использование скрипта? Дело ведь не просто в скорости обработки данных. Практическая выгода складывается из нескольких пунктов:

• Появляется возможность уже на этапе рассмотрения заявки или подготовки коммерческого предложения использовать полноценные выборки ключевых слов, а не «обзорные» списки из 50-100 строк.

• На подготовку базовых таблиц (бюджеты, группы поисковых запросов/посадочных страниц) затраты времени сократились с 2-6 часов до 1-1,5 часа. И это при значительном (в 5-10 раз) увеличении объема обрабатываемых данных.

• Автоматизация труда позитивно сказывается на отношении к работе.

• Уже на на этапе подготовки (рассмотрении заявки от клиента/подготовки коммерческого предложения) можно показать серьезный объем работ, без существенного увеличения затрат времени.

Автор: Андрей Шувалов, shuvaloff.com

Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета. Языки: румынский, испанский. Кредо: Арфы нет, возьмите бубен.