Міф проти реальності

Перевірка беклінків у реальному часі: міф, реальність і таблиця повторних спроб

Кожен інструмент з таким маркуванням — це краулер із затримкою. Наш оновлюється приблизно раз на місяць. Ось як налаштувати скрипт, щоб не витрачати кредити даремно.

Дерев’яний міст через долину з однією вогкою дошкою, що показує недавній контакт

Міф проти реальності

МіфРеальність
Щогодинне опитування ловить новий посилання ранішеІндекс змінюється приблизно раз на місяць, тому 29 із 30 запитів повертають ті самі рядки
Відсутність посилання означає, що його видалилиВоно може бути просто новішим за останнє оновлення
Що свіжіше, то кращеДля аналізу трендів стабільний місячний зріз переважає над шумним щоденним
Search Console містить ті самі даніВін показує те, що Google повідомляє про ваш ресурс, що є іншим, частковим поглядом
Платний план робить краулінг миттєвимЖодний постачальник не краулить кожну сторінку щодня

Як працювати з місячним індексом

Більша частина роботи — це одна звичка: запускати щотижня, порівнювати щомісяця.

Якщо ви щойно отримали посилання і хочете доказів, не чекайте індексу. Відкрийте сторінку, перегляньте код і підтвердіть текст якірного посилання та атрибут rel. Потім зачекайте наступного оновлення. Самому Google потрібні дні або тижні для повторного краулінгу, а зміна Penguin 4.0 у 2016 році зробила миттєвою лише власну обробку Google, а не те, що бачать сторонні інструменти.

Перевірка беклінків у строгому сенсі вимагала б спостереження за всесвітнім павутинням. Ніхто цього не робить, а дешевий трюк із повторним запитом до застарілої бази даних щогодини просто витрачає кредити на ту саму відповідь.

Сповіщення про нові посилання і чому вони розчаровують

Люди часто просять сповіщення в момент появи посилання. Запити обґрунтовані. Щира відповідь: місячний індекс не може їх надати, бо посилання, яке з’явилося в мережі сьогодні, може не потрапити в індекс тижнями.

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

Що насправді бачить сповіщення

Сповіщення може спостерігати лише за тим, що вже є в індексі. Між оновленнями повертаються ті самі рядки, і сповіщення, що спрацьовує на однакових даних, — це просто шум у вашій поштовій скриньці.

Опитування додає запити, а не рядки

Щогодинне опитування надсилає багато запитів для однієї відповіді. Розрахунок витрат у кінці цієї сторінки показує арифметику. Рахунок зростає зі збільшенням частоти, тоді як рядки залишаються незмінними.

Витяг із датою виконує ту саму роботу

Щотижневий завдання записує файл із датою, а diff з минулим тижнем показує зміни. Результат відповідає реальному ритму даних, і ви все одно дізнаєтеся про нові рядки протягом тижня.

Файл також є вашим доказом, коли хтось запитає, що змінилося минулого місяця. Зберігайте однакову назву файлів від запуску до запуску, щоб вони сортувалися автоматично.

Таблиця усунення неполадок для циклів

ВідповідьЗначенняЩо має робити скрипт
HTTP 401Ключ відсутній або неправильнийЗупинити, повідомити, не повторювати
HTTP 402Кредити закінчилисяЗупинити, поповнити USDT, запустити вручну
ok: false з кодом 200Неправильний параметр, наприклад, невідома діяЗаписати тіло відповіді в лог і завершити завдання
Таймаут або 5xxПроблема мережі або сервераПовторити двічі з паузами 10 і 60 секунд
Рядки нижче totalВаше пагінування завершилося достроковоВиправити цикл; дані коректні
Баланс спадає швидше, ніж планувалосяЦикл повторно витягує сторінкиПорівняти _credits до і після кожного запуску

Обгортка повторних спроб, яка не витрачає кредити двічі

Повторюються лише тимчасові помилки. 401 і 402 завершують виконання миттєво.

python
import json, time, urllib.request as u, urllib.error as e
def call(url, tries=3):
    for i in range(tries):
        try:
            with u.urlopen(url, timeout=30) as r:
                return json.load(r)
        except e.HTTPError as x:
            if x.code in (401, 402):
                raise SystemExit(f'stop: HTTP {x.code}')
            if i == tries - 1:
                raise
        except (e.URLError, TimeoutError):
            if i == tries - 1:
                raise
        time.sleep(10 * 6 ** i)
Садковий навіс із лійкою та єдиною краплею води на листку

Як це впливає на ваш графік

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

Вкажіть витрати в одному рядку. Щотижневий витяг refdomains для одного домену коштує 2 кредити, тобто приблизно $0.01 на рік.

Поставте під сумнів будь-яке обіцяння перевірки беклінків у реальному часі, наше включно. Щира назва того, що можна автоматизувати — це місячний індекс із щотижневою звичкою навколо нього, що все одно переважає ручну перевірку раз на квартал.

Налаштуйте перевірку свіжості відповідно до даних

Ці чотири кроки замінюють сповіщення звичкою, яку можна підтримувати.

01

Оберіть один ритм

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

02

Зберігайте сирі відповіді

Збережіть JSON без змін під сьогоднішньою датою. Ви зможете перерахувати будь-яке число пізніше і вам ніколи не доведеться довіряти зведенню, яке ви не можете перевірити.

03

Порівнюйте набори, а не загальні суми

Підрахуйте, скільки з’явилося і скільки зникло між двома витягами. Загальна сума, що залишається незмінною, може приховати заміну п’ятдесяти доменів.

04

Зупиніть цикл при першій помилці

401, 402 або ok рівний false завершують запуск. Наступний запланований запуск спробує знову, що дешевше, ніж будь-який цикл сповіщень.

Читання відсутнього посилання без паніки

Посилання, якого ще немає в індексі, — це інший випадок від посилання, яке видалили. Їхнє переплутування призводить до неправильних рішень, тому перевірте, який саме випадок у вас, перш ніж діяти.

Почніть зі сторінки. Якщо вона досі активна і посилання там є, індекс просто відстає. Зачекайте наступного оновлення, перш ніж робити висновки про сторінку чи сайт.

Новіше за останнє оновлення

Більшість відсутніх посилань — недавні. Запишіть дату, коли ви знайшли посилання, і порівняйте її з датою останнього оновлення. Різниця в кілька тижнів є нормальною для місячного індексу.

Посилання, яке ви знайшли вівторка і перевірили п’ятниці, ще не встигло потрапити в індекс, тому розрив є очікуваним, а не тривожним.

Видалено, переміщено або ніколи не проіндексовано

Деякі посилання дійсно зникли. Сторінку видалено, посилання видалено або сторінка тепер за паролем. Перевірте саму сторінку. Якщо посилання там є, а індекс його не має, це питання індексу, а не зміни на іншому сайті.

Запишіть, який випадок ви знайшли, бо виправлення для кожного з них різне.

Три оновлення посилань від Google, що задають темп

  1. Penguin 4.0

    Google заявив, що його сигнал спаму посилань став частиною основного алгоритму і працює в реальному часі на його стороні.

  2. Оновлення спаму посилань

    Google оголосив оновлення SpamBrain, спрямоване на нейтралізацію спамних посилань замість їхнього підрахунку.

  3. Основні оновлення та оновлення спаму

    Велике розгортання в березні змінило те, як Google обробляє контент низької якості та маніпулятивні посилання, і зайняло тижні, щоб встановитися.

Збільшувальне скло, що оглядає лозу, що росте крізь кам’яну стіну

Що робити, коли потрібен доказ сьогодні

Перевірка займає менше часу, ніж суперечки про це. Перегляньте код сторінки. Шукайте свій URL, текст якірного посилання та будь-які атрибути nofollow, sponsored або ugc.

Для більшого набору витягніть сторінки-джерела самостійно за допомогою ввічливого скрипта з затримкою і знайдіть у HTML свій домен. Це інше завдання від запиту до індексу, і це єдиний спосіб побачити посилання, опубліковане годину тому.

Місячний ритм, що залишається дешевим

Уявіть невеликий сайт з одним цільовим доменом. Завдання запускається щопонеділка, записує файл і нічого більше не робить до першого числа місяця. Це узгоджується з оновленням. Витрати кредитів залишаються стабільними.

Перший понеділок кожного місяця — день порівняння. Відкрийте два останні файли, підрахуйте нові та зниклі домени і запишіть один рядок у нотатках. Зазвичай достатньо десяти хвилин. Ці нотатки стануть історією, якій можна довіряти.

Зберігайте порівняння в одному місці щомісяця, щоб історія читалася як один рядок.

Що робити зі спайком

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

Якщо спайк — це один домен із сотнями рядків, шукайте шаблон або віджет, перш ніж вважати це кампанією.

Що робити з тихим місяцем

Тихий місяць часто є просто тихим місяцем. Перевірте, чи запустилося завдання і чи записало файл, бо завдання, яке мовчки зупинилося, виглядає так само, як тихий індекс.

Питання про реальний час, на які відповідаємо

Однакові кілька питань виникають щоразу, коли вперше налаштовується графік.

Чи існує справжня перевірка беклінків у реальному часі?

Не та, що охоплює весь веб. Будь-який інструмент, який обіцяє реальний час, описує краулер із затримкою, і затримка — це те, про що варто запитати. Наш оновлюється приблизно раз на місяць, і на сторінці це вказано.

Як часто скрипт має звертатися до API?

Щотижня достатньо для витягу, щомісяця для порівняння трендів. Опитування частіше коштує кредити і повертає ті самі рядки, доки індекс не оновиться.

Чому інший інструмент може показувати посилання, якого немає в моєму API?

Кожен індекс краулить різний зріз мережі за власним графіком. Посилання може потрапити в один індекс раніше, ніж в інший, тому порівнюйте тренди в межах одного джерела, а не між двома.

Чи можу я отримати email, коли з’явиться нове посилання?

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

Чи витрачає повторна спроба кредити двічі?

Повторна спроба після таймауту може витратити другий запит, тому обгортка вище зупиняється на 401 і 402 і чекає між спробами. Читайте _credits до і після кожного запуску, щоб бачити реальну вартість завдання.

Вартість звички

Опитування refdomains одного домену щогодини — це 24 запити на день по 2 кредити, тобто 48 кредитів або $0.0048 на день. Дешево в грошах, марно в інформації. Щотижнева витрата — одна сьома від щоденного опитування і показує те саме.