Перейти к содержимому
CranSEO
CranSEOЗарегистрироваться

Лучшие альтернативы DataForSEO в виде дерева решений для пользователей R

Начните с первого вопроса и следуйте своим ответам. Большинство аналитиков приходят к одному из трёх вариантов, и только один из них предполагает переход от более широкого провайдера.

Исследовательская команда CranSEO ·

Три расходящиеся лесные тропы, представляющие разные аналитические пути для SEO-данных

Прочтите это в первую очередь

Дерево имеет три листа

Остаться там, где вы есть, добавить рядом API только для ссылок или перейти к полному набору инструментов. Выбор зависит от структуры вашей таблицы данных, а не от известного вам бренда.

  • В основном столбцы с ключевыми словами и позициями в SERP: оставайтесь
  • В основном столбцы со ссылками: добавьте API только для ссылок
  • Отслеживание позиций плюс портал для клиентов: полный набор инструментов

Дерево: одна ветка на строку

Следуйте строкам сверху вниз. Остановитесь на первой строке, которая описывает вашу задачу.
ВопросЕсли даЕсли нет
Нужны ли отчёту объёмы ключевых слов или позиции в SERP?Сохраните провайдера ключевых слов для этих столбцов, затем перейдите к строке 2Перейдите к строке 2
Ссыльная часть отчёта включает только реферальные домены, якоря и показатель доверия?Для этой части достаточно API только для ссылок, такого как CranSEOПерейдите к строке 3
Нужны ли данные краулинга, обновляемые ежедневно?Используйте Ahrefs или Semrush; наш граф обновляется примерно раз в месяцПерейдите к строке 4
Будет ли блокнот перезапускаться коллегами, которым не нужно видеть платный ключ?Предпочитайте бесплатные действия, где это возможно; они не требуют ключаПодойдёт любой провайдер
Бюджет на запуск составляет не более нескольких долларов?Поплатная тарификация по $0.10 за 1 000 запросов подходитСравните с ежемесячным планом
Два отдельных парника, показывающих разные ритмы роста для источников данных

Почему мы выделили API только для ссылок в отдельную ветку

Аналитикам редко нужно, чтобы один провайдер делал всё, поэтому разделение стека — обычная практика. У каждой группы столбцов свой ритм обновления и свои сценарии сбоев.

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

Узкий API также сохраняет код коротким. Один request() на действие, одна таблица tibble на вызов и одинаковая стоимость, возвращает ли вызов 10 строк или 1 000.

Ничто из этого не означает, что более широкий провайдер хуже. DataForSEO охватывает больше возможностей, чем мы, и если ваш конвейер уже опирается на него для данных SERP, разумным шагом часто бывает оставить эту часть без изменений.

Правило, которому мы следуем сами

Никогда не заменяйте источник посередине отчёта. Запустите старый и новый провайдеры параллельно в течение одного ежемесячного цикла, сравните количество доменов и только затем меняйте источник на графике.

Сначала код или сначала инструмент рабочего процесса?

Большинство аналитиков, сравнивающих лучшие альтернативы DataForSEO, фокусируются на провайдере и забывают об инструменте вокруг него. Инструмент — это всего лишь планировщик и связующее звено. Сначала спроектируйте задачу. Это всё ещё один запрос, один файл и один отчёт.

Сохраните вызов API в скрипте, который можно сравнить через diff

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

Холст рабочего процесса может выразить те же шаги, но историю изменений сложнее читать и проверять. Какой бы инструмент вы ни выбрали, пусть вызов, который тратит кредиты, записывает файл с датой. Отчёт должен читать этот файл, а не вызывать API снова.

Когда достаточно обычного планировщика

Запись cron или запланированная задача CI, запускающая один R-скрипт, покрывает большинство ежемесячных выгрузок. Ничему другому не нужно оставаться активным. Если скрипт завершается с ошибкой, планировщик фиксирует это, и лог доступен на следующее утро.

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

Где инструмент рабочего процесса заслуживает своего места

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

Проверьте границы, прежде чем принимать решение. Могут ли коллеги открыть ключ, сохранённый в инструменте? Можете ли вы экспортировать поток в текстовом виде, который можно проверить? Если любой из ответов «нет», удобство имеет стоимость, которая проявится позже.

Кто должен иметь право перезапускать его

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

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

Напишите правило рядом с ячейкой ключа, простыми словами: бесплатные ячейки работают для всех, а платные ячейки требуют ключа из окружения. Читатель, который встретит это правило один раз, перестанет задавать вопросы.

Смешанные конвейеры и место объединения

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

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

Прохождение по дереву одной гипотетической задачи

Допустим, ваша задача каждый месяц собирает реферальные домены и якоря для 40 доменов конкурентов и ничего больше. Первый вопрос касается объёмов ключевых слов или позиций в SERP. Ответ — нет, поэтому дерево направляет вас к строке 2.

Строка 2 спрашивает, является ли ссыльная частью только реферальные домены, якоря и показатель доверия. Здесь это так, поэтому API только для ссылок достаточно для этого этапа. Строка 3 спрашивает о ежедневных свежих данных краулинга. Ответ — нет, так как для этого отчёта допустим ежемесячный снимок, поэтому путь заканчивается на ветке API только для ссылок с ценой за вызов.

Пять проверок перед выбором ветки

01

Посчитайте столбцы ссылок

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

02

Назовите ритм обновления

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

03

Перечислите платные вызовы

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

04

Проверьте, где хранится ключ

Подтвердите, какой файл, хранилище секретов или переменная окружения содержит ключ, и кто может его прочитать. Ключ в локальном файле .Renviron несёт иной риск, чем ключ, вставленный в общий рабочий процесс.

05

Оцените стоимость полного цикла

Умножьте количество вызовов на кредиты за вызов, затем на $0.0001. Поместите итоговую сумму рядом с бюджетом, который у вас уже есть, прежде чем принимать какие-либо решения.

Верстак мастерской, показывающий точное измерение камня по сравнению с бурением в движущийся песок

Три кратких сценария

Читайте их как наброски, а не как клиентов. Сценарий один: аналитик составляет ежемесячный отчёт по конкурентам из 40 доменов и хочет получить количество реферальных доменов и якоря. Ветка API только для ссылок подходит. Страница с ценами показывает, что это стоит копейки.

Сценарий два: команде нужны позиции ключевых слов для 2 000 фраз каждый день. Ничто из этого не поможет. Оставайтесь с провайдером SERP.

Сценарий три — смешанный случай. Это самый распространённый. Оставьте этап SERP как есть, переместите только этап ссылок и объедините две таблицы ниже по течению. Разбор проходит по этапам, а страница проверки доверия охватывает пакетный вызов оценки, заменяющий цикл.

Когда ответ — «это зависит»

В большинстве случаев ответ зависит от потребностей в обновлении, и это честный ответ.

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

Вопросы, которые люди задают перед выбором ветки

Нужен ли ключ для тестирования API?

Нет. domain, overview, stats и suggest работают без ключа, поэтому вы можете посмотреть на структуру ответа перед входом. Платные действия требуют ключа, и его отсутствие или некорректность возвращает HTTP 401.

Нужно ли сначала платить подписку?

Нет. Кредиты предоплачиваются по $0.0001 за кредит, без подписки и без ежемесячного минимума. Бесплатные действия ничего не стоят, а каждый платный вызов оплачивается один раз, независимо от количества возвращаемых строк.

Следует ли мне самому строить этап ссылок?

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

Что, если дерево направляет меня к двум веткам?

Разделите работу. Сохраните этап ключевых слов с его провайдером, отправьте этап ссылок в API только для ссылок и объедините две таблицы по столбцу домена. Смешанный случай — это тот, с которым чаще всего заканчиваются конвейеры.