Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Как включить кэширование браузером, рецепт для htaccess. Кэш браузера включить


Как включить кэш браузера | SEO Маяк

Всем привет! Сегодня на seo-mayak.com я продолжу разбирать рекомендации PageSpeed по ускорению загрузки сайта и расскажу, как включить кэш браузера на стороне посетителя Вашего сайта.

Многие веб-мастера используют для кэширования данных различные кэш-плагины. Самые популярные из них: W3 Total Cache, WP Super Cache и Hyper Cache.

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

Признаюсь, что на поиски «иного средства» я потратил не мало времени, так как большинство статей на данную тему поверхностны, что вызывало у меня еще больше вопросов.

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

На различных форумах и блогах предлагалось масса вариантов, как заставить браузер запоминать и хранить данные или как включить gzip сжатие и т.д. Голова шла кругом, я никак не мог понять принцип действия тех или иных директив и мне ничего не оставалось, как начать проводить эксперименты, благо для этих целей есть Денвер.

Постепенно приходило понимание, что прежде всего мне необходимо разобраться в модулях Apache (популярное серверное ПО), к которым и происходит обращение через файл .htaccess. Как говориться, чем дальше в лес, тем больше дров.

Я не переставал поражаться, сколько знаний должен иметь веб-мастер, чтобы самостоятельно вести и обслуживать свой проект. Все конечно знать невозможно, но к этому надо стремиться. Поехали!

Модули Apache: mod_headers и mod_expires

Прежде всего надо выяснить, какое ПО используется на Вашем хостинге. Как Вы наверное уже догадались, обращение к модулям mod_headers и mod_expires будет работать только в том случаи, если на серверах Вашего хостинг-провайдера установлено ПО Apache.

Данные модули не входят в стандартную сборку Apache и необходимо уточнить в службе поддержки хостинга, установлены ли mod_headers и mod_expires на сервере. Если таковые имеются, то можно приступать к написанию директив.

Модули mod_headers и mod_expires способны встраивать в ответ сервера специальные заголовки Cache-Control или Expires, которые укажут браузеру на стороне посетителя, какие файлы и на какое время надо кэшировать.

Важно! Для того, чтобы включить кэш браузера на стороне пользователя достаточно написать директивы только для одного из модулей. Обращение к mod_headers и mod_expires одновременно, считаю не целесообразным!

Скажу больше. Заголовок Expires начал работать с версии протокола HTTP/1.0, а заголовок Cache-Control был принят на вооружение с выходом протокола HTTP/1.1.

Хоть Expires и был интегрирован в новую версию протокола и его по-прежнему понимают современные браузеры, но с появлением Cache-Control, последний получил приоритет. Т.е, при получении браузером временных директив, директивы Cache-Control отменяют директивы Expires.

Вот такие дела. Я понимаю, что новичкам очень сложно усвоить данный материал, ведь я сам когда-то был «зеленым», но уверен, что при наличии желания можно разобраться в любом вопросе и если Вы дочитаете статью до конца, то думаю многое прояснится.

Для начала давайте разберемся с директивами, предназначенными для модуля mod_headers.

Директивы кэширования для модуля mod_headers

Вот такой код надо вставить в файл .htaccess. Во избежание лишних вопросов, вставляем перед строчкой # END WordPress:

# Включаем кэш в браузерах посетителей <ifModule mod_headers.c> # Все html и htm файлы будут храниться в кэше браузера один день <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=43200" </FilesMatch> # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю <FilesMatch "\.(js|css|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> # Все флэш файлы и изображения будут храниться в кэше браузера один месяц <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # Отключаем кеширование php и других служебных файлов <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>

Теперь я немного поясню, что означают те или иные директивы.

<ifModule …>…</IfModule> — это своего рода контейнер, который заключает в себя директивы, предназначенные для того или иного модуля Apache и заодно проверяет наличие оного. Если модуль не найден, то директивы игнорируются.

В данном случаи мы обращаемся к модулю mod_headers, исходный файл которого носит название mod_headers.c, где «.с» — расширение файла.

<FilesMatch «…»>…</FilesMatch> — блочная директива, указывающая серверу на файлы с конкретными расширениями, на которые будут распространятся указанные в директиве правила. В кавычках, прописываются регулярные выражения, например «\.(html|htm)$», с помощью которых можно сгруппировать файлы с необходимыми расширениями.

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

Header — директива, влияющая на отправку HTTP заголовка со стороны сервера в сеть. Данная директива может принять следующие аргументы: set, append, add, unset и echo. Все аргументы я думаю описывать вовсе не обязательно, кто хочет знать больше, читайте документацию. Рассмотрим лишь те аргументы, которые используются в нашем коде.

set —  аргумент, сообщающий браузеру или промежуточному серверу (прокси-серверу), что любой предыдущий заголовок с тем же именем должен быть заменен. Если объяснить русским языком — это команда браузеру, что при повторном запросе одного и того же заголовка, доставать данные надо из собственного кэша. Т.е, тем самым мы включаем кэш браузера.

unset — аргумент сообщающий браузеру или прокси серверу, что любой заголовок с тем же именем должен быть получен с сервера. Наверное вы уже догадались, что данный аргумент — это ни что иное, как запрет кэширования.

Cache-Control — заголовок, предназначенный для управления процессом кэширования. Для заголовка Cache-Control может может быть прописано рад директив. Очень подробное описания Cache-Control и его директив я нашел тут, кому интересно можете почитать.

max-age — директива, задающая срок годности кэша. После знака равно указывается время в секундах, на протяжении которых, указанные файлы должны хранится в кэше браузера.

Директивы кэширования для модуля mod_expires

При обращении к модулю mod_expires через файл .htaccess, мы будем использовать уже другие директивы (кроме ifModule), которые выглядят следующим образом:

<ifModule mod_expires.c> ExpiresActive On #по умолчанию кеш в 5 секунд ExpiresDefault "access plus 5 seconds" # Включаем кэширование изображений и флэш на месяц ExpiresByType image/x-icon "access plus 1 month" ExpiresByType image/jpeg "access plus 4 weeks" ExpiresByType image/png "access plus 30 days" ExpiresByType image/gif "access plus 43829 minutes" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" # Включаем кэширование css, javascript и текстовых файлов на одну неделю ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 604800 seconds" ExpiresByType application/javascript "access plus 604800 seconds" ExpiresByType application/x-javascript "access plus 604800 seconds" # Включаем кэширование html и htm файлов на один день ExpiresByType text/html "access plus 43200 seconds" # Включаем кэширование xml файлов на десять минут ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule>

С контейнером ifModule я думаю должно быть все понятно.

ExpiresActive — данная директива активирует или блокирует кэширование на стороне браузера пользователя.

on — активировать

off — блокировать

ExpiresDefault — интересная директива, которая способна задавать время хранения кэша в браузере по умолчанию. Т.е, браузер будет кэшировать все подряд. В кавычках указывается временной интервал.

В директивах для модуля mod_expires синтаксис временного интервала гораздо гибче, чем для модуля mod_headers, где время задается только в секундах.

Для модуля mod_expires время можно устанавливать в следующий исчислениях:

years — лет или year — один годmonths — месяцев или month — одни месяцweeks — недель или week — одна неделяdays — дней или day — один деньhours — часов или hour один часminutes — минут или minute — одна минутаseconds — секунд

Перед временным интервалом прописывается несколько дополнительных слов, например:

"access plus 1 month"

access — основное слово (основа). В переводе с англ. — доступ;

plus — ключевое слово (ключ), после которого должно следовать числовое значение.

Временной интервал и дополнительные слова обязательно заключается в кавычки. В отрезке кода, который был приведен выше, я специально, для примера, указал временной интервал в разных исчислениях. Надеюсь будет понятно. Идем дальше.

ExpiresByType — директива, задающая временной интервал кэширования для определенных типов файлов. Достоинством данной директивы является то, что она отменяет время кэша по умолчанию, для указанных типов файлов, установленного директивой ExpiresDefault.

Также обязательно через слеш указывается тип файлов, например: image/jpeg, text/html или application/x-javascript. Все типы файлов можно посмотреть здесь.

В заключение хочу сказать, что существуют и другие способы кэширования. Кэш объектов можно организовать с помощью функций WordPress или с помощью сторонних серверов Memcached, APC или Redis.

Конечно в  будущем я не обойду вниманием и эти темы, так что подписывайтесь на обновления блога, будет интересно!

До встречи!

С уважением, Виталий Кириллов

« Оптимизация WordPress. Нагрузка на сервер и как ее снизить« PageSpeed — реальное ускорение сайта« Как включить gzip сжатие и кратно ускорить сайт« Как сократить CSS и ускорить загрузку сайта

seo-mayak.com

Используйте кеш браузера, как включить кэширование в htaccess

Многие веб-мастера пользуются таким инструментом, как Google Page Speed для проверки скорости своего сайта. После анализа он выдает ряд рекомендаций по оптимизации. И одной из таких рекомендация является использование кеша браузера.

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

Но у кэширования есть и минусы - если файл на сервере изменился, то у вас скорее всего отобразится не новая, а старая версия файла. К примеру, файл с именем img01.jpg содержал в себе изображение автомобиля. Вы зашли на сайт, почитали статью и вышли. Но администратор сайта почему-то решил, что картинка автомобиля там неуместна, и решил заменить ее на картинку с пейзажем. Но название файла осталось то же. Через пару дней вы решили еще раз прочитать ту статью. Когда вы зашли на сайт, картинка у вас осталась старая - автомобиль. Это потому, что браузер ее закэшировал с таким названием img01.jpg. И чтобы у вас отобразилась уже новая картинка с пейзажем, вам нужно сбросить кэш браузера комбинацией клавиш Ctrl+F5.

Настройка htaccess

Теперь перейдем от лирических отступлений к основной теме статьи. Для того, чтобы включить кэширование браузером, на вашем сервере в корне сайта должен лежать файлик .htaccess. Если такового нет, вам нужно его создать.

После чего в нем прописываются следующие директивы:

<IfModule mod_expires.c> <FilesMatch \.(gif|png|jpg|jpeg|ogg|mp4|mkv|flv|swf|wmv|asf|asx|wma|wax|wmx|wm)$> ExpiresDefault "access plus 1 year" </FilesMatch> ExpiresActive on ExpiresByType image/jpeg "access plus 7 day" ExpiresByType image/gif "access plus 7 day" ExpiresByType image/png "access plus 7 day" <FilesMatch \.(css|js)$> ExpiresDefault "access plus 1 year" </FilesMatch> ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" </IfModule>

Прописав данные правила, Google Page Speed пометит галочкой, что кэширование включено, и начислит вашему сайту дополнительных баллов.

P.S. Хочется отметить одну вещь, что кэширование, к сожалению, не распространяется на внешние ресурсы, такие как скрипты Яндекс.Метрики и Google.Analytics

24037 просмотров

Март 21, 2015

alittlebit.ru

Включаем кеш браузера на стороне пользователя

👁5 012 просм.

В этой статье продолжаем рассматривать как можно ускорить загрузку сайта. Ранее мы обсудили Как включить gzip сжатие и ускорить загрузку сайта. Сегодня узнаем как включить кеш браузера на стороне пользователя при помощи файла .htaccess .

Зачем включать кеш браузера на стороне пользователя

Зачастую при создании нового сайта программисты не особо уделяют внимание скорости загрузки сайта браузером. Особенно если на этот пункт не было сконцентрировано внимание в Техническом Задании для разработки сайта. И после выхода нового творения в свет, веб-специалист, который занимается развитием и продвижением данного проекта может наблюдать очень печальную картину, просканировав сайт на скорость загрузки в PageSpeed Insights от Google.

Вот далеко не полный список проблем, с которыми мы можем столкнуться, и которые замедляют скорость загрузки сайта на стороне браузера пользователя:

Включите кеш браузера

И одна из рекомендаций сервиса PageSpeed, как раз необходимость включить кеш браузера.

Некоторые из читателей могут задаться вопросом, а собственно зачем нужно включать этот кеш, и ускорять скорость загрузки сайта? Ведь сайт и так не плохо работает.

А причины для этого как минимум две:

  1. Если сайт долго загружается, то пользователь может не дождаться ваших супер эффектов, задуманных дизайнером для привлечения внимания, а просто закроет ваше творение искусства и попросту перейдет на сайт конкурентов, возможно менее красочный, но более быстрый и отзывчивый. Ведь никто из нас не любит долго ждать. 🙂
  2. Чем дольше скорость загрузки сайта, тем ниже его будут выдавать поисковые системы по ключевым запросам, относительно сайтов ваших конкурентов. А это уже существенная угроза развитию вашего бизнеса.

Как включить кеширование файлов в браузере на стороне пользователя

Если ваш проект разработан на популярной CMS WordPress, то есть множество плагинов, позволяющих решить проблему кеширования. Самые популярные из них W3 Total Cache, WP Super Cache, Hyper Cache. Но в этой статье я предлагаю рассмотреть более надежный, по моему мнению, способ включения кеширования через файл .htaccess непосредственно  на хостинге.

Обратите внимание, что предлагаемые методы будут работать только в том случае, если на сервере вашего хостинг-провайдера установлено ПО Apache.

Перед выполнением любых изменений в файле .htaccess обязательно сделайте его резервную копию себе на компьютер, для того чтоб можно было его восстановить, если что то пойдет не так.

Для того, чтоб включить кеш браузера на стороне пользователя, достаточно использование какого — то одного из указанных ниже методов. Использование двух методов одновременно не целесообразно и может привести к нарушению работоспособности вашего сайта.

Включение кеширования в браузере на стороне пользователя при помощи модуля mod_headers

Для включения функции кеширования приведенный ниже код надо вставить в файл .htaccess, который расположен в корневом каталоге вашего сайта. Во избежание появления ошибок, вставлять код нужно перед строчкой # END WordPress:

# Включение кеша в браузерах посетителей сайта <ifModule mod_headers.c> # Все html и htm файлы будут храниться в кеше браузера 12 часов <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=43200" </FilesMatch> # Все css, javascript и текстовые файлы будут храниться в кеше браузера 7 дней <FilesMatch "\.(js|css|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> # Все флеш файлы и изображения будут храниться в кеше браузера 31 день <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # Отключаем кеширование php и других служебных файлов <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

# Включение кеша в браузерах посетителей сайта

<ifModule mod_headers.c>

    # Все html и htm файлы будут храниться в кеше браузера 12 часов

    <FilesMatch "\.(html|htm)$">

        Header set Cache-Control "max-age=43200"

    </FilesMatch>

    # Все css, javascript и текстовые файлы будут храниться в кеше браузера 7 дней

    <FilesMatch "\.(js|css|txt)$">

        Header set Cache-Control "max-age=604800"

    </FilesMatch>

    # Все флеш файлы и изображения будут храниться в кеше браузера 31 день

    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">

        Header set Cache-Control "max-age=2592000"

    </FilesMatch>

    # Отключаем кеширование php и других служебных файлов

    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">

        Header unset Cache-Control

    </FilesMatch>

</IfModule>

Что означаю те, либо иные дерективы я описывать не буду. Более подробно с их значениями можно ознакомиться на сайте с официальной документацией по Apache.

Включение кеширования в браузере на стороне пользователя при помощи модуля mod_expires

Для включения кеширования в браузере на стороне пользователя при помощи модуля mod_expires прописываем в файле .htaccess следующий код:

<ifModule mod_expires.c> ExpiresActive On #по умолчанию кеш в 30 секунд ExpiresDefault "access plus 30 seconds" # Включаем кеширование изображений и флеш на 1 месяц ExpiresByType image/x-icon "access plus 1 month" ExpiresByType image/jpeg "access plus 4 weeks" ExpiresByType image/png "access plus 30 days" ExpiresByType image/gif "access plus 43829 minutes" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" # Включаем кеширование css, javascript и текстовых файлов на 7 дней ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 604800 seconds" ExpiresByType application/javascript "access plus 604800 seconds" ExpiresByType application/x-javascript "access plus 604800 seconds" # Включаем кеширование html и htm файлов на 12 часов ExpiresByType text/html "access plus 43200 seconds" # Включаем кеширование xml файлов на 10 минут ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<ifModule mod_expires.c>

    ExpiresActive On

    #по умолчанию кеш в 30 секунд

    ExpiresDefault "access plus 30 seconds"

    # Включаем кеширование изображений и флеш на 1 месяц

    ExpiresByType image/x-icon "access plus 1 month"

    ExpiresByType image/jpeg "access plus 4 weeks"

    ExpiresByType image/png "access plus 30 days"

    ExpiresByType image/gif "access plus 43829 minutes"

    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"

    # Включаем кеширование css, javascript и текстовых файлов на 7 дней

    ExpiresByType text/css "access plus 604800 seconds"

    ExpiresByType text/javascript "access plus 604800 seconds"

    ExpiresByType application/javascript "access plus 604800 seconds"

    ExpiresByType application/x-javascript "access plus 604800 seconds"

    # Включаем кеширование html и htm файлов на 12 часов

    ExpiresByType text/html "access plus 43200 seconds"

    # Включаем кеширование xml файлов на 10 минут

    ExpiresByType application/xhtml+xml "access plus 600 seconds"

</ifModule>

В данном коде вы можете заменить значения month, weeks, days, minutes, seconds на свои, если это будет необходимо, и вы посчитаете нужным увеличить или уменьшить время жизни кеша.

Заключение

При помощи выше описанных методов вы сможете включить кеширование данных на стороне пользователя и тем самым уменьшить скорость загрузки сайта. Что положительно повлияет на лояльность посетителей к вашему сайту и благоприятно скажется на SEO вашего сайта.

Однако нужно помнить, что поисковая оптимизация сайта, это комплекс различных мер по улучшению отзывчивости сайта требованиям поисковых систем и повышению качества сайта и расположенного на нем контента для большего удобства его потребления конечным пользователем. Поэтому лишь одним включением кеша не обойтись 🙂

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

Расскажите, была ли полезной для вас эта статья?

web-specialist.info

включить кэш браузера, включить сжатие

Гугл плохого не посоветует. Я тут недавно прочитал, что с помощью утилиты PageSpeed Insights от Google можно не только оценить скорость загрузки вашего сайта, но и получить конкретные рекомендации по устранению недостатков.Проверим это на практике — запускаем тест от Google:

PageSpeed Insights рекомендации

    Вбиваем URL нашего сайта и видим не только количество набранных баллов, но и рекомендации по увеличению скорости загрузки:
  • включить кэш браузера;
  • включить сжатие.

 

Делаем резервную копию файла .htaccess для WordPress и прописываем в него следующие строки:

  • для использования кэша браузера:
# Включаем кэш в браузерах посетителей <ifModule mod_headers.c> # Все html и htm файлы будут храниться в кэше браузера один день <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=43200" </FilesMatch> # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю <FilesMatch "\.(js|css|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> # Все флэш файлы и изображения будут храниться в кэше браузера один месяц <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # Отключаем кеширование php и других служебных файлов <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>

# Включаем кэш в браузерах посетителей <ifModule mod_headers.c> # Все html и htm файлы будут храниться в кэше браузера один день <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=43200" </FilesMatch> # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю <FilesMatch "\.(js|css|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> # Все флэш файлы и изображения будут храниться в кэше браузера один месяц <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # Отключаем кеширование php и других служебных файлов <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>

  • для включения сжатия:
# сжатие text, html, javascript, css, xml: <ifModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript </ifModule>

# сжатие text, html, javascript, css, xml: <ifModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript </ifModule>

Результат настройки htaccessВ результате имеем:  Буквально за несколько минут мы подняли рейтинг нашего сайта в глазах Google на 10 баллов.

P.S. У меня несколько хостингов и везде данный прием работал. Но попробовав на beget.ru я не увидел увеличения скорости загрузки (и прирост баллов).

Пичалька скажете вы, а вот и нет — хостинг Бегет решает данные проблемы на стороне сервера (то есть на своей стороне) и вам нет необходимости править файл .htaccess. Так что я могу со спокойной душой рекомендовать недорогой хостинг beget.ru для ваших сайтов.

Кстати, все его сервера, даже начального уровня, работают на SSD-дисках.

Удачи вам и профита.

siteask.ru

Использовать кэш браузера в настройках htaccess

Для ускорения работы сайта (точнее, для увеличения скорости загрузки страниц), русский тракторист продолжает настройку файла htaccess.

Использует ли сайт кэш браузера посетителей?

денежный трактор

Использует сайт кэш браузера читателей, или нет, можно узнать разными способами.

Самый лучший способ ускорить работу сайта, это узнать, а что собственно загружается при его работе и сколько времени занимает загрузка того или иного объекта?

Для этого нужно установить браузер Firefox. И дополнения к нему, Firebug и Page Speed. Теперь при загрузке сайта, вы будете видеть полную картину, файлы, их размер и время загрузки. Сразу после проверки, Page Speed выдаст рекомендации по увеличению скорости загрузки сайта.

Очень часто, главной причиной медленной загрузки сайта, является неиспользование кэша браузера посетителей. И при загрузке каждой страницы, читатель тратит время, пока его браузер снова и снова подгружает одни и те же картинки оформления сайта, те же самые скрипты.

Включив использование кэша браузера клиента, вы моментально увеличите скорость загрузки страниц у людей, пришедших на ваш сайт вторично (не забываем проверить, включен ли gzip на сервере у хостинга).

Самый простой способ узнать, включен ли у вас в файле htaccess (именно htaccess отвечает за команду использования кэша браузера компьютера, пришедшего на сайт), "кэш браузера посетителя" или нет, это онлайн сервис gtmetrix.com.

Пишем название сайта и через пять секунд получаете полную картину. Первая же строка "Leverage browser caching", показывает красным или зеленым цветом, включен кэш браузера в htaccess или нет.

Использовать кэш браузера в настройках htaccess

Чтобы использовать кэш браузера посетителей вашего сайта, нужно написать соответствующий код в файл htaccess.

Вариантов включения кэша браузера клиента, несколько. Подбираем тот, который заработает именно с вашим сайтом.

# кеширование в браузере на стороне пользователя<IfModule mod_expires.c>ExpiresActive OnExpiresDefault "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># Cache-Control<ifModule mod_headers.c># 30 дней<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">Header set Cache-Control "max-age=2592000, public"</filesMatch>

# 30 дней<filesMatch "\.(css|js)$">Header set Cache-Control "max-age=2592000, public"</filesMatch>

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

# 1 день<filesMatch "\.(html|htm|php)$">Header set Cache-Control "max-age=172800, private, must-revalidate"</filesMatch></ifModule>

Второй способ включить кэш браузера компьютеров посетителей. 

# использование кеша браузеровFileETag MTime Size<ifmodule mod_expires.c><filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">ExpiresActive onExpiresDefault "access plus 1 year"</filesmatch></ifmodule>#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE<IfModule mod_setenvif.c>BrowserMatch "MSIE" force-no-varyBrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary</IfModule>

 

Помимо подключения кэша браузера, полезно включить gzip в файле htaccess. И уже тогда, когда используя все секреты настройки Joomla, вы ускорите свой сайт, будет самое время начать зарабатывать на своем сайте.

  • < Оптимизировать фото для сайта
  • Якорь ссылка html >

rtr24.ru

Как включить кэширование браузером страниц сайта?

img class=»aligncenter wp-image-2458 size-full» title=»Как включить кэширование браузером страниц сайта» src=»/wp-content/uploads/2014/07/Как-включить-кэширование-браузером-страниц-сайта.jpg» alt=»Как включить кэширование браузером страниц сайта» width=»600″ height=»450″>

Как на сайте включить использование кэша браузера конечного пользователя?

Если Ваш сервер дает знать браузеру конечного пользователя что некоторые ресурсы можно сохранить в кэше, то повторный запрос к тем же ресурсам получит ответ не от удаленного сервера, а от локального компьютера. В плюсе от этого окажутся обе стороны. Так, сервер снимет с себя некоторую часть нагрузки, так как ему не придется высылать определенные ресурсы, которые уже имеются на компьютере пользователя. А вот пользователь получит более быстрый доступ к запрашиваемым ресурсам.

Как включить кэширование браузером ресурсов сайта на сервере Apache?

Для начала разберемся, какие ресурсы браузер должен кэшировать. Напомню, что если браузер запихнет в кэш некоторые ресурсы, то он может не обновлять их довольно долгое время. Такая ситуация вполне подходит для статических объектов. А какие ресурсы можно отнести к статическим объектам?

  1. CSS файлы.
  2. JS файлы.
  3. Изображения.
  4. Видео.
  5. Музыка.

Приведенные, а так же некоторые другие ресурсы могут быть без вреда закэшированы на продолжительное время. Они же не будут обновляться каждый день. Исходя из этого, я приведу Вам код, который обяжет браузер пользователя кэшировать перечисленные ресурсы. Дополнительно мы укажем срок, на протяжении которого можно хранить эти ресурсы в кэше, не запрашивая обновления.

<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>

Данный код необходимо внести в файл .htaccess, который лежит в корневой папке сайта, сервером для которого служит Apache. После этого браузер будет кэшировать все вышеперечисленные объекты на перечисленный срок. А это значит, что если в течении года(как указано в примере) посетить тот же сайт, то Вы получите многие файлы из своего компьютера, если, конечно же, Вы не почистили за это время кэш компьютера.

Так же приведенные выше статические файлы лучше всего статически сжимать, благодаря чему пользователи будут получать уже заархивированные скрипты и стили, на что не тратится серверное врем. Плюс к этому, лучше всего сжимать JavaScript и сжимать CSS файлы, чтобы уменьшить их объем.

about-windows.ru

Включить кэш браузера в Wordpress

кэш браузера

Для владельцев сайтов у Google есть замечательный инструмент под названием PageSpeed Insights. При помощи данного сервиса можно оценить скорость загрузки страниц сайта как на мобильном устройстве, так и на компьютере. По результатам тестирования сервис выдает рекомендации по ускорению страниц, среди них включение кэша браузера, сжатие картинок, сжатие CSS и прочие. Использование кэша браузера позволяет в течение заданного времени скачивать просмотренную страницу напрямую с диска устройства, с которого ведется просмотр.

Существуют специальные плагины в WordPress , которые обеспечивают действительный прирост скорости просмотра страниц сайта. Так вот простая настройка плагина WP Fastest Cache не убедила Google, что сайт стал загружаться намного быстрее (хотя это было так). Кстати, галочка «Включить кэш браузера» в данном плагине для гугла не сработала, а только привела к еще большему замедлению загрузки сайта .  Итак, что делать, если это не работает? Нужно включить необходимую нам опцию в самом Apache.

Один из вариантов управления кэшем помимо плагинов для блога — это подстановка специальных HTTP-заголовков в ответ сервера. Среди них широко используются Expires и Cache-Control. Современнее последний, он заменяет собой заголовки первого, смыла использовать их вместе нет.

Чтобы включить в Apache подстановку нужного нам заголовка Cache-Control, мы должны убедиться, что нужный модуль был загружен в веб-сервер. Открываем консоль Linux и пишем такую команду:

Ниже появится список загруженных модулей. Если среди них есть такой

, то следующую команду выполнять не нужно. Если такого нет, что пишем следующую команду и выполняем ее:

Если работа ведется под root, первое слово sudo не нужно. Если при этом пишется ошибка вида

YourLogin is not in the sudoers file. This incident will be reported

YourLogin is not in the sudoers file. This incident will be reported

 

, то проще всего написать su, нажать Enter, ввести пароль суперпользователя, набрать visudo и после строки «root ALL=(ALL) ALL» написать «YourLogin ALL=(ALL) ALL».

Если Вы не являетесь администратором системы, то милости просим к Вашему сисадмину с пивом

кэш браузера пиво

или пишите в техническую поддержку хостинга про полезность пива.

Когда модуль подключен, необходимо перезагрузить апач:

sudo service apache2 restart

sudo service apache2 restart

После этого необходимо отредактировать файл .htaccess. Я публикую простейшую конфигурацию.

<ifModule mod_headers.c> # Все html и htm файлы будут храниться в кэше браузера одну минуту <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=60" </FilesMatch> # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю <FilesMatch "\.(js|css|txt)$"> Header set Cache-Control "max-age=604800" </FilesMatch> # Все флэш файлы и изображения будут храниться в кэше браузера один месяц <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$"> Header set Cache-Control "max-age=2592000" </FilesMatch> # Отключаем кеширование php и других служебных файлов <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<ifModule mod_headers.c>

    # Все html и htm файлы будут храниться в кэше браузера одну минуту

    <FilesMatch "\.(html|htm)$">

        Header set Cache-Control "max-age=60"

    </FilesMatch>

    # Все css, javascript и текстовые файлы будут храниться в кэше браузера одну неделю

    <FilesMatch "\.(js|css|txt)$">

        Header set Cache-Control "max-age=604800"

    </FilesMatch>

    # Все флэш файлы и изображения будут храниться в кэше браузера один месяц

    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">

        Header set Cache-Control "max-age=2592000"

    </FilesMatch>

    # Отключаем кеширование php и других служебных файлов

    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">

        Header unset Cache-Control

    </FilesMatch>

</IfModule>

В параметр max-age пишется период, заданный в секундах. Данные секунды начинают отсчитываться от того времени, как клиент закэшировал страницу. Необходимо уделить особое внимание правильности выставленного на сервере времени. Это далеко не единственный параметр, который позволяет тонко настроить Control-Cache. Ниже приведены остальные параметры:

  • public — страницу или другой ресурс может кэшировать не только клиентское ПО, но и любые прокси. Также данная директива позволяет кэшировать все, включая ответ аутентификации. Использовать редко и осторожно
  • private — кеширование ресурса только на клиентском ПО, но не на промежуточных узлах
  • no-cache — каждый раз отдаем ответ с сервера. В принципе это не отменяет сам факт кэширования информации
  • no-store — запрет на само кеширование . Необходимо для конфиденциальной информации.
  • must-revalidate — клиент обязательно отправляет на сервер запрос об актуальности контента. Если он актуален, то берется из кэша, если нет — с сервера
  • proxy-revalidate — то же самое, что описано выше, но это должны делать кэширующие прокси

После этого сохраняем .htaccess и еще раз запускаем тест PageSpeed Insights, убеждаемся, что заветное число «Скорость» заметно подросло  .

Подпишитесь на обновления блога!

Благодарю! Вы успешно подписались на новые материалы блога!

Вас ждут следующие статьи:

noservice.ru


 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..