MIL2 1 Опубликовано 27 ноября, 2014 Жалоба Share Опубликовано 27 ноября, 2014 Гугл при анализе скорости сайта https://developers.google.com/speed/pagespeed/insights/ рекомендует обязательно указывать в заголовках HTTP дату или срок действия статических ресурсов, тогда браузер будет загружать уже полученные ранее ресурсы с локального диска, а не из Интернета. При этом срок действия по данным этого сервиса не указан для картинок gif, png и jpg, для файлов с расширениями js, .css. Здесь подробная статья на это тему http://www.exlab.net/dev/http-caching.html Как указать сроки действия статических ресурсов применительно к версии 1.64? Заранее спасибо. Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 27 ноября, 2014 Автор Жалоба Share Опубликовано 27 ноября, 2014 Из комментов к статье: запретить кэширование изображений можно средствами веб-сервера, отправляя вместе с ними заголовок Cache-Control с директивой не-магазин . Для этого разместите в папке с картинками файл .htaccess со следующим содержимым: <FilesMatch \.(gif|jpg|png)$> Header append Cache-Control "no-store" </FilesMatch> Попробовал добавить- не помогло- может неправильно прописал?: Было: <FilesMatch ".(php|php3|phtml|inc|c|htm|html|pl|cgi)$"> Order Allow,Deny Deny from all </FilesMatch> Стало: <FilesMatch ".(php|php3|phtml|inc|c|htm|html|pl|cgi)$"> Order Allow,Deny Deny from all </FilesMatch> <FilesMatch \.(gif|jpg|png)$> Header append Cache-Control "no-store" </FilesMatch> Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 28 ноября, 2014 Автор Жалоба Share Опубликовано 28 ноября, 2014 Еще совет: Директивы кеширования Кэширование для всех типов файлов по времени доступа ExpiresActive on ExpiresDefault "access plus 600 seconds"Кэширование для всех типов файлов по времени изменения ExpiresActive on ExpiresDefault "modification plus 600 seconds"Кэширование для определённых типов файлов ExpiresByType text/css "modification plus 600 seconds" ExpiresByType image/jpeg "modification plus 600 seconds" ExpiresByType image/gif "modification plus 600 seconds" ExpiresByType image/x-ico "modification plus 600 seconds" ExpiresByType image/png "modification plus 600 seconds" Запрет кеширования с помощью сервера Apache Откройте файл конфигурации сервера Apache httpd.conf и раскомментируйте следующие строчки: LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so ... AddModule mod_expires.c AddModule mod_headers.c Впишите в .htaccess следующее: # Запрещение кеширования в этой папке # Необходимо включение модулей # mod_headers.c и mod_expires.c # # Заголовок Cache-Control <IfModule mod_headers.c> Header append Cache-Control "no-store, no-cache, must-revalidate" </IfModule> # Заголовок Expires <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "now" </IfModule> Необходимые заголовки будут передаваться автоматически, и специально их писать в PHP уже не нужно - кэш уже выключен! Кеширование с помощью файла .htaccess # Разрешение кеширования в этой папке # Необходимо включение модулей # mod_headers.c и mod_expires.c # # Заголовок Cache-Control <IfModule mod_headers.c> Header append Cache-Control "public" </IfModule> # Заголовок Expires <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 hours" #ExpiresDefault "access plus 10 years" </IfModule> Кеширование javascript файлов с помощью файла .htaccess <FilesMatch .*.js$> ExpiresDefault "access plus 3 days" </FilesMatch> Будьте осторожны при кешировании, т.к. при изменении файла, пользователь может получить новый вариант только через 3 дня! Отсюда - http://awax-hosting.ru/nastroyka-htaccess.html Попробовал добавить в htaccess: ExpiresActive onExpiresDefault "modification plus 600 seconds"ExpiresByType text/css "modification plus 600 seconds"ExpiresByType image/jpeg "modification plus 600 seconds"ExpiresByType image/gif "modification plus 600 seconds"ExpiresByType image/x-ico "modification plus 600 seconds"ExpiresByType image/png "modification plus 600 seconds" - сайт не открывается- 500 ошибка ( Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 ноября, 2014 Жалоба Share Опубликовано 28 ноября, 2014 Попробуйте добавить в .htaccess: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript application/font-woff </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 10 years" ExpiresByType text/js "access plus 10 years" ExpiresByType text/javascript "access plus 10 years" ExpiresByType application/x-javascript "access plus 10 years" ExpiresByType application/javascript "access plus 10 years" ExpiresByType application/font-woff "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/x-icon "access plus 10 years" ExpiresByType image/vnd.microsoft.icon "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType image/jpeg "access plus 10 years" </IfModule> FileETag none Но всё равно это обычно настраивается на стороне сервера. Для примера, можете проверить в Google PageSpeed Insight сайт http://demo.vamshop.com Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 28 ноября, 2014 Автор Жалоба Share Опубликовано 28 ноября, 2014 Попробуйте добавить в .htaccess: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript application/font-woff </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 10 years" ExpiresByType text/js "access plus 10 years" ExpiresByType text/javascript "access plus 10 years" ExpiresByType application/x-javascript "access plus 10 years" ExpiresByType application/javascript "access plus 10 years" ExpiresByType application/font-woff "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/x-icon "access plus 10 years" ExpiresByType image/vnd.microsoft.icon "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType image/jpeg "access plus 10 years" </IfModule> FileETag none Но всё равно это обычно настраивается на стороне сервера. Для примера, можете проверить в Google PageSpeed Insight сайт http://demo.vamshop.com А в .htaccess имеет какое-то значение порядок деректив? Все равно где я этот код вставлю - в конце, середине, начале? У меня что-то все попытки его редактирования к белому экрану приводят- уже страшно туда соваться ( Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 28 ноября, 2014 Жалоба Share Опубликовано 28 ноября, 2014 Без разницы. Но всё равно в VamShop 1 хороших результатов добиться будет сложно из-за плохой структуры исходного кода и сложности выполнения всех рекомендация. Если Вам обязательно нужен хороший результат, смотрите на VamShop 2 версию, там изначально всё уже продумано и предусмотрено. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 28 ноября, 2014 Жалоба Share Опубликовано 28 ноября, 2014 Вопрос еще может быть в хостере. Придется тупо игаться всеми значениями Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 29 ноября, 2014 Автор Жалоба Share Опубликовано 29 ноября, 2014 Попробуйте добавить в .htaccess: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript application/font-woff </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 10 years" ExpiresByType text/js "access plus 10 years" ExpiresByType text/javascript "access plus 10 years" ExpiresByType application/x-javascript "access plus 10 years" ExpiresByType application/javascript "access plus 10 years" ExpiresByType application/font-woff "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/x-icon "access plus 10 years" ExpiresByType image/vnd.microsoft.icon "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType image/jpeg "access plus 10 years" </IfModule> FileETag none Но всё равно это обычно настраивается на стороне сервера. Для примера, можете проверить в Google PageSpeed Insight сайт http://demo.vamshop.com Я правильно понимаю, что это кэширование на стороне браузера клиента и если я сменю картинку товара, а клиент не почистит кэш браузера, то он этой картинки 10 лет не увидит ;-) ? Может такая конструкция лучше в данном случае "modification plus 600 seconds" ? Но что тут под модификацией подразумевается и как прописать здесь минуты или часы? А подключать надо действительно у хостера. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2014 Жалоба Share Опубликовано 29 ноября, 2014 Почему, увидит. Это довльно большая тема оптимизации, как на стороне сервера, так и на стороне VamShop. В VamShop 2 эта работы уже проведена была довольно давно, можете проверить http://demo.vamshop.com в разных сервисах типа: https://developers.google.com/speed/pagespeed/insights/?hl=en&utm_source=wmx&utm_campaign=wmx_otherlinks http://gtmetrix.com/ http://www.webpagetest.org/ http://www.feedthebot.com/tools/gzip/ В VamShop 2 по умолчанию сделано всё, что можно для быстрой работы. В блоге vamshop.ru/blog писал на этот счёт. Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 29 ноября, 2014 Автор Жалоба Share Опубликовано 29 ноября, 2014 Почему, увидит. Это довльно большая тема оптимизации, как на стороне сервера, так и на стороне VamShop. В VamShop 2 эта работы уже проведена была довольно давно, можете проверить http://demo.vamshop.com в разных сервисах типа: https://developers.google.com/speed/pagespeed/insights/?hl=en&utm_source=wmx&utm_campaign=wmx_otherlinks http://gtmetrix.com/ http://www.webpagetest.org/ http://www.feedthebot.com/tools/gzip/ В VamShop 2 по умолчанию сделано всё, что можно для быстрой работы. В блоге vamshop.ru/blog писал на этот счёт. Спасибо за ссылки ) Как хостер подключит сообщу заработало или нет. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2014 Жалоба Share Опубликовано 29 ноября, 2014 Да, модули mod_deflate и mod_expires в настройках веб-сервера apache2 включаются. Я своего хостера просить включить, включили. Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 30 ноября, 2014 Автор Жалоба Share Опубликовано 30 ноября, 2014 Ответили: Здравствуйте,кеширование для статического контента настраивается отдельно так как мы используем nginx, В данном случае рекомендую обратиться к документации, где описаны возможности модуля кеширования на nginx http://nginx.org/ru/docs/http/ngx_http_headers_module.htmlв случае modification plus 600 seconds , дата в заголовке может передаваться в "прошлом времени", если дата модификации была больше 600sec. На данный момент выставил значение expires в 1h. Если необходимо его изменить, сообщите. Теперь этот код надо удалить из .htaccess или же оставить?: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript application/font-woff </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 10 years" ExpiresByType text/js "access plus 10 years" ExpiresByType text/javascript "access plus 10 years" ExpiresByType application/x-javascript "access plus 10 years" ExpiresByType application/javascript "access plus 10 years" ExpiresByType application/font-woff "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/x-icon "access plus 10 years" ExpiresByType image/vnd.microsoft.icon "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType image/jpeg "access plus 10 years" </IfModule> FileETag none И надо ли прописывать в .htaccess другие условия уже в соответствии с этой инструкцией http://nginx.org/ru/docs/http/ngx_http_headers_module.html С одной стороны гугл https://developers.google.com/speed/pagespeed/insights/ все также пишет что надо указывать в заголовках HTTP дату или срок действия статических ресурсов, а с другой сам же показывает, что везде указано время 60 минут- правда на скорость загрузки это никак не повлияло Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 ноября, 2014 Жалоба Share Опубликовано 30 ноября, 2014 Я ж Вам дал ссылки на сервисы, есть гугл, есть chrome developer console, если хотите разобраться, то нужно садиться и разбираться, читать, как решаются проблемы. Это ж с наскока не решается. Но я ж Вам говорю, в VamShop 1 много нет и хороший балл в google Вы всё равно не получите. Если Вам нужен высокий балл, работайте с VamShop 2. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 декабря, 2014 Жалоба Share Опубликовано 1 декабря, 2014 Ответили: Здравствуйте, кеширование для статического контента настраивается отдельно так как мы используем nginx, В данном случае рекомендую обратиться к документации, где описаны возможности модуля кеширования на nginx http://nginx.org/ru/docs/http/ngx_http_headers_module.html в случае modification plus 600 seconds , дата в заголовке может передаваться в "прошлом времени", если дата модификации была больше 600sec. На данный момент выставил значение expires в 1h. Если необходимо его изменить, сообщите. Теперь этот код надо удалить из .htaccess или же оставить?: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript application/font-woff </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 10 years" ExpiresByType text/js "access plus 10 years" ExpiresByType text/javascript "access plus 10 years" ExpiresByType application/x-javascript "access plus 10 years" ExpiresByType application/javascript "access plus 10 years" ExpiresByType application/font-woff "access plus 10 years" ExpiresByType image/png "access plus 10 years" ExpiresByType image/x-icon "access plus 10 years" ExpiresByType image/vnd.microsoft.icon "access plus 10 years" ExpiresByType image/gif "access plus 10 years" ExpiresByType image/jpeg "access plus 10 years" </IfModule> FileETag none И надо ли прописывать в .htaccess другие условия уже в соответствии с этой инструкцией http://nginx.org/ru/docs/http/ngx_http_headers_module.html С одной стороны гугл https://developers.google.com/speed/pagespeed/insights/ все также пишет что надо указывать в заголовках HTTP дату или срок действия статических ресурсов, а с другой сам же показывает, что везде указано время 60 минут- правда на скорость загрузки это никак не повлияло Вы не понимаете.... то, что написано в инструкции прописывается в хостинг панели в конкретных настройках вашего сайта, так как сервер работает не на индейце (apache ) а на nginx Ссылка на сообщение Поделиться на другие сайты
MIL2 1 Опубликовано 1 декабря, 2014 Автор Жалоба Share Опубликовано 1 декабря, 2014 В общем буду менять хостинг Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения