Сайт наводнило трафиком AI-ботов после поста на Hacker News
Разработчик в течение нескольких лет работал над sprinklz.io — настраиваемым читателем новостей, который среди прочего может понижать приоритет определённых тем в ленте.
Месяц назад пост был опубликован на Hacker News и получил около сотни апвотов. Похоже, сообщество устало от новостей про LLM, и люди оценили возможность исключить их из своей ленты. Всё шло хорошо, пока сайт не начал работать медленнее. Очень медленнее.
Сначала это казалось логичным следствием внезапной популярности, но через несколько дней ситуация только ухудшалась — несмотря на то что сам пост давно упал в рейтинге. Логи не давали внятной картины: активных пользователей было не так много, зато нагрузка на сервер была запредельной.
Разработчик начал анализировать данные. Добавил логирование для каждого эндпоинта и обнаружил, что большинство запросов вообще не запрашивали статьи! Сайт построен как single-page-application, что означает: основная часть трафика даже не выполняла JavaScript, необходимый для отрисовки страницы.
Углубившись в анализ NGINX-логов, разработчик нашёл нарушителя. Почти половина трафика приходила от одного источника — сервиса, который отслеживает изменения на веб-сайтах и создаёт на их основе AI-резюме для новостных рассылок. При этом он опрашивал сайт десятки раз в минуту. Этот источник был немедленно заблокирован.
Остальной трафик в основном состоял из известных краулеров: Claude bot, OpenAI bot, Google Search indexer и других. Плюс несколько сканеров уязвимостей (кто-то регулярно пытался получить доступ к -/wp-content/phpinfo.php на сайте, который вообще не использует WordPress). Разработчик добавил robots.txt для дискурирования AI-сканеров, но разрешил поисковикам и другому легитимному трафику, попросил Claude опрашивать известные пути уязвимостей и имитировать краулеры, чтобы убедиться, что ничего не утекает. Также установил разумные лимиты на количество запросов.
Главный вывод: пришло время сделать сайт быстрее. За прошедшие недели были внедрены значительные улучшения инфраструктуры, которые должны обеспечить весомые прирост производительности для всех пользователей.
P.S. Если интересно, сайт полностью бесплатный и доступен здесь. Он позволяет определять собственные фильтры в дополнение к метрикам Hacker News. Можно исключать темы вроде AI или LLM, но список тем полностью кастомизируется — достаточно написать собственную логику фильтрации.