Налаштування інструменту Domain Rating для таблиці та cron-задачі
Робочий процес, який не потрібно запам’ятовувати, кращий за той, про який всі пам’ятають, але не роблять. Шість кроків перетворять порожню таблицю на щомісячну задачу, яка фіксує власні витрати.
Редакція ASEOTools ·
Шість кроків, приблизно одна година
01
Увійдіть та скопіюйте ключ
Використовуйте вхід через Google на /auth/google.php. На панелі керування за адресою /account.php знаходиться ваш ключ, який починається з sk_ і надається з кредитом на $100.
02
Зробіть один безкоштовний тестовий запит
Запустіть дію overview без ключа для вашого власного домену. Якщо ви отримаєте JSON із значенням ok: true, мережеве з’єднання працює коректно.
03
Створіть список доменів
Один стовпець у таблиці, один домен на рядок, без https та шляхів. До 2 000 рядків можна обробити одним запитом 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 приймає до 2 000 доменів за один запит. Для довших списків потрібне розбиття на частини, що додає один додатковий цикл і коштує один кредит за частину.
Спочатку протестуйте вручну. Запустіть рядок cron у терміналі, прочитайте файл журналу та переконайтеся, що баланс зменшився рівно на очікувану вартість. Потім перегляньте як цифри порівнюються з пакетом Suite та вирішіть, як часто запускати задачу.
Версіюйте свій список доменів. Зберігайте файл у репозиторії або спільному сховищі з історією змін, щоб, коли цифра зміниться у березні, ви могли побачити, чи змінився сам список. Додайте стовпець із примітками для доменів, яких ви додали свідомо, наприклад нового конкурента або клієнта, який підписався цього місяця. Ставтеся до списку як до даних із власником, бо найдешевша помилка — та, яку ви помітили в diff.
Розбиття довгого списку на частини
Довгі списки — це межа, де акуратне налаштування стикається зі своїми обмеженнями. Один масовий запит приймає до 2 000 доменів, тому список із 5 000 доменів вимагатиме трьох запитів, і розбиття має відбутися до першого виклику.
Розбивайте за стабільним правилом, наприклад, за відсортованим порядком стовпця доменів. Так один і той самий домен потраплятиме в одну й ту ж частину щомісяця, і порівняння залишатиметься коректним.
Списки понад 2 000 рядків
Записуйте кожну частину в таблицю як окремий блок із номером частини в першому стовпці. Так несправну частину легко знайти.
Кожна частина коштує один кредит, тому список із 5 000 рядків обійдеться в 3 кредити за запуск, що становить $0.0003. Інструмент Domain Rating корисний лише стільки, скільки корисний список, який він обробляє, тому тримайте цей список акуратним.
Якщо список зросте понад 5 000 рядків, перегляньте структуру самої таблиці. Вкладок на місяць зробить кожен запуск зрозумілим, коли рядки накопичаться.
Повторний запуск однієї несправної частини
Якщо друга частина повертає помилку, перезапустіть лише її. Повторний запуск усього списку витратить кредити на рядки, які вже оброблені.
Фіксуйте номер частини разом із кодом стану, щоб повторний запуск був одним рядком у журналі, а не пошуком по таблиці.
Збереження стабільності мапи частин
Якщо порядок доменів у списку зміниться, частини змістяться, і порівняння з місяця на місяць буде некоректним. Відсортовуйте список перед розбиттям кожного разу.
Зберігайте мапу частин поруч із списком.
Простий тест: оберіть будь-яку частину та перерахуйте її рядки порівняно зі списком. Нечіткість означає, що мапа змістилася, і це дешевше виправити в таблиці, ніж у звіті.
Вартість усієї процедури з прикладами розмірів
Гіпотетичні розміри списків та опубліковані ціни дій.
Розмір списку
Запитів на місяць
Кредити
Долари
200 доменів
1
1
$0.0001
5 000 доменів
3
3
$0.0003
5 000 доменів плюс 20 повних витягів backlink
23
43
$0.0043
Що підтвердити перед першим запланованим запуском
Протестуйте одну частину вручну та прочитайте повну відповідь
Підтвердіть, що баланс зменшився рівно на очікувані кредити
Перевіряйте код стану для кожної частини, а не тільки для першої
Порівняйте три домени, які вам добре відомі, з цифрами, яким ви вже довіряєте
Вкажіть шлях до файлу журналу та вирішіть, хто читатиме його щомісяця
Напишіть ім’я відповідального на початку таблиці
Що має містити корисний рядок щомісячного журналу
Журнал, який лише пише ok, не є справжнім журналом. Кожен запуск має записувати один рядок, який втомлена людина зможе прочитати за десять секунд: дата, частина, статус, витрачені кредити та баланс після запиту.
Гіпотетично: рядок, який показує частину чотири, статус 200, один витрачений кредит та залишок балансу після запиту, відповідає на більшість питань через місяць без відкриття відповіді.
Поля, варті логування
Логуйте дату, назву списку, номер частини, код стану, нараховані кредити та баланс після запиту. Ці шість полів покривають більшість питань, які виникнуть через місяць.
Додавайте примітку вільного формату лише тоді, коли людина щось змінила вручну.
Сповіщення, які не кричать вовком
Сповіщайте одразу при 401 або 402, оскільки обидва означають, що задача не може виконати свою роботу. Попередження про низький баланс має використовувати обраний вами поріг, щоб спрацьовувало один раз і вказувало, що робити далі.
Надсилайте одне сповіщення на запуск, а не на кожен рядок, інакше пошта перетвориться на шум.
Питання щодо налаштування
Чи працює Google Sheets як клієнт?
Так. API — це звичайний REST з відкритим CORS та відповідями JSON, тому Apps Script або виклик типу IMPORTDATA можуть звернутися до нього. Зберігайте ключ у властивостях скрипта, а не в клітинці, яку можуть прочитати співробітники.
Чи можу я використовувати це з n8n або Make?
Так, через стандартний вузол HTTP-запиту. Передайте ключ як заголовок Authorization Bearer, розберіть відповідь JSON та запишіть поле _credits у свій журнал, щоб бачити витрати за запуск.
Чому в журналі вказана вища вартість, ніж я очікував для цього інструменту Domain Rating?
Рахуйте запити, а не лише розмір списку. Частина за запуск, повторна спроба або тестовий запит додають свої витрати, а поле _credits у кожній відповіді дає точну суму за цей запит.
Чи має ключ бути в самому рядку cron?
Це простіше, але будь-хто, хто може прочитати crontab, зможе прочитати ключ. Завантажуйте його з файлу з обмеженими правами доступу або зі змінної середовища, встановленої для задачі, і тримайте його поза спільними журналами.
Хто помітить, коли задача зламається
Щомісячна задача запускається без нагляду. У цьому і є сенс автоматизації, але саме тому помилка може залишатися непомітною тижнями.
Вкажіть людину, яка читає журнал, та людину, яка виправляє задачу. Дві імена кращі за одне. Відпустки бувають. Посібник запуску пояснює, як вибрати список із самого початку.
Час, витрачений на налаштування проти підтримки
Перший запуск займає більшу частину години, оскільки ключ, таблиця та тестовий запит потребують уваги. Після цього процедура має вимагати лише погляду щомісяця, а не повного перестроювання.
Якщо підтримка зростає, зазвичай винен список. Список, який змінюється щотижня, потребує власника, версії та правила для додавання.
Зроблення помилки видимою
Відсутній рядок у виводі помітити легше, ніж тиху помилку. Порівнюйте кількість рядків із довжиною списку під час кожного запуску та записуйте попередження, якщо вони відрізняються.
Тримайте це попередження в тому ж файлі журналу, щоб людина, яка читає журнал, бачила його першою.
Планування навколо оновлення індексу
Індекс оновлюється приблизно раз на місяць, тому запуск у перший день місяця може прочитати цифри з попередньої версії. Запуск через кілька днів, як пропонують кроки вище, дає оновленню час завершитися.
Обирайте один і той самий день щомісяця, щоб серія залишалася порівнянною, та запишіть цей день у коментар до рядка cron.
Коли варто припинити автоматизацію
Задача, яка запускається раз на квартал, може не виправдовувати cron-задачу. Достатньо таблиці та нагадування в календарі, а напівавтоматизована процедура гірша за чітку ручну.
Автоматизуйте, коли ті самі кроки успішно виконувалися кілька циклів поспіль.