Boții primesc 403 la imaginile produselor: cum găsești și repari
Actualizat 2026-08-03
Problema numărul unu din clasamentul MD/RO
Am trecut 63 de magazine din Moldova și România prin auditul Botmetria. Scorul median a ieșit 38 din 100. Cel mai frecvent motiv pentru care se pierd puncte nu e prețul sau lipsa unui sitemap, ci imaginile produselor: serverul returnează boților AI codul 403 Forbidden sau 406 Not Acceptable în loc de fișierul propriu-zis.
Categoria Igienă valorează 15% din scorul total, iar codurile de răspuns pe fișierele statice sunt o parte mare din ea. Dacă botul nu poate descărca product.jpg, punctele acelea se duc pe loc.
De ce un 403 pe imagine înseamnă o vânzare pierdută
Un agent AI construiește fișa produsului din două lucruri: datele structurate (JSON-LD Product cu preț și disponibilitate) și imaginea din câmpul image. Modelul citește prețul și stocul din marcaj, dar dacă adresa imaginii returnează 403, produsul apare fără vizual în ChatGPT sau Perplexity — și deseori dispare complet din caruselul de cumpărături.
Pentru cumpărător arată așa: un concurent cu imaginea funcțională a ajuns pe lista scurtă, iar tu nu. Marcajul e perfect, dar produsul parcă nici nu există.
De unde apar codurile 403 și 406
Aproape mereu nu motorul magazinului blochează imaginea, ci un strat de protecție din fața lui. Patru vinovați tipici:
- Protecția anti-hotlink. Regula taie cererile fără antetul
Referersau cu domeniu străin. Boții AI cer imaginea fără referer — și intră direct în capcană. - WAF / Cloudflare. Regulile gestionate și Bot Fight Mode taie orice trafic automat după User-Agent, inclusiv GPTBot și PerplexityBot cei corecți.
- mod_security. Seturile agresive de reguli (OWASP CRS) returnează 406/403 la anteturile „suspecte" ale botului.
- Liste de blocare manuale. Cineva a banat cândva
Bytespiderși a doborât jumătate din boții AI odată cu el.
Cum găsești problema în cinci minute
Cere o imagine în numele unui bot — pune un URL real de imagine de produs:
curl -A "GPTBot" -I https://magazinul-tau.md/wp-content/uploads/2024/07/produs.jpg
Uită-te la prima linie. HTTP/2 200 — e în regulă. 403 sau 406 — imaginea e blocată. Repetă cu -A "PerplexityBot" și -A "ClaudeBot"; blocajele sunt adesea selective.
Apoi logurile serverului. Filtrează /wp-content/uploads după codurile 403/406 și User-Agent-ul boților. O grămadă de refuzuri pentru GPTBot confirmă diagnosticul.
Sau rulează auditul Botmetria: cere fișierele statice în numele boților AI și arată, la categoria Igienă, ce imagini returnează eroare.
Cum repari
Scopul: să lași boții AI verificați să ajungă la fișierele statice, fără să deschizi ușa abuzurilor reale.
- Permite
Referergol în protecția anti-hotlink. Boții nu trimit referer, deci nu ai voie să-l blochezi. În Apache liniaRewriteCond %{HTTP_REFERER} !^$trebuie să lase valoarea goală să treacă; în nginxvalid_refererstrebuie să conținănone. - Adaugă boții AI în excepțiile WAF/Cloudflare pentru calea imaginilor. E suficient un whitelist pe
/wp-content/uploadspentru GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot și Google-Extended. - Verifică mod_security. Slăbește sau dezactivează regulile care se declanșează pe fișierele statice — o imagine nu are nevoie de aceleași verificări ca un formular de plată.
- Verifică boții după IP, nu după nume. User-Agent-ul se falsifică ușor. Botmetria compară boții AI cu intervalele de IP publicate de vendori, așa că GPTBot cel real trece, iar un fals — nu.
Un exemplu de regulă nginx sigură pentru hotlink:
location ~* \.(jpe?g|png|webp|gif)$ {
valid_referers none blocked magazinul-tau.md *.magazinul-tau.md;
if ($invalid_referer) { return 403; }
}
none e cuvântul-cheie: lasă să treacă cererile fără referer, adică toți boții AI.
Greșeli frecvente
- Să blochezi tot traficul automat deodată. Bot Fight Mode doboară și boții AI, și crawlerele clasice. Nu bloca niciodată
GooglebotsauBingbot— asta îți omoară SEO-ul obișnuit. Firewallul Botmetria are această siguranță integrată. - Să filtrezi doar după User-Agent. Fie lași falsurile să intre, fie tai boții reali. Corect e comparația după intervalul de IP al vendorului.
- Să repari o singură imagine. Problema e sistemică: dacă o regulă de hotlink blochează, blochează tot catalogul. Repară regula, nu fișierul.
Întrebări frecvente
De ce primesc boții 403 la imagini, dar paginile se deschid normal?
De obicei protecția stă doar pe fișierele statice — o regulă anti-hotlink sau WAF pe `/wp-content/uploads`. HTML-ul se servește normal, dar imaginile sunt tăiate pentru referer gol sau User-Agent-ul botului. Așa produsul „există", dar fără poză.
Nu e riscant să lași boții AI să ajungă la imaginile produselor?
Nu, dacă lași doar boții verificați. Imaginile sunt oricum publice pentru oameni. Important e să compari boții cu intervalele de IP publicate de vendori, nu doar cu numele din User-Agent, ca falsurile să nu treacă.
Care e diferența dintre 406 și 403 și contează?
403 înseamnă „interzis" (de obicei hotlink sau ban manual), 406 înseamnă „inacceptabil" (mai des mod_security la anteturi). Pentru agentul AI nu e nicio diferență: nu a primit imaginea. Ambele se repară slăbind regulile pe fișierele statice.
Voi bloca din greșeală și Googlebot?
Nu. Googlebot și Bingbot clasici nu trebuie blocați niciodată — asta îți omoară SEO-ul. Reparațiile vizează doar boții AI, iar firewallul Botmetria are o siguranță integrată împotriva blocării motoarelor de căutare.
Verifică magazinul gratuit
Un audit de 60 de secunde arată cât de pregătit e magazinul pentru agenții AI — și ce să repari mai întâi.