100 $ бесплатных кредитов при регистрации, без привязки карты. Данные о ссылках от $0.0001 за вызов.

ASEOTools
ASEOToolsЗарегистрироваться

Пошаговая настройка

Настройка инструмента оценки домена для таблицы и cron-задачи

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

Шесть металлических шестеренок на верстаке, соединенных изогнутым ключом

Шесть шагов, около часа

01

Войдите и скопируйте ключ

Используйте вход через Google по адресу /auth/google.php. На панели управления по адресу /account.php находится ваш ключ, который начинается с sk_ и поставляется с кредитом на $100.

02

Выполните один бесплатный тестовый запрос

Запустите действие overview без ключа для вашего собственного домена. Если вы получите JSON с полем ok, установленным в true, сетевой путь работает.

03

Создайте список доменов

Один столбец в таблице, один домен в строке, без https и путей. До 2000 строк можно отправить в одном запросе bulk_dr.

04

Вызовите bulk_dr из таблицы или скрипта

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

05

Запланируйте выполнение ежемесячно

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

06

Фиксируйте кредиты и предупреждайте о низком балансе

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

Готовые компоненты для вставки

Замените ключ и имена файлов на свои.

bash
# crontab: 06:00 on the 4th of each month
0 6 4 * * /usr/bin/curl -s -X POST \
  -H "Authorization: Bearer sk_live_..." \
  -d "domains=$(paste -sd, domains.txt)" \
  "https://aseotools.com/api.php?action=bulk_dr" >> dr_log.jsonl
Храните ключ вне таблицы

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

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

Где может возникнуть сбой при такой настройке

Обычный сбой происходит незаметно. Cron-задача, завершившаяся с ошибкой, выглядит так же, как и успешно выполненная.

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

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

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

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

Разделение длинного списка на части

Длинные списки — это то место, где аккуратная настройка достигает предела. Пакетный запрос обрабатывает до 2000 доменов, поэтому список из 5000 требует трех запросов, и разделение должно произойти до отправки первого запроса.

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

Списки более 2000 строк

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

Каждая часть стоит один кредит, поэтому список из 5000 строк обойдется в 3 кредита за запуск, что составляет $0.0003. Инструмент оценки домена полезен ровно настолько, насколько хорош список, который он обрабатывает, поэтому держите этот список в порядке.

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

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

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

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

Сохранение стабильности карты частей

Если порядок доменов в списке изменится, части сдвинутся, и сравнение месяц к месяцу нарушится. Сортируйте список перед разделением каждый раз.

Храните карту частей рядом со списком.

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

Стоимость всей процедуры с примерными размерами

Гипотетические размеры списков и опубликованные цены действий.
Размер спискаЗапросов в месяцКредитыДоллары
200 доменов11$0.0001
5000 доменов33$0.0003
5000 доменов плюс 20 полных выгрузок бэклинков2343$0.0043

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

  • Протестируйте одну часть вручную и прочитайте полный ответ
  • Убедитесь, что баланс снизился ровно на ожидаемое количество кредитов
  • Проверяйте код состояния для каждой части, а не только для первой
  • Сравните три домена, которые вам хорошо известны, с цифрами, которым вы уже доверяете
  • Укажите путь к файлу журнала и решите, кто будет читать его каждый месяц
  • Напишите имя владельца в верхней части таблицы
Один потертый деревянный брус с четко видимыми годичными кольцами

Что должна содержать полезная строка ежемесячного журнала

Журнал, который просто пишет ok, не очень-то и журнал. Каждый запуск должен записывать одну строку, которую уставший человек сможет прочитать за десять секунд: дата, часть, статус, потраченные кредиты и баланс после запроса.

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

Поля, которые стоит фиксировать

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

Добавляйте текстовую заметку только тогда, когда человек что-то изменил вручную.

Уведомления, которые не кричат «волк»

Сразу предупреждайте о 401 или 402, так как оба означают, что задача не может выполнить свою работу. Предупреждение о низком балансе должно использовать выбранный вами порог, чтобы срабатывать один раз и указывать, что делать дальше.

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

Вопросы по настройке

Можно ли использовать Google Таблицы в качестве клиента?

Да. API представляет собой простой REST с открытым CORS и ответами в формате JSON, поэтому Apps Script или вызов типа IMPORTDATA могут к нему обратиться. Храните ключ в свойствах скрипта, а не в ячейке, которую могут прочитать коллеги.

Могу ли я использовать это с n8n или Make?

Да, через обычный узел HTTP-запроса. Передайте ключ в заголовке Authorization Bearer, разберите ответ JSON и запишите поле _credits в свой журнал, чтобы видеть расходы за запуск.

Почему в журнале указана более высокая стоимость, чем я ожидал для этого инструмента оценки домена?

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

Должен ли ключ находиться в самой строке cron?

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

Кто заметит, когда задача сломается

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

Укажите имя человека, который читает журнал, и человека, который чинит задачу. Два имени лучше одного. Отпуска случаются. В руководстве по запуску объясняется, как выбрать список изначально.

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

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

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

Визуализация сбоя

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

Храните это предупреждение в том же файле журнала, чтобы человек, читающий журнал, видел его первым.

Планирование вокруг обновления индекса

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

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

Когда стоит прекратить автоматизацию

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

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