← Гайды

Боты получают 403 на картинки товаров: как найти и починить

Проблема №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

Почти всегда изображение блокирует не сам движок, а слой защиты перед ним. Четыре типичных источника:

Как найти проблему за пять минут

Проверьте одну картинку от лица бота — подставьте реальный 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: он проверяет статику от лица ИИ-ботов и показывает в категории «Гигиена», какие изображения отдают ошибку.

Как починить

Задача — пустить проверенных ИИ-ботов к статике, не открывая двери реальным вредителям.

  1. Разрешите пустой Referer в хотлинк-защите. Боты не шлют реферер — блокировать его нельзя. В Apache строка RewriteCond %{HTTP_REFERER} !^$ должна пропускать пустое значение; в nginx в valid_referers обязателен none.
  2. Внесите ИИ-ботов в исключения WAF/Cloudflare для пути с картинками. Достаточно белого списка на /wp-content/uploads для GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot и Google-Extended.
  3. Проверьте mod_security. Ослабьте или отключите правила, срабатывающие на статику — картинке не нужны те же проверки, что форме оплаты.
  4. Верифицируйте ботов по 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 здесь — ключевое: оно пропускает запросы без реферера, то есть всех ИИ-ботов.

Частые ошибки

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

Почему боты получают 403 именно на картинки, а сами страницы открываются?

Обычно защита стоит только на статике — хотлинк-правило или WAF на `/wp-content/uploads`. HTML отдаётся нормально, а изображения режутся по пустому реферу или User-Agent бота. Поэтому товар «есть», но без картинки.

Не опасно ли пускать ИИ-ботов к картинкам товаров?

Нет, если пускать проверенных. Картинки и так публичны для людей. Главное — сверять ботов по опубликованным IP-диапазонам вендоров, а не только по имени в User-Agent, чтобы не пустить подделки.

Чем 406 отличается от 403 и что это меняет?

403 — «доступ запрещён» (обычно хотлинк или ручной бан), 406 — «неприемлемо» (чаще mod_security на заголовки). Для ИИ-агента разницы нет: картинку он не получил. Чинятся оба ослаблением правил на статику.

Не заблокирую ли я заодно Googlebot?

Нет. Классические Googlebot и Bingbot трогать нельзя — их блокировка убивает SEO. Исправления касаются только ИИ-ботов, а у файрвола Botmetria предохранитель против блокировки поисковиков встроен.

Проверьте магазин бесплатно

Аудит за 60 секунд покажет, насколько магазин готов к ИИ-агентам — и что чинить первым.

Запустить бесплатный аудит