SEO-аналитика становится эффективнее, когда данные из специализированных инструментов автоматически попадают в привычные таблицы. Semtools — один из самых мощных сервисов для сбора SEO-метрик, но его возможности раскрываются полностью только при интеграции с Microsoft Excel или Google Sheets. Эта статья поможет настроить соединение между платформой и таблицами, чтобы вы могли анализировать позиции, трафик и конкурентоспособность сайтов без ручного копирования данных.
Многие специалисты теряют часы на экспорт CSV-файлов и их последующую обработку. Между тем, правильная настройка API-подключения позволяет обновлять отчёты в один клик, строить динамические дашборды и даже автоматизировать отправку отчётов клиентам. Мы разберём все способы интеграции — от простого импорта через Power Query до написания пользовательских скриптов на VBA.
Если вы никогда не работали с API или боитесь"сломать" Excel — не переживайте. Инструкция адаптирована для пользователей с любым уровнем подготовки. А для опытных аналитиков мы приготовили продвинутые техники, включая обработку JSON-ответов и настройку триггеров для автоматического обновления данных.
Что такое Semtools и зачем его подключать к Excel
Semtools — это облачный сервис для комплексного SEO-аудита, который собирает данные о позициях сайта, анализирует конкурентов, проверяет технические ошибки и оценивает семантическое ядро. В отличие от аналогичных инструментов (Ahrefs, SEMrush), он предлагает гибкие тарифы для российского рынка и поддерживает работу с Яндекс и Google одновременно.
Основные причины для интеграции с Excel:
- 📊 Автоматизация отчётов: данные обновляются в таблице без ручного экспорта.
- 🔍 Глубокий анализ: возможность сводить метрики из разных источников (например, позиции + трафик из Яндекс.Метрики).
- 📈 Визуализация: построение графиков динамики позиций прямо в Excel.
- 🤖 Экономия времени: отсутствует необходимость переключаться между вкладками браузера.
Без подключения к Excel вам придётся ежедневно скачивать CSV-файлы, очищать их от лишних столбцов и вручную переносить данные в отчёты. При интеграции этот процесс занимает менее минуты — достаточно обновить запрос в Power Query или запустить макрос.
⚠️ Внимание: Бесплатный тариф Semtools ограничивает количество API-запросов (обычно 1000 в месяц). Перед настройкой интеграции проверьте лимиты в своём аккаунте, чтобы избежать блокировки.
Подготовка к подключению: что понадобится
Прежде чем приступать к настройке, убедитесь, что у вас есть:
- 🔑 API-ключ Semtools (генерируется в личном кабинете в разделе
Настройки → API). - 💻 Microsoft Excel 2016 или новее (для Power Query) либо Google Sheets (для альтернативного способа).
- 📂 Права на редактирование макросов (если планируете использовать VBA).
- 🌐 Стабильное интернет-соединение (API-запросы требуют доступа к сети).
Также рекомендуем создать тестовую таблицу, где вы будете экспериментировать с подключением. Это поможет избежать ошибок в рабочих файлах. Если вы используете корпоративный Excel с ограниченными правами, заранее согласуйте установку надстроек (например, Power Query) с IT-отделом.
1. Авторизуйтесь в личном кабинете Semtools. 2. Перейдите в раздел 3. Выберите вкладку 4. Нажмите Как получить API-ключ в Semtools?
Настройки (иконка шестерёнки в правом верхнем углу).API.Сгенерировать новый ключ и скопируйте его. Храните ключ в безопасности — он даёт доступ к вашим данным!
Важно: API-ключ Semtools привязан к аккаунту, а не к конкретному проекту. Это значит, что через один ключ вы можете получать данные по всем доменам, добавленным в ваш профиль.
Способ 1: Подключение через Power Query (рекомендуется для новичков)
Power Query — это встроенный инструмент Excel для импорта и преобразования данных. Он идеально подходит для подключения к API Semtools, так как поддерживает работу с JSON-форматом.
Пошаговая инструкция:
- Откройте Excel и перейдите на вкладку
Данные→Получить данные→Из других источников→Из веб. - В поле URL введите адрес API Semtools. Пример запроса для получения позиций:
https://api.semtools.ru/v1/positions?domain=ваш_сайт.ru&api_key=ВАШ_КЛЮЧ&limit=1000Замените
ваш_сайт.ruиВАШ_КЛЮЧна актуальные значения. - Нажмите
OK. В открывшемся окне выберите форматJSONи подтвердите загрузку. - В редакторе Power Query разверните нужные столбцы (например,
data.keywords) и удалите лишние. Для этого кликните на иконку ➕ рядом с названием столбца. - Нажмите
Закрыть и загрузить, чтобы импортировать данные в Excel.
☑️ Подготовка запроса в Power Query
После первой загрузки вы сможете обновлять данные одним кликом по кнопке Обновить все на вкладке Данные. Power Query сохраняет историю преобразований, поэтому повторная настройка не потребуется.
⚠️ Внимание: Если при импорте вы видите ошибку403 Forbidden, проверьте:
- Корректность API-ключа (возможно, скопирован лишний пробел).
- Лимиты запросов в вашем тарифе Semtools.
- Наличие домена в списке проектов вашего аккаунта.
Способ 2: Автоматизация через VBA (для опытных пользователей)
Если вам нужна более гибкая настройка (например, обработка ответов с пагинацией или отправка POST-запросов), используйте VBA. Этот метод требует базовых знаний программирования, но позволяет создавать полностью автоматизированные отчёты.
Пример кода для получения данных о позициях:
Sub GetSemtoolsData
Dim http As Object, url As String, response As String
Dim apiKey As String, domain As String
' Укажите ваши данные
apiKey ="ВАШ_API_КЛЮЧ"
domain ="ваш_сайт.ru"
' Формируем URL запроса
url ="https://api.semtools.ru/v1/positions?domain=" & domain &"&api_key=" & apiKey &"&limit=1000"
' Создаём HTTP-запрос
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open"GET", url, False
http.Send
' Обрабатываем ответ
If http.Status = 200 Then
response = http.responseText
' Здесь добавьте код для парсинга JSON и записи в Excel
' Например, с помощью библиотеки VBA-JSON
MsgBox"Данные успешно получены!"
Else
MsgBox"Ошибка:" & http.Status &"" & http.statusText
End If
End Sub
Для работы с JSON в VBA потребуется подключить внешнюю библиотеку (например, VBA-JSON). Скачать её можно с GitHub. После подключения добавьте в код разбор ответа:
Dim json As Object
Set json = JsonConverter.ParseJson(response)
' Далее обращайтесь к данным через json("data")(1)("keyword") и т.д.
Преимущества VBA:
- 🔄 Возможность создавать циклические запросы (например, получать данные по списку доменов).
- ⏱️ Автоматическое обновление по расписанию (через
Application.OnTime). - 📊 Интеграция с другими источниками (например, Google Analytics через тот же скрипт).
Способ 3: Подключение через Google Sheets (альтернатива Excel)
Если вы работаете в Google Sheets, для интеграции с Semtools можно использовать Google Apps Script. Этот метод подходит для командной работы, так как позволяет делиться отчётами в реальном времени.
Инструкция:
- Откройте новую таблицу в Google Sheets и выберите
Расширения → Apps Script. - Вставьте следующий код:
function getSemtoolsData {var apiKey ="ВАШ_API_КЛЮЧ";
var domain ="ваш_сайт.ru";
var url ="https://api.semtools.ru/v1/positions?domain=" + domain +"&api_key=" + apiKey +"&limit=1000";
var response = UrlFetchApp.fetch(url);
var data = JSON.parse(response.getContentText);
// Записываем данные в лист, начиная с ячейки A1
var sheet = SpreadsheetApp.getActiveSpreadsheet.getActiveSheet;
sheet.getRange(1, 1).setValue("Ключевое слово");
sheet.getRange(1, 2).setValue("Позиция");
sheet.getRange(1, 3).setValue("URL");
for (var i = 0; i < data.data.length; i++) {
sheet.getRange(i + 2, 1).setValue(data.data[i].keyword);
sheet.getRange(i + 2, 2).setValue(data.data[i].position);
sheet.getRange(i + 2, 3).setValue(data.data[i].url);
}
}
- Сохраните скрипт и запустите его через меню
Выполнить → getSemtoolsData. - Разрешите доступ к вашему аккаунту Google (требуется только при первом запуске).
Для автоматического обновления настройте триггер:
- В редакторе Apps Script нажмите на иконку часов (
Триггеры). - Добавьте новый триггер с функцией
getSemtoolsData. - Выберите расписание (например, ежедневно в 9:00).
Обработка ошибок и оптимизация запросов
При работе с API Semtools вы можете столкнуться счными ошибками. В таблице ниже — их причины и решения:
| Код ошибки | Причина | Решение |
|---|---|---|
401 Unauthorized |
Неверный API-ключ или истёкший токен | Сгенерируйте новый ключ в личном кабинете Semtools |
403 Forbidden |
Превышен лимит запросов | Проверьте тариф или добавьте задержку между запросами (в VBA используйте Application.Wait) |
404 Not Found |
Неверный URL или домен не найден | Проверьте правильность написания домена и параметров запроса |
429 Too Many Requests |
Слишком частые запросы | Увеличьте интервал между обновлениями данных (рекомендуется не чаще 1 запроса в 2 секунды) |
500 Internal Server Error |
Ошибка на стороне Semtools | Повторите запрос позже или обратитесь в поддержку сервиса |
Для оптимизации скорости работы:
- 🔹 Кэшируйте данные: сохраняйте ответы API в отдельный лист и обновляйте их раз в сутки.
- 🔹 Используйте пагинацию: если ключевых слов больше 1000, разбейте запрос на части с параметром
&offset=1000. - 🔹 Фильтруйте на стороне API: укажите в запросе только нужные поля (например,
&fields=keyword,position,url).
⚠️ Внимание: При работе с большими объёмами данных (более 10 000 строк) отключите автоматический пересчёт формул в Excel: Формулы → Параметры вычислений → Вручную. Это ускорит обработку.
Практические примеры: какие отчёты можно автоматизировать
Интеграция Semtools с Excel открывает возможности для создания динамических отчётов, которые обновляются в один клик. Вот несколько идей:
1. Отчёт по динамике позиций
- 📉 Сравнение позиций за неделю/месяц с помощью сводных таблиц.
- 🎯 Выделение ключевых слов, которые выросли/упали более чем на 5 позиций.
- 📊 График трендов по топ-10 запросам.
2. Анализ конкурентов
- 🔍 Сравнение ваших позиций с позициями конкурентов (данные берутся из Semtools по нескольким доменам).
- 💡 Выявление"слабых" ключевых слов конкурентов, по которым можно обогнать.
3. Технический аудит
- 🛠️ Автоматическая проверка статусов страниц (404, 301-редиректы).
- 🚀 Мониторинг скорости загрузки страниц (интеграция с PageSpeed Insights через тот же Excel).
Пример формулы для расчёта изменения позиций:
=ЕСЛИ(Oшибка!;0;(Текущая_позиция-Старая_позиция)/Старая_позиция*100)&"%"
Где Текущая_позиция и Старая_позиция — это ссылки на ячейки с данными из разных дат.
Как автоматически расцветить изменения позиций?
1. Выделите столбец с динамикой позиций.
2. Перейдите на вкладку Главная → Условное форматирование → Правила выделения ячеек.
3. Добавьте правило: если значение >0 (рост) — зелёный фон, если <0 (падение) — красный.
4. Для нейтральных изменений (0) установите серый цвет.
FAQ: Частые вопросы по интеграции Semtools с Excel
Можно ли подключить Semtools к Excel Online?
Нет, Excel Online не поддерживает Power Query и VBA. Для интеграции используйте десктопную версию Excel или Google Sheets с Apps Script.
Как часто обновляются данные в Semtools?
Данные о позициях в Semtools обновляются раз в сутки (точное время зависит от тарифа). В Excel вы можете настроить автоматическое обновление отчёта с такой же частотой.
Можно ли импортировать данные по нескольким доменам одновременно?
Да, для этого нужно:
- Создать список доменов в отдельном столбце Excel.
- Написать VBA-скрипт или использовать Power Query с параметром (вручную прописать каждый домен в URL неудобно).
- Объединить результаты в одну таблицу с дополнительным столбцом"Домен".
Что делать, если API Semtools возвращает пустой ответ?
Проверьте:
- Корректность домена (возможно, сайт не проиндексирован).
- Наличие ключевых слов в проекте (в Semtools они должны быть загружены заранее).
- Формат запроса (например, для позиций в Яндексе используйте
&search_engine=yandex).
Если проблема сохраняется, обратитесь в поддержку Semtools с примером запроса.
Как защитить API-ключ вщем файле Excel?
Не храните ключ в открытом виде. Используйте один из методов:
- Создайте отдельный защищённый лист с ключом и скрывайте его.
- Используйте переменные VBA (ключ прописывается в коде, который защищён паролем).
- Для Google Sheets настройте скрипт с авторизацией, где ключ хранится в свойствах проекта.