Lo hicimos
Una tienda cambió la foto de un producto. En su computadora se veía la nueva. En el sitio, sus clientes y sus proveedores seguían viendo la anterior — incluso en ventanas privadas, incluso desde otros teléfonos.
Lo que veían
La imagen vieja aparecía en todos los navegadores y en todos los dispositivos. No era el caché de nadie en particular: era universal. Y el archivo nuevo estaba correctamente subido — se podía descargar directamente del servidor y era el correcto.
Lo que ya habían intentado
La reemplazaron cuatro veces. La borraron y la volvieron a subir. Vaciaron todas las cachés que encontraron, las del sitio y las del navegador. Después de la cuarta vez ya sospechaban del archivo, que era lo único que no fallaba.
Por qué verificar el archivo no servía de nada
El sitio no estaba mostrando la imagen desde su propio servidor. Tenía activo un servicio que optimiza y entrega las imágenes desde fuera —el de Jetpack es el más común— para que carguen más rápido. Ese intermediario guarda su propia copia, y la guarda identificada por la dirección del archivo.
Ahí está la trampa. Mientras el archivo se llame igual, la dirección no cambia; y mientras la dirección no cambie, el intermediario sigue entregando la copia que ya tenía, por tiempo indefinido. Da lo mismo cuántas veces se reemplace el original: nadie le está preguntando al original.
Dónde estaba en realidad
Se destraba cambiándole el nombre al archivo, no volviéndolo a subir. Con un nombre nuevo hay una dirección nueva, y con una dirección nueva el intermediario no tiene nada guardado y va a buscar el original.
Es la misma lección que cobra el proxy de imágenes de Gmail cuando se manda un correo masivo: si una gráfica cambia pero conserva el nombre, media lista va a ver la versión anterior.
La regla que quedó
Cuando algo en medio guarda copias por dirección, se cambia el nombre, no el contenido.
Sirve para imágenes en un sitio, para las de un correo masivo y para cualquier archivo que pase por un intermediario que no controlas.
Cómo saber si te está pasando
- Abre la imagen en una pestaña desde tu sitio público, con clic derecho, y mira la dirección. Si no empieza con tu dominio, hay un intermediario en medio y ése es el que manda.
- No compares el peso ni las medidas para decidir si la imagen cambió: si se respetó la proporción, pueden ser idénticos. Hay que mirar la imagen.
- Verificar el archivo en tu servidor no prueba nada. Lo que hay que comprobar es la dirección que tu página realmente usa.