Зачем проверять ссылки через API
Когда коротких ссылок становится много, проверять их вручную становится невозможно. Десять ссылок можно открыть по одной, сто — уже утомительно, а если их сотни и они используются в рекламе, в рассылках, на печатной продукции, ручная проверка превращается в отдельную работу, которую постоянно откладывают. В итоге сломанная ссылка обнаруживается только тогда, когда клиент уже не смог перейти, а вы потеряли переход.
API решает эту задачу. С его помощью можно автоматически проверять, что каждая ссылка работает, ведёт куда нужно и не отдаёт ошибку. Проверку можно запускать по расписанию, получать отчёт и реагировать только на проблемные ссылки. Эта статья о том, как выстроить такую проверку через API, что именно проверять и как не создать новых проблем.
Что значит «ссылка работает»
Прежде чем проверять, стоит определить, что считается рабочей ссылкой. Это не так очевидно, как кажется.
Первое — ссылка открывается. Сервер отвечает кодом 200 или редиректом, а не ошибкой 404 или 500.
Второе — ссылка ведёт туда, куда должна. Конечный адрес совпадает с ожидаемым, а не с главной страницей, не с устаревшей страницей и не с чужой страницей.
Третье — ссылка не отдаёт предупреждений. Браузер не показывает сообщение о небезопасном соединении, сертификат действителен.
Четвёртое — ссылка работает на мобильном. Если страница не открывается на телефоне, для большинства аудиторий это проблема.
Пятое — ссылка работает из нужного региона. Если аудитория в одном регионе, а ссылка недоступна оттуда, это проблема.
Шестое — ссылка не истекла. Если у ссылки был срок действия или лимит переходов, она может перестать работать.
Седьмое — ссылка не заблокирована. Некоторые сервисы могут блокировать ссылки, если считают их подозрительными.
Если проверять только «открывается или нет», можно пропустить часть проблем. Полная проверка включает несколько уровней.
Что может дать API для проверки
API для коротких ссылок обычно позволяет:
— получить список всех ссылок в аккаунте;
— получить информацию по каждой ссылке: текущий конечный адрес, статус, дату создания, ограничения;
— изменить конечный адрес, если ссылка динамическая;
— удалить или отозвать ссылку;
— получить статистику по переходам.
Для проверки работоспособности нужны две возможности: получить список ссылок и получить по каждой ссылке её текущее состояние. Если API позволяет это, можно выстроить проверку.
Если API не даёт доступа к списку, проверку можно организовать иначе: вести собственный список ссылок и проверять их по нему. Но это дополнительная работа.
Подробнее о том, как использовать API для работы с ссылками, рассказано в материале про API для автоматизации работы с ссылками.
Как выстроить проверку
Проверка через API обычно состоит из нескольких шагов.
Первый шаг — получить список ссылок. Через API запрашивается список всех ссылок в аккаунте или в проекте. Если ссылок много, может понадобиться пагинация.
Второй шаг — для каждой ссылки получить текущее состояние: конечный адрес, статус, ограничения. Это можно сделать через API или через отдельный запрос к сервису.
Третий шаг — проверить, что ссылка открывается. Это делается не через API сервиса, а через отдельный запрос к самой ссылке: нужно открыть её и посмотреть, какой код ответа возвращается.
Четвёртый шаг — сравнить конечный адрес с ожидаемым. Если ссылка ведёт не туда, это проблема.
Пятый шаг — записать результат. Для каждой ссылки сохраняется статус: работает, не работает, ведёт не туда, есть предупреждение.
Шестой шаг — обработать проблемные ссылки. Их можно исправить автоматически, если API позволяет, или передать в работу.
Седьмой шаг — повторить проверку по расписанию. Раз в день, раз в неделю или перед важными событиями — в зависимости от того, как часто меняются ссылки.
Как проверять, что ссылка открывается
API сервиса коротких ссылок обычно не проверяет, открывается ли конечная страница. Он знает только, куда ссылка ведёт. Поэтому проверку открытия нужно делать отдельно.
Способы:
— отправить HTTP-запрос к ссылке и посмотреть код ответа;
— использовать инструменты, которые проверяют доступность страниц;
— использовать сервисы мониторинга, которые следят за доступностью ссылок.
Коды ответа, которые важны:
— 200 — страница открывается;
— 301, 302 — редирект, нужно проверить, куда он ведёт;
— 404 — страница не найдена;
— 403 — доступ запрещён;
— 500 — ошибка сервера;
— таймаут — страница не отвечает.
Если ссылка возвращает не 200 и не редирект на ожидаемую страницу, это проблема.
Как проверять, что ссылка ведёт куда нужно
Даже если ссылка открывается, она может вести не туда. Например, конечный адрес изменился, страница переехала, кто-то изменил ссылку.
Что нужно:
— знать ожидаемый конечный адрес для каждой ссылки;
— получать фактический конечный адрес через API или через проверку редиректа;
— сравнивать их.
Если сравнение показывает расхождение, это проблема. Её можно решить: если ссылка динамическая, изменить конечный адрес через API; если статическая — восстановить страницу или настроить редирект.
Хранить ожидаемые адреса можно в отдельной таблице или в конфигурации. Это дополнительная работа, но она окупается, когда ссылок много.
Как проверять ограничения и сроки
Некоторые ссылки имеют ограничения: срок действия, лимит переходов, таргетинг по региону или устройству. Если ограничение истекло или лимит исчерпан, ссылка перестаёт работать.
Что проверять:
— не истёк ли срок действия;
— не исчерпан ли лимит переходов;
— не изменились ли условия таргетинга;
— не отозвана ли ссылка.
API обычно отдаёт эту информацию. Если ссылка скоро перестанет работать, стоит заранее её продлить или заменить.
Как обрабатывать результаты
Проверка даёт список ссылок со статусами. С этим списком нужно что-то делать.
Варианты:
— автоматически исправлять проблемы, если API позволяет;
— отправлять отчёт ответственному, чтобы он вручную разобрался;
— уведомлять в мессенджер или на почту, если есть проблемы;
— вести журнал: какие ссылки проверены, какие проблемы найдены, что сделано.
Автоматическое исправление удобно, но требует осторожности: если скрипт ошибётся, можно испортить много ссылок сразу. Лучше сначала проверять на небольшой выборке, а потом расширять.
Отчёты и уведомления помогают не пропускать проблемы. Если проверка запускается по расписанию, а результатов никто не смотрит, она бесполезна.
Как не сломать ссылки при проверке
Проверка через API должна быть безопасной. Несколько правил.
Первое — не менять ссылки без необходимости. Если проверка только читает данные, это безопасно. Если она что-то меняет, нужна осторожность.
Второе — не проверять ссылки слишком часто. Некоторые сервисы могут ограничивать количество запросов. Кроме того, слишком частые проверки создают нагрузку.
Третье — не проверять ссылки, которые используются в активных кампаниях, без предупреждения. Если проверка создаёт переходы, это может искажать статистику.
Четвёртое — использовать отдельный ключ API для проверки, чтобы можно было отозвать его при необходимости.
Пятое — логировать все действия. Если что-то пойдёт не так, логи помогут разобраться.
Шестое — тестировать проверку на небольшой выборке, прежде чем запускать на всём списке.
Подробнее о том, как безопасно хранить API-ключ, рассказано в материале про безопасное хранение API-ключа.
Как часто запускать проверку
Частота зависит от того, как часто меняются ссылки и насколько они важны.
Для активных кампаний — раз в день или даже чаще.
Для ссылок, которые используются в рекламе и на печатной продукции, — раз в неделю.
Для архива ссылок — раз в месяц.
Перед важными событиями (запуск, рассылка, публикация) — обязательно.
Если проверка находит проблемы регулярно, возможно, стоит увеличить частоту или разобраться, почему ссылки ломаются.
Когда проверка через API не нужна
Проверка через API — не универсальное решение. Есть случаи, когда она избыточна.
Если ссылок мало, ручная проверка может быть быстрее.
Если ссылки статические и не меняются, проверять их часто не нужно.
Если API не даёт нужных возможностей, проверка может быть неполной.
Если нет ресурсов на настройку, лучше начать с простых проверок вручную, а автоматизацию добавить позже.
Главное — чтобы проверка решала задачу, а не создавала новую.
Частые вопросы
Зачем проверять ссылки через API?
Чтобы автоматически находить сломанные ссылки, которые ведут не туда или перестали работать. Это особенно полезно, когда ссылок много и проверять их вручную долго.
Что можно проверить через API?
Список ссылок, их текущее состояние, конечный адрес, ограничения. Открывается ли конечная страница — обычно проверяется отдельно, через HTTP-запрос к самой ссылке.
Как часто запускать проверку?
Зависит от важности ссылок. Активные кампании — раз в день или чаще. Печатная продукция — раз в неделю. Архив — раз в месяц. Перед важными событиями — обязательно.
Что делать, если ссылка сломалась?
Если она динамическая — изменить конечный адрес через API. Если статическая — восстановить страницу или настроить редирект. Если проблема в ограничении — продлить или снять ограничение.
Можно ли автоматически исправлять ссылки?
Можно, если API позволяет менять конечный адрес. Но это требует осторожности: ошибка в скрипте может испортить много ссылок сразу. Лучше тестировать на небольшой выборке.
Когда проверка через API не нужна?
Когда ссылок мало, когда они статические и не меняются, когда API не даёт нужных возможностей, когда нет ресурсов на настройку. В этих случаях можно начать с простых проверок вручную.