Массовая проверка URL: автоматизация мониторинга сайтов
Когда у вас один сайт с десятком страниц, ручная проверка проверку HTTP-заголовков и кодов ответа — не проблема. Но что делать, если нужно проверить сотни URL после миграции, запуска нового сайта или массового обновления контента? массовую проверку URL позволяет автоматизировать этот процесс и быстро находить проблемы.
Когда нужна массовая проверка
Миграция сайта
При переносе сайта на новую CMS, смене домена или изменении структуры URL критически важно убедиться, что все старые адреса корректно перенаправляются на новые. Одна пропущенная страница — это потерянный трафик и ухудшение SEO.
Типичный сценарий миграции:
- Экспортируете список всех URL старого сайта (из sitemap.xml или краулера)
- Проверяете каждый URL на правильность редиректа (301 на новый адрес)
- Проверяете все новые URL на доступность (код 200)
- Находите и исправляете ошибки (404, 500, неправильные редиректы)
SEO-аудит
Регулярный аудит всех страниц сайта помогает выявить:
- Страницы, возвращающие ошибки 4xx и 5xx
- Непредусмотренные редиректы
- Страницы без правильных кеширующих заголовков
- Отсутствующие заголовки безопасности
- Медленные страницы (высокий TTFB)
Мониторинг конкурентов
Анализ HTTP-заголовков сайтов конкурентов раскрывает их технологический стек: веб-сервер, CDN, фреймворк, настройки кеширования. Массовая проверка нескольких конкурентов позволяет быстро собрать эту информацию.
Проверка после деплоя
После каждого развёртывания полезно проверить ключевые страницы: главная, страницы конверсии, API документацию-эндпоинты. Автоматизированная проверка в CI/CD-пайплайне помогает обнаружить проблемы до того, как их заметят пользователи.
Инструменты массовой проверки
enterno.io Batch URL Checker
Массовая проверка URL на enterno.io позволяет проверить до 20 URL одновременно прямо в браузере. Для каждого URL вы получите:
- HTTP-код ответа
- Время ответа сервера (TTFB)
- Заголовки ответа (Server, Content-Type, Cache-Control и другие)
- Информацию о редиректах
- SSL-статус
Результаты можно экспортировать в CSV или JSON для дальнейшего анализа.
curl и xargs
Для проверки большого списка URL из командной строки:
# Проверка списка URL из файла
cat urls.txt | xargs -I {} -P 10 curl -sI -o /dev/null -w "%{http_code} %{time_total}s %{url_effective}\n" {}
# С записью в файл
cat urls.txt | xargs -I {} -P 10 curl -sI -o /dev/null -w "%{http_code},%{time_total},%{redirect_url},%{url_effective}\n" {} > results.csv
Флаг -P 10 запускает до 10 параллельных запросов, ускоряя проверку.
Python-скрипты
Для более сложной логики используйте Python с библиотеками aiohttp (асинхронные запросы) или requests:
import aiohttp
import asyncio
async def check_url(session, url):
try:
async with session.head(url, allow_redirects=False, timeout=10) as resp:
return {
"url": url,
"status": resp.status,
"headers": dict(resp.headers)
}
except Exception as e:
return {"url": url, "error": str(e)}
async def check_all(urls):
async with aiohttp.ClientSession() as session:
tasks = [check_url(session, url) for url in urls]
return await asyncio.gather(*tasks)
# Использование
urls = open("urls.txt").read().splitlines()
results = asyncio.run(check_all(urls))
Screaming Frog SEO Spider
Десктопное приложение для полноценного краулинга сайта. Находит все страницы, проверяет коды ответа, редиректы, мета-теги, заголовки. Бесплатная версия ограничена 500 URL.
API-подход
Для интеграции в CI/CD или автоматизированные системы мониторинг сайтов используйте API. Многие сервисы, включая enterno.io, предоставляют API для программной проверки URL.
Что проверять
HTTP-код ответа
Базовая проверка — убедиться, что все страницы возвращают ожидаемый код:
| Код | Ожидание | Действие при отклонении |
|---|---|---|
| 200 | Живые страницы | Если 404 или 500 — срочно исправить |
| 301 | Старые URL после миграции | Проверить, что ведёт на правильный адрес |
| 404 | Удалённые страницы | Если не удалена — настроить редирект |
| 500 | Не ожидается | Серверная ошибка — немедленно исправить |
| 503 | Не ожидается | Сервер перегружен или на обслуживании |
Заголовки кеширования
Убедитесь, что все страницы имеют правильные заголовки Cache-Control. Статические ресурсы должны кешироваться надолго, HTML — с ревалидацией. Подробнее об этом читайте в нашей статье об анализе серверных заголовков.
Заголовки безопасности
Проверьте наличие ключевых заголовков безопасности на всех страницах:
Strict-Transport-SecurityX-Content-Type-OptionsX-Frame-Optionsили CSP frame-ancestorsContent-Security-Policy
Время ответа
TTFB каждой страницы должен быть менее 200–500 мс. Страницы с TTFB более 1 секунды требуют оптимизации. Используйте инструмент проверки HTTP-заголовков enterno.io для измерения времени ответа.
Цепочки редиректов
Каждый URL должен перенаправляться напрямую на конечный адрес без промежуточных шагов. Цепочки из 2+ редиректов замедляют загрузку и ослабляют SEO. Подробнее — в статье о цепочках редиректов.
Автоматизация проверок
Интеграция в CI/CD
Добавьте проверку URL в пайплайн развёртывания:
# Пример для GitHub Actions
- name: Check critical URLs
run: |
URLS="https://example.com https://example.com/about https://example.com/contact"
for url in $URLS; do
STATUS=$(curl -sI -o /dev/null -w "%{http_code}" "$url")
if [ "$STATUS" != "200" ]; then
echo "FAIL: $url returned $STATUS"
exit 1
fi
done
Регулярные проверки по расписанию
Настройте cron-задачу или GitHub Actions schedule для еженедельной проверки всех URL из sitemap.xml:
- Скачайте и распарсите sitemap.xml
- Проверьте каждый URL
- Отправьте отчёт в Telegram, Slack или на email
- При обнаружении ошибок — создайте тикет автоматически
Мониторинг после миграции
После миграции сайта настройте ежедневную проверку списка старых URL в течение месяца. Убедитесь, что все редиректы работают корректно и поисковые системы обнаружили новые адреса.
Анализ результатов
Отчёт в табличном формате
Экспортируйте результаты в CSV с колонками:
- URL
- HTTP-код
- Конечный URL (после редиректов)
- Количество редиректов
- TTFB (мс)
- Server
- Content-Type
- Cache-Control
В инструменте массовой проверки enterno.io экспорт в CSV и JSON доступен одним нажатием.
Группировка по проблемам
Сгруппируйте результаты по типу проблемы для приоритизации исправлений:
- Критические: 5xx ошибки — серверные сбои, требуют немедленного исправления
- Высокий приоритет: 404 на важных страницах — потеря трафика и SEO
- Средний приоритет: цепочки редиректов — замедление и потеря link juice
- Низкий приоритет: отсутствующие заголовки безопасности — постепенное улучшение
Ограничения и лучшие практики
- Rate limiting — не отправляйте слишком много запросов одновременно к одному серверу. 5–10 параллельных запросов — разумный предел
- User-Agent — укажите корректный User-Agent, чтобы ваши запросы не блокировались WAF
- Таймауты — установите разумный таймаут (10–30 секунд), чтобы одна медленная страница не блокировала всю проверку
- HEAD vs GET — для проверки статуса достаточно HEAD-запроса, он быстрее и не загружает тело ответа
- Повторные проверки — если URL вернул ошибку, повторите проверку через минуту перед тем, как считать проблему подтверждённой
Чек-лист массовой проверки
- Соберите полный список URL (sitemap.xml, краулер, база данных)
- Проверьте HTTP-коды всех URL
- Убедитесь, что редиректы ведут на правильные адреса
- Проверьте отсутствие цепочек редиректов
- Измерьте TTFB для обнаружения медленных страниц
- Проверьте заголовки кеширования и безопасности
- Экспортируйте результаты для анализа и отчётности
- Настройте регулярные автоматические проверки
Проверьте сами
Проверьте до 20 URL одновременно с помощью инструмента массовой проверки enterno.io — получите коды ответа, заголовки и время ответа для каждого URL.
Проверьте ваш сайт прямо сейчас
Проверить →