Форум русской поддержки Joomla!® CMS
05.12.2016, 06:24:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Рекомендации PageSpeed - используйте кэш браузера &

 (Прочитано 1994 раз)
0 Пользователей и 1 Гость смотрят эту тему.
leo78
Живу я здесь
******

Репутация: +59/-8
Offline Offline

Пол: Мужской
Сообщений: 896


I left from paradise!?...


« : 30.07.2015, 21:07:03 »

Проверял сайт с помощью сервиса PageSpeed Insights используйте кэш, время хранения
решил с помощью такого в файл который в корне .htaccess вставил это

Код:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
Код:
<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>
Код:
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
« Последнее редактирование: 31.07.2015, 01:49:12 от leo78 » Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #1 : 30.07.2015, 22:36:07 »

Цитировать
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
Сделаешь изменения в шаблоне. Пользователи, уже бывавшие на сайте, изменения увидят через год. Две недели вполне достаточно.
« Последнее редактирование: 30.07.2015, 22:42:36 от ChaosHead » Записан
leo78
Живу я здесь
******

Репутация: +59/-8
Offline Offline

Пол: Мужской
Сообщений: 896


I left from paradise!?...


« Ответ #2 : 30.07.2015, 23:29:51 »

ChaosHead
Есть и другие варианты
Код:
# compress text, HTML, javascript, CSS, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
 
# Or, compress certain file types by extension:
 
SetOutputFilter DEFLATE
 
# кеширование в браузере на стороне пользователя
 
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"

Но у всех "access 1 year"

Код:
# 480 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

# 2 DAYS
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>

# 2 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>


Кстати изменения я сразу вижу, с этим нет проблем
« Последнее редактирование: 31.07.2015, 01:48:41 от leo78 » Записан
leo78
Живу я здесь
******

Репутация: +59/-8
Offline Offline

Пол: Мужской
Сообщений: 896


I left from paradise!?...


« Ответ #3 : 30.07.2015, 23:44:59 »

А главное по оценке PageSpeed Insights
для мобильных      для компьютера - до изменений
70 / 100 Скорость      83 / 100
92 / 100 Удобство для пользователей
для мобильных      для компьютера - после
79 / 100 Скорость      93 / 100
92 / 100 Удобство для пользователей

« Последнее редактирование: 31.07.2015, 01:38:55 от leo78 » Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #4 : 31.07.2015, 00:21:42 »

Да знаю я это всё. Ты ссылки на левые сайты не давай, вот давай обсуждать конкретно сервис Pagespeed и его советы.
Вот он конкретно пишет: https://developers.google.com/speed/docs/insights/LeverageBrowserCaching
Цитировать
Для всех кешируемых ресурсов нужно обязательно указывать один заголовок из пары Expires и Cache-Control max-age, а также один заголовок из пары Last-Modified и ETag. Использовать и Expires, и Cache-Control: max-age излишне, как и указывать Last-Modified и ETag одновременно.

На хостинге, где ты хостишься отдётся Etag заголовок. Он работает автоматом. Сервер сообщит браузеру, если какой-то файл изменился и его нужно подгрузить заново.


Остаётся указать либо Expires либо Cache-Control max-age, т.к. написано выше, что оба указывать - излишне.
Сколько времени указывать? Минимальный срок - 8 дней. Проверено на личном эксперименте.
Год - это перебор. Это значит, что ты год с сайтом ничего не будешь делать.
« Последнее редактирование: 31.07.2015, 00:25:12 от ChaosHead » Записан
leo78
Живу я здесь
******

Репутация: +59/-8
Offline Offline

Пол: Мужской
Сообщений: 896


I left from paradise!?...


« Ответ #5 : 31.07.2015, 01:43:19 »

ChaosHead
Верю, но почему другие переделают друг у друга, и кто не заметил этого и сколько должно быть?

Код:
ExpiresByType text/javascript "access plus 8 days"
ExpiresByType text/css "access plus 8 days"


Еще странность
Код:
ExpiresDefault "access 7 days"
ExpiresByType text/html "access plus 7 day"

- написание days и day - разница есть?
 Shocked

Цитировать
access plus 7 day            доступ плюс 7 дней
access plus 7 days           доступ плюс 7 дней
access 7 day                   доступ на 7 дней
access 7 days                 доступ 7 дней
access plus 8 day            доступ плюс 8 день
access plus 8 days          доступ плюс 8 дней


Код:
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 8 days"
ExpiresByType text/css "access plus 8 days"
ExpiresByType text/html "access plus 7 days"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"

Как-то так должно выглядеть  Grin
« Последнее редактирование: 31.07.2015, 02:01:50 от leo78 » Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #6 : 31.07.2015, 10:20:33 »

Потому что надо думать головой самому, что это и зачем, а не тупо копировать.
Записан
leo78
Живу я здесь
******

Репутация: +59/-8
Offline Offline

Пол: Мужской
Сообщений: 896


I left from paradise!?...


« Ответ #7 : 13.08.2015, 20:02:48 »

найдено в интернете про Joomlo
Показать текстовый блок
Записан
Opiumfantom
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 24



« Ответ #8 : 25.09.2015, 22:52:35 »

leo78, Спасибо, последний вариант мне помог увеличить скорость, а также лучше отображаться в PageSpeed Insights. Осталось теперь "Удалить из верхней части страницы код JavaScript и CSS, блокирующий отображение". Shocked
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #9 : 26.09.2015, 21:45:30 »

leo уже в админке получил приключений себе, теперь твоя очередь.
Смотри: скрипты кэшируются допустим на месяц. Ты обновляешь Joomla, там новые скрипты выпустили. А у тебя и у старых посетителей в браузере старые. Что произойдёт - глюки.
Записан
vitzer
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 115


« Ответ #10 : 03.09.2016, 12:40:55 »

найдено в интернете про Joomlo
Показать текстовый блок

Внес изменения в htaccess: сайт ускорился на 6 едениц, глюков пока не отмечено.
Записан
Mihanja80
Практически профи
*******

Репутация: +167/-4
Offline Offline

Пол: Мужской
Сообщений: 1981


Всю жизнь учусь...


« Ответ #11 : 05.09.2016, 21:40:24 »

Код:
Options +FollowSymLinks -Indexes
AddDefaultCharset utf-8
DirectoryIndex index.php
Это у нормального хостера включено в настройках сервера, мне так кажется...

Код:
<ifModule mod_php.c>
А если PHP в режиме FastCGI? Можете получить ошибку 500?!

Цитировать
ifModule mod_deflate.c

mod_gzip
У меня nginx занимается сжатием перед отправкой, думаю нет смысла сжимать ещё и апачем.
Цитировать
mod_expires
А если nginx стоит проксисервером? Он передаст эти настройки или перепишет на свои?


Никогда не нужно копипастить простыни настроек без понимания...
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #12 : 22.09.2016, 11:28:16 »

Если стоит nginx, он сам файлы обрабатывает. Apache их не трогает. Он передаст только HTML
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet