PageSpeed OptiPic — автоматическая оптимизация сайта для требований Google Pagespeed Insights
JavaScript: Слияние, сжатие, ленивая загрузка. CSS: Сжатие размера и оптимизация загрузки. Оптимизация изображений. Оптимизация сторонних виджетов и систем аналитики.

Использование кэширования внешних файлов браузером

Я использовал Google Pagespeed Insights, чтобы проверить производительность моего веб-сайта на Node.js. Для некоторых внешних файлов он говорит использовать кэширование в браузере, но я не знаю, как это сделать?

Использование кэширования в браузере

Установка даты истечения срока действия или максимального возраста в заголовках HTTP для статических ресурсов указывает браузеру загружать ранее загруженные ресурсы с локального диска, а не через сеть. Используйте кэширование в браузере для следующих кэшируемых ресурсов:

http://maps.googleapis.com/…kwPPoBErK_--SlHZI28k6jjYLyU&sensor=false (30 минут)

http://www.google-analytics.com/analytics.js (2 часа)

Пожалуйста, кто-нибудь помогите мне с этим.

#1

Одно из решений - это обратный прокси-сервер для ресурсов Google. Тогда вы можете добавить Cache-Control и другие заголовки кэширования. Если вы используете Apache, вы можете сделать это следующим образом в файле 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> 

Недостатки этого решения:

  • Вы направите много дополнительного трафика через свои серверы.
  • Очевидно, что обновления, внесенные Google, будут появляться пользователю вашего сайта с задержкой.
#2

Если у вас нет доступа к файлу httpd.conf, как указал rudolfv's ответ, здесь есть несколько вариантов:

  1. самым простым вариантом является копирование его содержимого каждый день, чтобы быть уверенным, что вы обновлены
  2. мы можем использовать возможности cron, есть хороший пример скрипта с использованием php, опубликованный здесь
  3. использовать php скрипт для генерации скрипта google analytics при каждом запросе на лету:

     $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. использовать возможность .htaccess, если ваш хостинг-провайдер разрешает 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] 
?