Перейти к содержанию

Что боты находят на сайте, а вы – нет

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

7 мин 130 Обновлено 22 июля Сложность: Средняя

Что боты находят на сайте, а вы – нет

TL;DR

  • Веб-аналитика не видит сломанные страницы: на упавшей странице счётчик не срабатывает. Боты видят и фиксируют всё в логах.
  • Главная находка – 302 ошибки 500 за 3 дня на реальных страницах каталога: сервер периодически падает, теряя покупателей и позиции.
  • Один битый sourcemap собрал 747 обращений 404 – годами незаметная мелочь, видимая только в логах.
  • Сайт постоянно простукивают сканеры секретов (/.env, /.git, /secrets.json) – важно проверять, что сервер отвечает отказом.
  • Пятиминутная проверка логов раз в месяц ловит дорогие проблемы до того, как их заметит клиент.

Владелец сайта видит витрину: аккуратный каталог, работающие кнопки, красивые карточки. Боты видят изнанку – и заходят туда, куда живой человек не забредёт. Разбирая логи одного интернет-магазина, я нашла в этой изнанке то, о чём владелец не подозревал: страницы, которые падают с ошибкой, битый служебный файл, который дёргают сотни раз, и целую армию сканеров, простукивающих сайт на уязвимости. Ничего этого не видно ни в Метрике, ни на самом сайте – только в access-логах. Показываю, что искать.

Слепая зона владельца

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

Проблемные запросы в логах за 3 дня (всего 404: 3768, ошибок 500: 302)
Битый sourcemap (один файл)747Сканы уязвимостей и секретов620Ошибки сервера 500 на страницах302Прочие битые ссылки (404)2100

Находка №1: страницы, которые тихо падают

Самое важное – 302 ошибки сервера (код 500) за три дня, и не на служебных адресах, а на реальных страницах каталога: категории инструментов для эндоскопии, инфузионных насосов, ультразвуковых датчиков. Периодически сервер вместо страницы товара отдаёт «внутреннюю ошибку».

Для бизнеса это прямая потеря: покупатель на такой странице уходит, а поисковый бот, наткнувшись на 500, откладывает индексацию и понижает доверие к сайту. При этом в Метрике эти сбои не видны – счётчик на упавшей странице не запускается. Узнать о них можно только из лога, одной командой:

awk '$9 == 500 {print $7}' access.log | sort | uniq -c | sort -rn

Если в выдаче окажутся коммерческие страницы – это первое, что нужно чинить: каждая такая ошибка стоит денег.

Находка №2: один битый файл – 747 обращений

Лидер по числу ошибок 404 – файл swiper-bundle.min.js.map, к которому за три дня обратились 747 раз. Это sourcemap – служебная карта для отладки JavaScript. Сам скрипт работает, но в его коде осталась ссылка на карту, которую при сборке не выложили. Каждый браузер с открытой консолью и каждый бот послушно дёргают несуществующий файл – и получают 404.

На работе сайта это не сказывается, поэтому проблему годами не замечают. Но она засоряет лог, тратит запросы и выдаёт неаккуратную сборку. Лечится одной строчкой в настройках сервера или удалением ссылки на sourcemap – мелочь, которую видно только в логах.

Находка №3: сайт постоянно простукивают

Внушительная часть 404 – это автоматический перебор чужими сканерами. За три дня к сайту стучались по адресам /.aws/credentials, /.git-credentials, /credentials.json, /.ssh/known_hosts, /secrets.json, /.npmrc и десяткам похожих – это типовые места, где разработчики иногда забывают закрыть доступ к паролям и ключам. Часть таких запросов, как я показала в исследовании ботов, приходит под масками «ИИ-ботов».

Хорошая новость: на исследованном сайте все эти запросы получили 404 или 403 – сервер ничего не отдал, красть было нечего. Но сам поток сканирования – это нормальный фон жизни любого сайта в интернете, и полезно раз в месяц проверять по логам, что сервер отвечает на такие пробы отказом, а не отдаёт лишнего.

Находка №4: битые ссылки, по которым ходят боты

Помимо чужих сканеров, среди 404 прячутся и ваши битые ссылки: удалённые страницы, на которые ещё ведут ссылки внутри сайта или из поиска, опечатки в адресах, потерянные при переезде URL. Поисковый бот, регулярно натыкаясь на них, тратит на пустые страницы краулинговый бюджет, который мог бы потратить на реальный контент. Найти свои битые ссылки (в отличие от чужих сканов) можно по тому, что на них есть переходы с вашего же домена в поле referer.

Как найти свои проблемы: короткий чек-лист

Всё это ищется по логам за пять минут – подробно про выгрузку логов я писала в отдельном гайде. Минимальный набор проверок:

  1. Ошибки 500 – падающие страницы: awk '$9==500'. Коммерческие страницы в списке – чинить в первую очередь.
  2. Топ 404 – битые файлы и ссылки: awk '$9==404 {print $7}' | sort | uniq -c | sort -rn. Один адрес с сотнями обращений – почти всегда забытый служебный файл.
  3. Сканы секретов – проверьте, что запросы к /.env, /.git, /secrets.json получают 404/403, а не 200.
  4. Свои vs чужие 404 – смотрите referer: переходы с вашего домена означают внутреннюю битую ссылку.

Итог

Access-лог – это техосмотр сайта, который показывает то, чего не видно с витрины: падающие страницы, битые файлы, дыры, которые простукивают сканеры. Пятиминутная проверка раз в месяц ловит проблемы, теряющие деньги и позиции, задолго до того, как их заметит клиент. Хотите, чтобы логи вашего сайта разобрал специалист и составил список того, что стоит починить, – напишите мне или начните с бесплатной AI-диагностики.

Частые вопросы

Почему ошибки 500 не видны в Яндекс.Метрике?

Счётчик Метрики срабатывает через JavaScript на успешно загруженной странице. Если сервер отдаёт ошибку 500, страница не загружается и счётчик не запускается – в отчётах такой страницы просто нет. Ошибки 500 видны только в access-логах сервера.

Что такое файл .map (sourcemap) и почему он даёт 404?

Sourcemap – служебная карта, связывающая сжатый JavaScript с исходным кодом для отладки. Если в скрипте осталась ссылка на .map-файл, а сам файл при сборке не выложили, браузеры и боты обращаются к нему и получают 404. На работу сайта это не влияет, но засоряет логи.

Опасны ли запросы к /.env, /.git и /secrets.json в логах?

Это автоматический перебор сканерами типовых мест хранения паролей и ключей – нормальный фон для любого сайта. Опасность появляется, только если сервер отвечает на такой запрос кодом 200 (то есть отдаёт файл). Если ответ 404 или 403 – всё в порядке, красть нечего.

Как отличить свои битые ссылки от чужих сканеров в 404?

Смотрите поле referer в логе. Если на несуществующую страницу есть переходы с вашего же домена – это внутренняя битая ссылка, её нужно починить. Запросы с пустым referer к странным служебным путям – это чужие сканеры.

Как часто нужно проверять логи?

Для большинства сайтов достаточно раза в месяц: проверить ошибки 500, топ 404 и отклик на сканы секретов. Если ведёте активную разработку или переезжали на новый сайт – чаще, чтобы сразу ловить сломанные и потерянные страницы.

Материалы по теме

Что почитать дальше по этой теме.

Инструкция Как выгрузить и читать access-логи, если хостинг хранит их три дня Access-лог – единственное место, где виден весь трафик сайта, включая ИИ-ботов, которых не замечают счётчики. Разбираю на практике: где взять логи, как не потерять их из-за ротации, какие команды показывают ботов, ошибки и подозрительную активность. 7 мин 97 21 июля 2026 Гайд Как оптимизировать сайт под AI-поиск в 2026 году GEO (Generative Engine Optimization) – это оптимизация сайта для попадания в ответы AI-поисковиков: Алисы AI, ChatGPT, Google AI Overview и Perplexity. GEO не заменяет SEO, а строится поверх него – без позиций в классической выдаче попасть в нейроответы невозможно. Исследование Princeton (KDD 2024) показало, что правильная структура контента, цитаты и статистика повышают видимость в AI-ответах до 40%. В этом гайде – полная стратегия: от критериев ЭПОС и schema.org до earned media, инструмента Яндекса и измерения результатов. 25 мин 976 25 апреля 2026 Инструкция Решение проблем при установке Битрикс на timeweb Установка 1С-Битрикс на shared-хостинг спотыкается о параметры PHP: mbstring, max_input_vars, отображение ошибок. Разбираем актуальные для PHP 8.x требования и способы их поправить – через .user.ini, .htaccess или панель хостинга. 8 мин 29 18 мая 2017 Инструкция Вывод блоков только на определённых страницах сайта Как в 1С-Битрикс показать баннер, форму или блок только на нужных страницах. Разбираем API $APPLICATION->GetCurPage и GetCurDir, разницу между физическим и SEF-адресом, проверку по разделу и типичные ошибки с ЧПУ. 7 мин 38 24 октября 2018