ВХОД РЕГИСТРАЦИЯ
База знаний

Семантическое ядро для авиабилетов

21 января 2016 40 комментариев

Семантическое ядро для авиабилетов

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

1. Теория

Задача — найти ключевые слова по теме авиабилетов с трафиком и низкой конкуренцией. Большинство вебмастеров используют для этого Вордстат с  устаревшей информацией. Но Яндекс говорит, что в большей части поисков используются запросы, которые задаются впервые.

В статье мы постараемся предугадать запросы пользователей.

2. Структура сайта

Чтобы охватить максимум семантики, используем следующую структуру сайта:

Семантическое ядро, структура сайта

Сначала соберем ключевые слова для раздела «Маршруты». Чаще всего пользователи задают запросы с названиями двух городов, когда ищут авиа- и ж/д-билеты. Ключевое слово будем использовать в разделе «Маршруты», если в запросе присутствуют названия двух городов.

3. Сбор «масок»

Далее нам нужна информация по авиа-маршрутам в виде «город вылета — город прилета». Логика следующая — если между городами есть маршруты, то пользователи ищут по ним авиабилеты.

Скачиваем список 72 381 авиа-маршрутов из Авиасейлз (спасибо за него Travelpayouts). Оставляем столбец с кодами IATA аэропортов вылета и прилета.

Скачиваем с сайта apinfo.ru русскоязычную базу со всеми гражданскими аэропортами мира. Оставляем столбцы с кодами ИАТА и названиями городов на английском.Также можно использовать готовые json Travelpayouts, в которых есть данные на нескольких языках (api.travelpayouts.com, в самом низу).

Пишем скрипт, который подставляет название городов в таблицу с маршрутами и экспортируем CSV-таблицу:

Таблица маршрутов

4. Перевод названий городов на русский язык

Т.к. база apinfo.ru не содержит названий на русском — переведем их самостоятельно. Копируем два столбца с городами в таблицу Гугл Докс. Переводим названия городов на русский, используя функцию GOOGLETRANSLATE:

google_translate

5. Очистка переведенных названий

В процессе сбора будет много неверно переведенных запросов («Anchorage — Якорная стоянка»), пустых строк и т.д. Но цель способа — обработать большое количество информации, поэтому не обращаем внимание на погрешность.

Используя сортировку по алфавиту удаляем строки, в которых есть пустые ячейки и маршруты с городами на английском:

Очистка названий

6. Сбор частотности запросов

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

Добавляем к каждой паре слово «билет», чтобы быть уверенными, что пользователи ищут эти ключевые слова при поиске авиабилетов:

Сбор частотных запросов в Key Collector

Собираем общую частотность:

Сбор частотности Key Collector

Удаляем запросы с частотностью ниже пяти и больше тысячи:

Фильтр частотности Key Collector

7. Определение конкуренции запросов

Определяем конкуренцию запросов через индекс конкуренции ключевых слов (KEI). Чем меньше значение — тем ниже конкуренция по ключевому слову. При низком значении индекса запроса можно быстро попасть в ТОП.

Используем формулу: KEI = (главных страниц в ТОПе)3 + (точных вхождений ключа в Title в ТОПе)3

Вводим формулы для расчета KEI 1 и KEI 2 в в настройках КейКоллектора:

Для Яндекса:

( KEI_YandexMainPagesCount * KEI_YandexMainPagesCount * KEI_YandexMainPagesCount ) + ( KEI_YandexTitlesCount * KEI_YandexTitlesCount * KEI_YandexTitlesCount )

Для Google:

( KEI_GoogleMainPagesCount * KEI_GoogleMainPagesCount * KEI_GoogleMainPagesCount ) + ( KEI_GoogleTitlesCount * KEI_GoogleTitlesCount * KEI_GoogleTitlesCount )

Определение конкуренции Key Collector

Собираем данные для Яндекса и Гугла, затем рассчитываем KEI:

Определние KEI в Key Collector

8. Сводная таблица

Экспортируем информацию с частотностью и конкуренцией запросов в итоговую таблицу с кодами ИАТА:

Экспорт в таблицу

Скачать таблицу 6 331 направлений с трафиком и низкой конкуренцией.

9. Определение интентов (намерений пользователей)

Далее постараемся предугадать вопросы, которых интересуют пользователей в контексте поиска авиабилетов. В Travelpayouts уже подобрали интенты («Авиабилеты — Семантическое ядро.xlsx»):

Определение интентов

На следующих шагах из интентов мы будем составлять ключевые слова для посадочных страниц.

10. Выводы

  • Не нужно гнаться за ВЧ-запросами. Много трафика дают НЧ-запросы
  • Нулевое значение KEI показывает отсутствие или низкую конкуренцию запроса
  • Использование интентов на странице позволяет привлечь больше трафика по УНЧ-запросам

11. Что дальше?

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

Статью подготовил Виталий Виноградов. Продвигаю личные и клиентские сайты с 2005 года. Сейчас консультирую по SEO и настраиваю контекстную рекламу. Обращайтесь — https://vinograd.io!

Виталий Виноградов

Рекомендуем почитать:

Опыт азербайджанского турагентства На этот раз поговорим об опыте турагентства в Азербайджане, которое спустя 2 месяца работы было номинировано на Национальную Интернет-премию Netty...
Продажа собственных товаров через свой туристический сайт — кейс от Владимира Друганова... Продажа собственных товаров и услуг на своем туристическом сайте — это популярный способ заработка среди англоязычных вебмастеров, для кого блогин...
Кейс №6. Попытка создания микробренда по поиску авиабилетов, отелей и экскурсий С нами решил поделиться своим опытом Андрей — создатель проекта trip-gear.ru. Главная задача, которая перед ним стояла, — это создание своего микр...
  • Alex Sherbakov

    Ремарка: в полученном списке (таблица 8) первая десятка — запросы на жд-билеты. В некоторых случаях на некоторых направлениях посетитель может приобрести и авиабилет (например, Уфа — Новый Уренгой), но в большинстве случаев прямых авиарейсов между указанными городами вообще нет, а часто нет и с пересадкой.

    • Спасибо за комментарий. Поскольку речь идет о сборе десятков тысяч запросов, сложно собрать только целевые. Я подумаю как исключить такие ключи. Если есть идеи — дайте знать.

    • Alex Sherbakov

      Конечно, в любом случае в результатах сбора окажется некоторое количество мусора, но на мой взгляд, если топ10 результатов (т.е. самые-самые «вкусные» запросы) почти на 100% состоит из мусора (а в топ30 мусора, на глазок, процентов 40), то такие результаты никак нельзя назвать приемлемыми, согласитесь?

      В SEO я ноль без палочки, так что идеи высказывать не решусь. Ну, кроме разве что одной «в лоб» — искать не «билеты», а «авиабилеты» или что-то подобное.

      P.S. А эта таблица 8 как-нибудь коррелирует с таблицей существующих авиамаршрутов от Aviasales? Если нет, то надо ее профильтровать по таблице маршрутов, отбросив несуществующие. Мусор, конечно, и в этом случае останется, но его будет в разы меньше, хотя «Уфа — Новый Уренгой», «Челябинск — Новый Уренгой» и прочие уральские и западносибирские города в Новый Уренгой останутся все-равно, поскольку такие маршруты есть. Но ими никто не летает, кроме чиновников, миллионеров и командировочных, а выдающаяся частота запросов по этим направлениям обусловлена тем, что вахтовики постоянно ездят туда-сюда, и ездят они поездами, да еще и плацкартными. Похоже, без reality check не обойтись, но применительно к тысячам запросов это, очевидно, труднодостижимо.

    • Да, можно собирать запросы с «авиабилеты», хорошая идея. Все маршруты взяты из базы АвиаСейлз.

    • Styler

      >авиарейсов между указанными городами вообще нет
      Тогда не понятно, почему они есть в таблице авиа-маршрутов из Авиасейлз? Как понимаю, изначально всё от этого и строится.

      Мне интересно, зачем было извлекать ИАТА коды с названиями городов на английском, чтобы потом их переводить в Гугле на русский, если в экспорте базы аэропортов есть «Название города на русском языке». Может какой нюанс?

    • Alex Sherbakov

      >авиарейсов между указанными городами вообще нет>Тогда не понятно, почему они есть в таблице авиа-маршрутов из Авиасейлз?

      Между практически всеми крупными городами России есть авиарейсы — через Москву. Из Тюмени в Омск (600 км по автодороге) таки можно улететь через Москву, но вы вряд ли найдете идиота, купившего такой перелет, который продлится, к тому же, дольше, чем если поехать на поезде.

      Или, там, маршрут Волгоград — Ростов. 472 км на машине, 6ч пути. Думаете, сможете продать страждущему авиабилет на это направление? 🙂

      Т.е. формально между этими городами маршрут есть — и всего лишь с одной пересадкой. По факту же трафик по запросу «билетов» по этому направлению — на 100% железнодорожный, а то и автобусный.

    • Styler

      >Думаете, сможете продать страждущему авиабилет на это >направление?
      Это уже вопрос выбора покупателя 🙂

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

    • Alex Sherbakov

      > Это уже вопрос выбора покупателя

      Ну тут вроде о поиске правильного трафика статья, а не «гребем всех, может кто и купит». Или я чего-то не понял?

    • Styler

      >Ну тут вроде о поиске правильного трафика статья
      Думаю, скорее «дешевого» трафика. Смысл которого быстро нагенерить ключевых фраз, предельно просто отсеяв очевидно неподходящие.

    • Alex Sherbakov

      Дополню. Иногда есть и прямые рейсы, например, Екатеринбург — Тюмень, 45 минут полета. Но — не каждый день, что говорит о слабой востребованности рейса, там всего-то 320 км, 5ч на машине или 6ч на электричке.

  • Seconds from disaster

    Здравствуйте, а вы открывали загруженные вами CSV таблицы. Все данные в них не разбиты по столбцам, а находятся в одном столбце. Как с ней работать? Скрин прикрепил. И так с каждой CSV у вас. С уважением.

    • Nikita Gurovskiy

      Так работает csv формат, его нужно импортировать в Excel с указанием запятой, как разделителя.

    • Валерий

      а в гуглшыт как? )))

    • Вел, проще простого! Новый Spreadsheet — File — Import — Вуаля! 🙂

    • Валерий

      сделал, ага, пасиб 🙂

    • Seconds from disaster

      спасибо

    • Alex Sherbakov

      Или заменить запятые на точку-с-запятой перед импортом.

  • Styler

    В статье идёт привязка к КейКоллектор, который является сео-софтом и те, кто не занимается сео, им не пользуются . Было бы интересно, увидеть тот же материал, но без использования проф.софта. Думаю, это было бы интересно тем, кто не занимается сео на проф.основе.

    • Ilya Savchuk

      Тем и статья тогда эта ни к чему)

    • Styler

      Так сео-шники и так всё знают.

    • Ilya Savchuk

      В целом да. Тут только показали откуда взять базы с кодами, но это гуглится наверное.

    • Styler

      Согласен. Но статья могла быть интересна и новичкам в сео.

    • Georgiy Groshkov

      используйте бесплатный аналог КК — словоёб

    • Styler

      Разработчник у них один. И что делать у кого ни то, ни другое не работает?
      Например, Microsoft .NET Framework 4.0 Full не возможно установить и IE не пользуют?

    • Georgiy Groshkov

      ну что совсем одни на белом свете и живут на необитаемом острове…. безвыходных ситуаций не бывает. Есть родственники, друзья, знакомые.

    • Styler

      Ага, зачётная шутка 🙂

    • Nikita Gurovskiy

      Программа стоит 21$, это окупается за 4 конверсии. Софт стоит своих денег, это обсуждение уровня «бесплатный хостинг или платный», я бы рекомендовал вложиться.

    • Styler

      Вопрос не в том, что «бесплатный хостинг или платный», а в том чтобы хотя бы понимать детали того что происходит и что откуда берётся, а не замыкаться на функционале какой-то конкретной программы.

    • Nikita Gurovskiy

      Можно использовать другой софт, бесплатный — http://seom.info/2010/07/29/slovoeb/ и оценивать конкуренцию более поверхностно.

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

    • Ilya Savchuk

      Это наоборот должно простимулировать разобраться что это за программа, которая умеет обрабатывать такой массив)

      Подобные задачи руками не делаются.

    • Styler

      >Подобные задачи руками не делаются.
      Кто же сомневается?! Но подозреваю, что многие сео-шники сами до конца не понимают, что откуда берётся. Это как возьми строку оттуда, в это поле занеси такой-то текст, нажми на такие-то клавиши — получишь результат 🙂
      P.S. А в этом КейКоллекторе (имхо) очень специфическая документация 🙂

  • Alexej Antonov

    по каждому из указанных сочетаний слов запросов в месяц не более 50….это слишком мало.

    • На чем основано утверждение? Напомню, что семантика для генерации.

    • Alexej Antonov

      так зайди в яндекс wordstat и задай эти слова с кавычками…без кавычек да все как и написано…а вот если заменить слово «билет» на «авиабилет» результат будет гораздо лучше…Тем не менее спасибо сайту за идею… я как то не додумался, что ищут рейсы, теперь вот использовал у себя на сайте эту идею.

    • Alexej Antonov

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

  • Pingback: $10 000 в месяц на одном travel-сайте. Проверенный способ - Блог Travelpayouts()

  • Олег

    Дело в том, что не просто скачать базу и применить ее. Т.к. это вариант стандартный, то и конкуренция в топе будет стандартная. Те же aviasales, момондо и прочие. Поэтому нужно искать запросы, которые немного отличаются от стандартных, увеличивать хвост запроса. Потому как траст тех же момондо будет в 99,99% случаев выше вашего блога. А болтаться в топ20, затратив большое количество усилий, смысла нет.

    В статье показано направление действия. Не более.

  • «Добавляем к каждой паре слово…» — это как сделать?

    • Nikita Gurovskiy

      В том же Excel сделать 2 столбца: в одном пара, в другом — слово. Затем скопировать это в текстовый редактор,

    • видимо я неправильно сформулировал вопрос, я хотел спросить как получить эти пары?