
SEO-cпециалист постоянно работает с различными поисковыми запросами. Никаких сложностей не возникает до тех пор, пока дело не доходит до анализа большого количества запросов, которые, в свою очередь, включают в себя тысячи слов. Такой бесчеловечный объем работы обычно возникает в процессе сбора семантического ядра в крупных проектах или при анализе запросов конкурентов (например, популярным сервисом SpyWords). В любом случае, мы имеем огромное количество запросов, которое нужно проанализировать.
Как быть?
Чтобы упростить большое семантическое ядро запросов, необходимо разбить запросы на смысловые категории и дальше уже работать с небольшими группами слов. Согласитесь, так ведь проще?
Определяем смысловые категории
Как правило, тематика уже нам знакома, и мы можем выделить слова, которые будут определять смысл наших групп. Так сказать, мы выделим "нужное" используя слова-метки. Далее, нам необходимо выделить группы запросов по сформированным меткам. Мы не будем делать это вручную или пользоваться обычным поиском по тексту.
Приведу несколько решений данной задачи, а также покажу приложение нашей студии, которым вы можете также воспользоваться.
И так, сегодня в обзоре три инструмента seo оптимизатора:
- Инструмент классификации запросов от блога Devaka
- Способ с использованием SQL-запросов
- SEO-инструмент "Маркер запросов"
Инструмент классификации запросов от Devaka
Этот способ был описан в блоге Devaka Сергеем Кокшаровым. Инструмент представляет собой макрос к офисной программе OpenOffice. Для работы нам понадобиться установить OpenOffice Calc и выполнить ряд действий. Рассмотрим их поочередно:
- Создаем новый документ в OpenOffice Calc, размещаем на первом листе все запросы и обязательно задаем имя листу — "Ядро".
- Переходим на второй лист, задав имя - "Карта". Далее в первой колонке указываем слова, по которым происходит маркировка, а во второй колонке прописываем имя маркера. Таких маркеров может быть несколько, так же как и групп.
- Теперь нужно создать макрос, который будет маркировать наши запросы. Делается это в несколько шагов:
-
- Переходим в главном меню: Сервис- Макросы- Управление макросами- OpenOffice Basic...
- Далее, во всплывающем окне нажимаем на кнопку - "Создать"
- Копируем скрипт (представленый ниже) и нажимаем на кнопку - "Сохранить"
Скрипт для макроса
-
Sub Categorize Dim Cursor As Object, Map As Object, Range As Object Dim NumColumns As long, Col As long, NumRows As long Dim Head As String Map = ThisComponent.Sheets.getByName("Карта") Cursor = Map.createCursor Cursor.gotoEndOfUsedArea(True) NumColumns = Cursor.Columns.Count For Col = 0 To NumColumns - 1 Step 2 Head = Map.getCellByPosition(Col, 0).String If Head "" Then NumRows = LastRowWithData(Col) + 1 ParseMap(Head, Col, NumRows) End If Next Col MsgBox "Обработка ядра завершена." End Sub Sub ParseMap (ByVal Head as String, ByVal Col as long, ByVal NumMarks as long) Dim Names(1 To NumMarks) As String, Keys(1 To NumMarks) As String Dim Core As Object, Map As Object, Cell As Object, Source As Object, Cursor As Object Dim I, J, NumRows, CellIndex CellIndex = GetCellByName(Head) Core = ThisComponent.Sheets.getByName("Ядро") Map = ThisComponent.Sheets.getByName("Карта") For I = 1 To NumMarks Keys(I) = Map.getCellByPosition(Col, I-1).String Names(I) = Map.getCellByPosition(Col + 1, I-1).String Next I Cursor = Core.createCursor Cursor.gotoEndOfUsedArea(True) NumRows = Cursor.Rows.Count For I = 1 To NumRows Source = Core.getCellByPosition(0, I) Cell = Core.getCellByPosition(CellIndex, I) For J = 1 To NumMarks If InStr(LCase(Source.String), LCase(Keys(J))) > 0 Then Cell.String = Names(J) End If Next J Next I End Sub Function GetCellByName (Head as String) Dim Core As Object, Cursor As Object Dim J Core = ThisComponent.Sheets.getByName("Ядро") Cursor = Core.createCursor Cursor.gotoEndOfUsedArea(True) NumColumns = Cursor.Columns.Count For J = 1 To NumColumns If Core.getCellByPosition(J - 1, 0).String = Head Then GetCellByName = J - 1 Exit Function End If Next Core.Columns.insertByIndex(1, 1) Core.getCellByPosition(1, 0).String = Head GetCellByName = 1 End Function Function LastRowWithData (ColumnIndex as long) as long Dim Cursor As Object, Range As Object, Map As Object Dim LastRowOfUsedArea as long, R as long Dim RangeData Map = ThisComponent.Sheets.getByName("Карта") Cursor = Map.createCursor Cursor.gotoEndOfUsedArea(False) LastRowOfUsedArea = Cursor.RangeAddress.EndRow Range = Map.getCellRangeByPosition(ColumnIndex, 0, ColumnIndex, LastRowOfUsedArea) Cursor = Map.createCursorByRange(Range) RangeData = Cursor.getDataArray For R = UBound(RangeData) To LBound(RangeData) Step - 1 If RangeData(R)(0) "" then LastRowWithData = R Exit Function End If Next End Function
Остается запустить макрос. Для этого переходим в главном меню: Сервис- Макросы -Выполнить макрос...
В библиотеке "Мои макросы" выбираем макрос с именем - "Categorize" и нажимает на кнопку "Выполнить".
После будет выдано сообщение об окончании работы скрипта.
Можно отсортировать все запросы по маркерам и уже работать с конкретными группами запросов.
Способ с использованием SQL-запросов
Данный способ возник как альтернатива и тоже имеет свое право на существование, не смотря на то, что он сложнее и требует специальных знаний. Этот метод эффективней при обработке неизмеримого количества запросов. Расскажу основную идею, минуя все технические подробности (мы же профессионалы).
Нам понадобятся приложения:
- XAMPP — полностью бесплатный и простой в установке дистрибутив Apache, содержащий MySQL;
- SQLyog Community (используем для удобства, можно обойтись и без него) — универсальная программа для управлениями MySQL базами данных.
- Устанавливаем ПО, после чего запускаем сервисы - Apache и MySQL.
- Далее запускаем SQLyog, подключаемся к серверу MySQL.
-
Создаем базу и таблицу с одним полем.
-
Далее необходимо произвести импорт запросов, предварительно создав файл формата *.csv.
-
В итоге у нас должно получиться:
-
Все самое трудное пройдено. Остается написать SQL- запрос, который по маркеру будет находить "необходимое". SQL - запрос выглядит следующим образом:
SELECT * FROM `group_table` WHERE `name` LIKE '%курс%'
Онлайн seo-инструмент "Маркер запросов" от SEMANTICA
Вышеперечисленные способы решения задачи, конечно же, обладают своими преимуществами. Но хочется что-то готовое, не требующее временных затрат на подготовку к основной работе, при этом содержащее все "плюсы". С этой целью и было создано web-приложение "Маркер запросов".
В данный момент приложение находится в тестовом режиме и доработке по функционалу, но с ключевой задачей обязательно справиться.
Для ознакомления с приложением перейдите по адресу: marker.semantica.in
Выполните всего 3 шага для группировки поисковых запросов:
- Шаг 1. Введите все запросы;
- Шаг 2. Введите маркеры;
- Шаг 3. Запустите маркировку по запросам.
Все запросы будут сформированы по группам в текстовых полях.
В заключении хочется отметить, что поисковый инструмент "Маркер запросов" предназначен, прежде всего для упрощения работы оптимизатора. Поэтому будет очень здорово, если вы будите участвовать в развитии инструмента, делиться мыслями и идеями по улучшению функционала приложения.
Ждем ваши сообщения в комментариях.