Alcuni giorni fa, le immagini di un sito web che continuo a essere visualizzate in Gmail non sono più visualizzate. Image Cache Proxy di Google restituisce 404 su ogni immagine. Posso confermare che sono accessibili sul server stesso e la newsletter viene visualizzata bene al di fuori di gmail.com, anche nellapp mobile di Gmail (a quanto pare non utilizza Google Image Proxy). Posso anche confermare che il bot di Google recupera queste immagini regolarmente dal server stesso con il server che risponde allo stato 200 e invia limmagine. Le immagini in questione sono png e jpg, nessun svgs (che sembra aver avuto problemi in passato secondo la mia ricerca)
Esiste un rimedio noto per questo e perché Google è così malvagio? Cè unintestazione speciale che dovrebbe essere impostata per questo? Come lintestazione Cache-Control richiesta dal loro proxy immagine specificamente?
Risposta
Lapplicazione PHP stava servendo unimmagine danneggiata quando gestiva in modo errato lintestazione Accept-Language inviata da Google Bot. si è verificata una gestione errata durante linvio di intestazioni aggiuntive alla pagina.
Nella pagina in cui avrebbe dovuto esserci unimmagine cera un avviso che diceva:
Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/myweb.com/public/constants.php on line 3
Lavviso riporta uno stato HTTP 200, motivo per cui non sono stato in grado di rilevarlo subito. Google Bot tuttavia lo ha recuperato come immagine non valida e a sua volta repository rted un errore 404.
Lho risolto installando il pacchetto php-intl .