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

Ну вообще можно, wget скачивай по крону скрипты локально, и подключай их локально.

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

Если включить асинхронную загрузку для jquery, то нужно будет весь код js с jquery обернуть в document.ready? Правильно я понял?
 
Инклуд файлов статики, типа js или css нужно делать из cdn. Браузер обращается к ним в отдельном потоке. + уменьшается нагрузка на сервер, за счёт освобождения канала от лишнего трафика. Юзай cdn
 
Тут тебе Minor сказал как сделать. Поставь крон чтобы качал эти скрипты к тебе на сервер, чтобы версии актуальные всегда были. А в свой HTML меняй ссылки на эти js на свои локальные, тогда сможешь настроить время жизни этих скриптов из кеша.
Я вас понял. Что касается скрипта Яндекс-метрики, то внутрь не заглядывал, полагаю, будет путаница с относительными путями: их надо будет на абсолютные заменить.
Второй файл - это jpg. Не знаю как, но понимаю, что это очень просто - с помощью .htaccess и php по адресу https:// mysite.ru/XXXXX/hqdefault.jpg выводить картинку https:// img.youtube.com/vi/XXXXX/hqdefault.jpg
Ну а дальше можно и кеширование этого изображения использовать!
P.S. Все скрипты достаточно перенести ниже (можно и в самый низ страницы). Благодаря этому уже имею 98/100.
 
Перенося скрипты вниз ты можешь потерять функции рейтинга товара, слайдера или корзины, к примеру. Правильно делать так: в хедер страницы нужно добавить критически важные css и js. Причём не инклюдом а прямо в тело html. Все остальное вниз, в футер
 
C Метрикой разобрался. Скрипт

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

Сохраняет watch.js в текущую директорию (права 777), запуск из этой директории происходит нормально - в метрике изменения отображаются. В итоге заработал 100/100
 
Последнее редактирование:
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 очков впечатляет. Все ли работает, проверил?
 
Последнее редактирование:
А можно было добавить флаг async) офф способ, верный. Сделал костыль там где его не нужно)))
 
  • Нравится
Реакции: 135
А можно было добавить флаг async) офф способ, верный. Сделал костыль там где его не нужно)))
Не согласен. Про время жизни кеша гугл жалуется все равно, хоть sync, хоть async.
 
достаточно просто:
Код:
copy($url, 'watch.js');
К тому же наверняка не обязательно качать файл заново при каждом обращении к сайту.
Сделай что-то вроде:
Код:
if(file_exists('watch.js') && time() - filemtime('watch.js') > 86400 /* сутки в сек. */ ){
      @copy($url, 'watch.js');
}

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