El prerenderizado (Prerender) es una técnica de optimización que consiste en renderizar de forma anticipada, en segundo plano, una página que el usuario probablemente visitará a continuación. Esto incluye el análisis del HTML, la aplicación de CSS y la ejecución de JavaScript. Cuando el usuario finalmente hace clic, la página ya renderizada se muestra sin apenas espera. Aun así, el prerenderizado es solo una indicación para el navegador, que puede no aplicarlo según la memoria disponible o la configuración del usuario.
Chrome soporta el prerenderizado a través de la Speculation Rules API. Mediante una etiqueta <script type="speculationrules"> en el HTML, se especifican los patrones de URL que deben prerenderizarse. Los enlaces candidatos los declara el propio sitio en lugar de dejarlos a la predicción del navegador, y el momento de activación se elige con eagerness. immediate actúa en cuanto se leen las reglas, eager y moderate cuando el puntero se detiene sobre el enlace, y conservative cuando el puntero se presiona. El campo eagerness requiere Chrome 121 o posterior.
Para las URL acortadas, conviene delimitar primero hasta dónde llega el prerenderizado. Normalmente, al hacer clic en una URL acortada se desencadenan múltiples pasos: resolución DNS, conexión TCP, respuesta de redirección, nueva resolución DNS del destino y carga de la página. Sin embargo, el prerenderizado de la Speculation Rules API se limita por defecto a documentos del mismo origen; un origen distinto solo funciona si pertenece al mismo sitio y el destino lo acepta mediante la cabecera Supports-Loading-Mode. El prerenderizado entre sitios distintos no se realiza, y una página en prerenderizado que intenta navegar a otro sitio se descarta antes de enviar la petición. Como una URL acortada suele estar en un sitio y apuntar a otro, el prerenderizado no sirve para adelantar esos pasos. Su ámbito práctico es la navegación dentro del propio sitio; para acelerar una redirección que sale del sitio, las alternativas más ligeras que se describen más abajo son la opción realista.
Un aspecto a tener en cuenta es el consumo de recursos. El prerenderizado descarga y procesa la página completa en segundo plano, lo que consume ancho de banda y memoria del dispositivo. En entornos móviles, el aumento del tráfico de datos puede ser problemático, por lo que conviene aplicarlo solo a los enlaces con alta probabilidad de clic. Chrome limita además el número de prerenderizados simultáneos: 10 con immediate y 2 con los demás valores de eagerness, descartando los más antiguos al superarlo. La carga especulativa tampoco se realiza cuando se envía Save-Data, cuando está activo el ahorro de energía, cuando la memoria es escasa o cuando la precarga de páginas está desactivada en el navegador.
Como alternativas graduales al prerenderizado existen dns-prefetch (solo resolución DNS), preconnect (DNS + TCP + TLS) y prefetch (solo descarga de recursos). Cada una ofrece un equilibrio diferente entre consumo de recursos y beneficio percibido. Las tres funcionan también entre orígenes distintos, por lo que resultan más realistas que el prerenderizado en los enlaces que llevan a un sitio externo. Cabe señalar que la antigua indicación <link rel="prerender"> está obsoleta: en el Chrome actual ya no renderiza la página completa y su comportamiento se acerca a una precarga de recursos. La especulación a nivel de página ha pasado a la Speculation Rules API.