Боты получают 403 на картинки товаров: как найти и починить
Обновлено 2026-08-03
Проблема №1 рейтинга MD/RO
Мы прогнали через аудит Botmetria 63 магазина Молдовы и Румынии — медианный скор вышел 38 из 100. И самая частая причина потери баллов не цена, не sitemap и не llms.txt, а картинки товаров: сервер отдаёт ИИ-ботам код 403 Forbidden или 406 Not Acceptable вместо самого изображения.
Категория Гигиена весит 15% от общего скора, и коды ответа на статику — её большая часть. Если бот не может скачать product.jpg, вы теряете эти баллы сразу.
Почему картинка на 403 — это потеря продажи
ИИ-агент собирает карточку товара из двух вещей: структурированных данных (JSON-LD Product с ценой и наличием) и картинки по полю image. Цену и наличие модель прочитает из разметки, но если по ссылке на изображение приходит 403, товар в ответе ChatGPT или Perplexity останется без визуала — а часто и вовсе выпадет из карусели покупок.
Для покупателя это выглядит так: конкурент с рабочей картинкой попал в подборку, а вы — нет. Разметка идеальная, а товара будто не существует.
Откуда берутся 403 и 406
Почти всегда изображение блокирует не сам движок, а слой защиты перед ним. Четыре типичных источника:
- Защита от хотлинка. Правило рубит запросы без заголовка
Refererили с чужим доменом. ИИ-боты ходят за картинкой без реферера — и попадают под нож. - WAF / Cloudflare. Managed-правила и Bot Fight Mode режут любой автоматический трафик по User-Agent, включая честные GPTBot и PerplexityBot.
- mod_security. Агрессивные наборы правил (OWASP CRS) отдают 406/403 на «подозрительные» заголовки бота.
- Ручные блок-листы. Кто-то однажды добавил
Bytespiderв бан и заодно прибил половину ИИ-ботов.
Как найти проблему за пять минут
Проверьте одну картинку от лица бота — подставьте реальный URL изображения товара:
curl -A "GPTBot" -I https://vash-magazin.md/wp-content/uploads/2024/07/tovar.jpg
В ответе смотрите первую строку. HTTP/2 200 — всё хорошо. 403 или 406 — картинку режут. Повторите с -A "PerplexityBot" и -A "ClaudeBot": часто блок выборочный.
Дальше — логи сервера. Отфильтруйте /wp-content/uploads и коды 403/406 по User-Agent ботов. Если видите пачку отказов на GPTBot — диагноз подтверждён.
Или запустите аудит Botmetria: он проверяет статику от лица ИИ-ботов и показывает в категории «Гигиена», какие изображения отдают ошибку.
Как починить
Задача — пустить проверенных ИИ-ботов к статике, не открывая двери реальным вредителям.
- Разрешите пустой
Refererв хотлинк-защите. Боты не шлют реферер — блокировать его нельзя. В Apache строкаRewriteCond %{HTTP_REFERER} !^$должна пропускать пустое значение; в nginx вvalid_referersобязателенnone. - Внесите ИИ-ботов в исключения WAF/Cloudflare для пути с картинками. Достаточно белого списка на
/wp-content/uploadsдля GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot и Google-Extended. - Проверьте mod_security. Ослабьте или отключите правила, срабатывающие на статику — картинке не нужны те же проверки, что форме оплаты.
- Верифицируйте ботов по IP, а не по имени. User-Agent легко подделать. Botmetria сверяет ИИ-ботов с опубликованными IP-диапазонами вендоров, так что настоящий GPTBot проходит, а фейк — нет.
Nginx-пример безопасного правила хотлинка:
location ~* \.(jpe?g|png|webp|gif)$ {
valid_referers none blocked vash-magazin.md *.vash-magazin.md;
if ($invalid_referer) { return 403; }
}
none здесь — ключевое: оно пропускает запросы без реферера, то есть всех ИИ-ботов.
Частые ошибки
- Блокировать всё автоматическое подряд. Bot Fight Mode рубит и ИИ-ботов, и заодно классику. Никогда не блокируйте
GooglebotиBingbot— это убивает обычное SEO. У файрвола Botmetria этот предохранитель встроен. - Фильтровать только по User-Agent. Так вы или пропускаете подделки, или рубите настоящих ботов. Правильно — сверка по IP-диапазонам вендоров.
- Чинить одну картинку. Проблема системная: если режет хотлинк-правило, оно режет весь каталог. Правьте правило, а не отдельный файл.
Частые вопросы
Почему боты получают 403 именно на картинки, а сами страницы открываются?
Обычно защита стоит только на статике — хотлинк-правило или WAF на `/wp-content/uploads`. HTML отдаётся нормально, а изображения режутся по пустому реферу или User-Agent бота. Поэтому товар «есть», но без картинки.
Не опасно ли пускать ИИ-ботов к картинкам товаров?
Нет, если пускать проверенных. Картинки и так публичны для людей. Главное — сверять ботов по опубликованным IP-диапазонам вендоров, а не только по имени в User-Agent, чтобы не пустить подделки.
Чем 406 отличается от 403 и что это меняет?
403 — «доступ запрещён» (обычно хотлинк или ручной бан), 406 — «неприемлемо» (чаще mod_security на заголовки). Для ИИ-агента разницы нет: картинку он не получил. Чинятся оба ослаблением правил на статику.
Не заблокирую ли я заодно Googlebot?
Нет. Классические Googlebot и Bingbot трогать нельзя — их блокировка убивает SEO. Исправления касаются только ИИ-ботов, а у файрвола Botmetria предохранитель против блокировки поисковиков встроен.
Проверьте магазин бесплатно
Аудит за 60 секунд покажет, насколько магазин готов к ИИ-агентам — и что чинить первым.