Muutama päivä sitten ylläpitämäni verkkosivuston kuvia ei enää näytetä Gmailissa. Googlen Image Cache Proxy palauttaa jokaiselle kuvalle 404. Voin vahvistaa, että ne ovat käytettävissä itse palvelimella ja uutiskirje näyttää hienosti gmail.comin ulkopuolella, jopa Gmailin omassa mobiilisovelluksessa (se ei ilmeisesti käytä Google Image -kuvaa). Välityspalvelin). Voin jopa vahvistaa, että Googlen botti hakee nämä kuvat säännöllisesti itseltään palvelimelta, jolloin palvelin vastaa 200 tilaan ja lähettää kuvan. Kyseiset kuvat ovat png ja jpg, ei svgs (joilla näyttää olevan ongelmia aiemmin tutkimukseni mukaan)
Onko tähän tunnettua korjaustoimenpidettä ja miksi Google on tämä paha? Onko tälle asetettava erityinen otsikko? Kuten välityspalvelimen otsikko, jota heidän Image Proxy vaatii tarkalleen?
Vastaa
PHP-sovellus palveli vioittunutta kuvaa käsitellessään väärin Accept-Language-otsikkoa, jonka Google Bot lähettää. Sama virheellinen käsittely tapahtui, kun sivulle ei lähetetty ylimääräisiä ylätunnisteita.
Sivulla, jolla piti olla kuva, oli ilmoitus:
Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/myweb.com/public/constants.php on line 3
Ilmoitus ilmoittaa 200 HTTP-tilan, minkä vuoksi en onnistunut saamaan sitä heti. Google Bot nouti sen kuitenkin virheellisenä kuvana ja puolestaan repo teki 404-virheen.
Olen ratkaissut sen asentamalla php-intl -paketin.