← Ghiduri

Boții primesc 403 la imaginile produselor: cum găsești și repari

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:

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.

  1. Permite Referer gol în protecția anti-hotlink. Boții nu trimit referer, deci nu ai voie să-l blochezi. În Apache linia RewriteCond %{HTTP_REFERER} !^$ trebuie să lase valoarea goală să treacă; în nginx valid_referers trebuie să conțină none.
  2. Adaugă boții AI în excepțiile WAF/Cloudflare pentru calea imaginilor. E suficient un whitelist pe /wp-content/uploads pentru GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot și Google-Extended.
  3. 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ă.
  4. 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

Î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.

Pornește auditul gratuit