Модуль Оптимизация пережатых картинок для Google PageSpeed Insights

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
Ну вообще можно, wget скачивай по крону скрипты локально, и подключай их локально.

С jquery можно сделать асинхронную загрузку, а все его вызовы делать через document.ready

Если включить асинхронную загрузку для jquery, то нужно будет весь код js с jquery обернуть в document.ready? Правильно я понял?
 

therion.kiev

Постоялец
Регистрация
27 Фев 2014
Сообщения
80
Реакции
50
Инклуд файлов статики, типа js или css нужно делать из cdn. Браузер обращается к ним в отдельном потоке. + уменьшается нагрузка на сервер, за счёт освобождения канала от лишнего трафика. Юзай cdn
 

135

Постоялец
Регистрация
11 Июл 2010
Сообщения
141
Реакции
8
Тут тебе Minor сказал как сделать. Поставь крон чтобы качал эти скрипты к тебе на сервер, чтобы версии актуальные всегда были. А в свой HTML меняй ссылки на эти js на свои локальные, тогда сможешь настроить время жизни этих скриптов из кеша.
Я вас понял. Что касается скрипта Яндекс-метрики, то внутрь не заглядывал, полагаю, будет путаница с относительными путями: их надо будет на абсолютные заменить.
Второй файл - это jpg. Не знаю как, но понимаю, что это очень просто - с помощью .htaccess и php по адресу https:// mysite.ru/XXXXX/hqdefault.jpg выводить картинку https:// img.youtube.com/vi/XXXXX/hqdefault.jpg
Ну а дальше можно и кеширование этого изображения использовать!
P.S. Все скрипты достаточно перенести ниже (можно и в самый низ страницы). Благодаря этому уже имею 98/100.
 

therion.kiev

Постоялец
Регистрация
27 Фев 2014
Сообщения
80
Реакции
50
Перенося скрипты вниз ты можешь потерять функции рейтинга товара, слайдера или корзины, к примеру. Правильно делать так: в хедер страницы нужно добавить критически важные css и js. Причём не инклюдом а прямо в тело html. Все остальное вниз, в футер
 

135

Постоялец
Регистрация
11 Июл 2010
Сообщения
141
Реакции
8
C Метрикой разобрался. Скрипт

<?php
file_put_contents('watch.js', file_get_contents('Для просмотра ссылки Войди или Зарегистрируйся
?>

Сохраняет watch.js в текущую директорию (права 777), запуск из этой директории происходит нормально - в метрике изменения отображаются. В итоге заработал 100/100
 
Последнее редактирование:

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
C Метрикой разобрался. Скрипт

<?php
file_put_contents('watch.js', file_get_contents('Для просмотра ссылки Войди или Зарегистрируйся
?>

Сохраняет watch.js в текущую директорию (права 777), запуск из этой директории происходит нормально - в метрике изменения отображаются. В итоге заработал 100/100
достаточно просто:
Код:
copy($url, 'watch.js');
К тому же наверняка не обязательно качать файл заново при каждом обращении к сайту.
Сделай что-то вроде:
Код:
if(file_exists('watch.js') && time() - filemtime('watch.js') > 86400 /* сутки в сек. */ ){
      @copy($url, 'watch.js');
}

100 очков впечатляет. Все ли работает, проверил?
 
Последнее редактирование:

therion.kiev

Постоялец
Регистрация
27 Фев 2014
Сообщения
80
Реакции
50
А можно было добавить флаг async) офф способ, верный. Сделал костыль там где его не нужно)))
 
  • Нравится
Реакции: 135

babahalki

Постоялец
Регистрация
6 Май 2016
Сообщения
247
Реакции
107
А можно было добавить флаг async) офф способ, верный. Сделал костыль там где его не нужно)))
Не согласен. Про время жизни кеша гугл жалуется все равно, хоть sync, хоть async.
 

135

Постоялец
Регистрация
11 Июл 2010
Сообщения
141
Реакции
8
достаточно просто:
Код:
copy($url, 'watch.js');
К тому же наверняка не обязательно качать файл заново при каждом обращении к сайту.
Сделай что-то вроде:
Код:
if(file_exists('watch.js') && time() - filemtime('watch.js') > 86400 /* сутки в сек. */ ){
      @copy($url, 'watch.js');
}

100 очков впечатляет. Все ли работает, проверил?
Ну какая разница, какой функцией я буду получать и записывать файл - на памяти и процессорном времени это не отразится.
За идею проверки спасибо, но скрипт этот запускаться будет либо по крону, либо если метрика перестанет работать.
Да, всё работает, только загрузка стала выглядеть иначе: сначала блоки, затем картинки и тут же текст. Но сама загрузка довольно быстрая. У меня в браузере не болеедвух секунд, а то и одну, по tools.pingdom.com, если выбрать ближайшую к нам Шведцию, 1.01 секунда.
 
Сверху