Aclaraciones sobre el mensaje acerca del objeto SharedArrayBuffer

Viernes, 19 de marzo del 2021

Algunos usuarios han recibido un correo de Google Search Console en el que se les indica que hay nuevos requisitos sobre SharedArrayBuffers. Nos han llegado comentarios de que el mensaje es algo confuso, así que queremos aprovechar esta entrada para darte más información sobre el tema. Así podrás decidir qué hacer a continuación. También hemos incluido más detalles en la guía sobre cómo habilitar el aislamiento de orígenes cruzados.

¿Por qué he recibido el mensaje?

Has recibido este mensaje porque detectamos que, al menos cuando te enviamos el mensaje, en tu sitio web había código JavaScript que usaba el objeto SharedArrayBuffer. Puede que ese objeto se utilice en frameworks, bibliotecas u otro contenido de terceros que haya en tu sitio web.

¿Qué es SharedArrayBuffer?

SharedArrayBuffer es un objeto de JavaScript para compartir espacios de memoria entre hilos de un sitio web. Se usaba en los sitios web antes de que se detectara la vulnerabilidad denominada Spectre. Sin embargo, como Spectre era una vulnerabilidad de las CPUs y era poco probable que se solucionara a corto plazo, los navegadores decidieron inhabilitar el objeto SharedArrayBuffer.

Chrome lo volvió a habilitar en ordenadores aprovechando el aislamiento de sitio web como solución temporal. No obstante, ahora se ha estandarizado una forma de habilitar el objeto SharedArrayBuffer de manera segura: el aislamiento de orígenes cruzados. Por tanto, a partir de la versión 92, que está previsto que se lance a finales de mayo del 2021, Chrome solo permitirá el uso del objeto SharedArrayBuffer con el aislamiento de orígenes cruzados. Firefox también ha habilitado el objeto SharedArrayBuffer en entornos con aislamiento de orígenes cruzados en su versión 76. Esperamos que otros navegadores pronto hagan lo mismo.

Buscar dónde se usan objetos SharedArrayBuffer en tu sitio

Tienes dos opciones:

  1. Inspeccionar páginas importantes con Chrome DevTools.
  2. (Avanzado) Utilizar la API Reporting para enviar informes sobre funciones obsoletas a un servidor dedicado.

Consulta cómo usar los métodos anteriores en el apartado Buscar dónde se usan objetos SharedArrayBuffer en tu sitio.

Pasos siguientes

Te recomendamos que hagas lo siguiente:

  1. Identificar dónde se usa el objeto SharedArrayBuffer en tu sitio web.
  2. Valorar si hace falta usar ese objeto.
  3. Solucionar el problema dejando de usar el objeto o habilitando el aislamiento de orígenes cruzados.

Si no sabes qué es el objeto SharedArrayBuffer, pero aun así has recibido un mensaje de Search Console sobre él, es muy probable que lo esté usando algún recurso de terceros de tu sitio web. Cuando sepas qué páginas están afectadas y quién es el propietario del recurso, pídele que corrija el problema.

A partir del lanzamiento de Chrome 92, dejarán de funcionar los objetos SharedArrayBuffer que se utilicen sin aislamiento de orígenes cruzados. En consecuencia, es posible que los usuarios de Chrome que visiten tu sitio noten que el rendimiento es peor, similar al que se tendría en otras situaciones en las que no se admite el objeto SharedArrayBuffer.

Esperamos que esta aclaración te haya resultado útil aunque no hayas recibido el mensaje. Si tienes alguna pregunta, te recomendamos que la publiques en la comunidad de ayuda del Centro de la Búsqueda, donde podrán responderla otros expertos en el tema.