PageSpeed OptiPic - optimización automática del sitio para los requisitos de Google Pagespeed Insights
JavaScript: Fusión, compresión, carga perezosa. CSS: compresión de tamaño y optimización de carga. Optimización de imágenes. Optimización de widgets de terceros y sistemas de análisis.

Aprovechar el almacenamiento en caché del navegador de archivos externos

Usé Google Pagespeed Insights para probar el rendimiento de mi sitio web de nodejs. Para algunos archivos externos, dice que se debe aprovechar el almacenamiento en caché del navegador, pero no sé cómo hacerlo.

Aprovechar el almacenamiento en caché del navegador

Establecer una fecha de vencimiento o una edad máxima en las cabeceras HTTP para los recursos estáticos instruye al navegador a cargar los recursos descargados previamente desde el disco local en lugar de a través de la red. Aprovecha la caché del navegador para los siguientes recursos en caché:

http://maps.googleapis.com/…kwPPoBErK_--SlHZI28k6jjYLyU&sensor=false (30 minutos)

http://www.google-analytics.com/analytics.js (2 horas)

Cualquier ayuda sería apreciada.

#1

Una solución es hacer un proxy inverso de los recursos de Google. Luego, puede agregar Cache-Control y otros encabezados de almacenamiento en caché. Si está utilizando Apache, puede lograrlo de la siguiente manera en su archivo httpd.conf:

ProxyRemote http://www.google-analytics.com http://yourinternalproxy:yourport <Location /analytics.js> ProxyPass http://www.google-analytics.com/analytics.js ProxyPassReverse http://www.google-analytics.com/analytics.js Header set Cache-Control "max-age=86400" </Location> 

Las desventajas de esto son que:

  • Canalizará mucho tráfico adicional a través de sus servidores.
  • Obviamente, las actualizaciones realizadas por Google tardarán más en aparecer para los usuarios de su sitio.
#2

Si no tienes acceso al archivo httpd.conf como menciona la respuesta de rudolfv, hay varias opciones aquí:

  1. la más fácil es copiar su contenido cada día para asegurarte de estar actualizado
  2. podemos emplear el poder de cron, hay un buen ejemplo de script utilizando PHP publicado aquí
  3. usar un script de PHP para generar el script de Google Analytics en cada solicitud sobre la marcha:

     $context = stream_context_create(['http' => ['Content-Type' => 'text/javascript', 'enable_cache' => true, 'enable_optimistic_cache' => true, 'read_cache_expiry_seconds' => 86400,]]); echo file_get_contents("http://www.google-analytics.com/analytics.js", false, $context); 
  4. usar el poder de .htaccess si tu proveedor de hosting permite mod_headers & mod_proxy

     RewriteEngine On Header set Cache-Control "max-age=86400" RewriteRule ^js/analytics.js http://www.google-analytics.com/analytics.js [P] 
?