Acum câteva zile, imaginile de pe un site web pe care îl mențin nu mai sunt afișate în Gmail. Proxy-ul Google Cache pentru imagini returnează 404 pentru fiecare imagine. Pot confirma că sunt accesibile pe serverul însuși și că buletinul informativ afișează bine în afara gmail.com, chiar și în aplicația mobilă proprie a Gmail (se pare că nu folosește Google Image Proxy). Pot chiar să confirm că botul Google preia aceste imagini în mod regulat de pe serverul însuși, serverul răspunzând la 200 de stări și trimitând imaginea. Imaginile în cauză sunt png și jpg, fără svg-uri (care par să fi avut probleme în trecut conform cercetărilor mele)

Există un remediu cunoscut pentru acest lucru și de ce este Google atât de rău? Există un antet special care ar trebui setat pentru acest lucru? Ca antetul Cache-Control care este cerut de Image Proxy în mod specific?

Răspuns

Aplicația PHP servea o imagine deteriorată atunci când gestiona incorect antetul Accept-Language trimis de Google Bot. Același lucru o manipulare incorectă s-a întâmplat atunci când nu s-au trimis antete suplimentare la pagină.

Pe pagina în care trebuia să fie o imagine era o notă care spunea:

Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/myweb.com/public/constants.php on line 3

Notificarea raportează o stare 200 HTTP, motiv pentru care nu am reușit să o prind imediat. Google Bot a preluat-o totuși ca imagine nevalidă și la rândul său repo a apărut o eroare 404.

Am rezolvat-o instalând pachetul php-intl .

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *