|
|||||||||||||||||||||||||||||||||||||||||||||
|
Как ускорить загрузку сайта: Часть 6 — кэшированние страниц. Wordpress кэш браузеравключить кэш браузера, включить сжатиеГугл плохого не посоветует. Я тут недавно прочитал, что с помощью утилиты PageSpeed Insights от Google можно не только оценить скорость загрузки вашего сайта, но и получить конкретные рекомендации по устранению недостатков.Проверим это на практике — запускаем тест от Google:
Делаем резервную копию файла .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>
# сжатие 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> P.S. У меня несколько хостингов и везде данный прием работал. Но попробовав на beget.ru я не увидел увеличения скорости загрузки (и прирост баллов). Пичалька скажете вы, а вот и нет — хостинг Бегет решает данные проблемы на стороне сервера (то есть на своей стороне) и вам нет необходимости править файл .htaccess. Так что я могу со спокойной душой рекомендовать недорогой хостинг beget.ru для ваших сайтов.Кстати, все его сервера, даже начального уровня, работают на SSD-дисках. Удачи вам и профита. siteask.ru WordPress Super Cache - используем кеш браузера для ускорения сайта.Зачем использовать кэш браузера?Кэширование важно для оптимизации веб-сайта, созданного на WordPress, поскольку оно увеличивает скорость загрузки страниц. Посетителям сайта не понравится его долгая загрузка, в результате чего они могут просто покинуть ваш сайт, не дождавшись информации, тем самым увеличивая количество отказов. Такие поведенческие параметры плохо отражаются на ранжировании сайта поисковыми системами, которые понижают его позиции в поисковой выдаче. Чтобы этого не произошло, подключите плагин WordPress Super Cache, который автоматически выполнит работу по кэшированию страниц. Описание и возможности плагинаКэш представляет собой временное хранилище для содержимого веб-страницы. Вместо того чтобы загружать данные страниц (например, изображения) с сервера при повторном посещении сайта, они будут подгружаться в браузер из кэша, что существенно ускорит загрузку сайта. Эффективным инструментом для кэширования под WordPress является специальный плагин WordPress Super Cache. Плагин генерирует статические страницы сайта и сохраняет их кэшированные версии на сервере. После этого сервер вашего хостинг-провайдера будет «отдавать» посетителям статические файлы вместо того, чтобы каждый раз обращаться к базе данных для получения элементов страниц. Что еще умеет делать WordPress Super Cache плагин:
Виртуальный хостинг сайтов для популярных CMS:Установка плагина WP Super CacheПлагин можно найти в репозитории WordPress. Для этого войдите в админ-панель под своим логином и паролем.
Даже после активации плагин WP Super Cache по умолчанию отключен, поэтому вверху экрана вы увидите соответствующее предупреждение. Чтобы его включить перейдите по предложенной ссылке на страницу управления плагином либо выберите команду «Настройки», которая расположена сразу под названием плагина. На странице с настройками вы можете увидеть еще одно уведомление об изменении файла wp-config.php, после обновления страницы оно исчезнет. Чтобы заставить плагин работать:
Если плагин подключен верно, вы увидите оповещение, выделенное зеленым цветом. Плагин дважды обращается к сайту и сравнивает временные метки обеих копий. Если они совпадают, значит для сайта активировано кэширование. В противном случае сообщение выводится красным цветом и необходимо будет искать причину неполадки. Настройки плагина WordPress Super Cache - как включить и настроить кешированиеWP Super Cache представляет собой мощный плагин с большим количеством опций, многие из которых дополнительно могут улучшить производительность сайта. В панели расширенных настроек плагина предоставляется возможность гибкого управления параметрами кэширования веб-страниц. Убедитесь, что кэширование включено, и выберите один из трех режимов обслуживания кэша:
Следующие параметры требуют настройки в разделе «Разное».
В разделе «Расширенные» приведены настройки для продвинутых пользователей. Как правило, для обычных сайтов можно оставить их выключенными.
Ниже опций приводится адрес расположения кэша и персональный ключ на случай, если требуется посмотреть страницу, не кэшируя и без предварительной очистки кэша. Если вы выбрали способ кэширования страниц методом mod-rewrite, плагин запросит обновление прав на запись. Для этого прокрутите страницу вниз до кнопки «Обновить правила Mod-Rewrite» и нажмите ее. Затем установите время и период, в течение которого кэшированные данные на сервере будут действительны. Начните со значения 3600 секунд (1 час). Если на вашем сайте большое количество статей, возможно, понадобится задать большее время вплоть до нескольких суток, после чего кэш будет считаться устаревшим. Там же можно запланировать очистку кэша по расписанию, настраивая таймер и интервал обновления. Для неменяющихся сайтов сборку мусора можно отменить совсем, устанавливая значение таймаута, равное нулю. Вы можете запретить кэширование определенной информации на сайте (например, раздел с постоянно обновляющейся информацией), установив флажок в нужном разделе «Допустимые имена и Запрещенные адреса» или вручную дописать адреса страниц. Очистите список поисковых ботов, если хотите, чтобы они получали информацию из кэша и не нагружали сервер при сканировании сайта. Для высоконагруженных сайтов с посещаемостью более тысячи уникальных визитов в сутки рекомендуется включить закрытый режим. В этом случае обновление кэша будет отменено. На вкладке «Настройка CDN» подключается платный сервис для эффективного распределения информации при выдаче из кэша. Вкладка «Состояние кэша» покажет, какие страницы кэшируются, их можно вручную удалять из списка. Перейдите на вкладку «Общий кэш», чтобы настроить параметры режима предварительной загрузки. Для чего может понадобиться использовать полностью статический контент?
При выборе функции «Создать общий кэш сейчас» дайте время плагину сформировать кэш в автоматическом режиме. За процессом можно наблюдать, переключившись на вкладку «Состояние кэша». Вкладка «Плагины» понадобится, только если вы собираетесь подключить другие плагины, не влияющие на кэширование файлов. Имейте в виду, некоторые из них работают только в режиме PHP-кэширования. Для специалистов на вкладке «Обслуживание» включается режим отладки и опция сохранения логов. Использование кеша браузера, как почистить кеш ВордПрессЧерез некоторое время работы плагина WP Super Cache вы заметите формирование кэша для сайта. Правильная настройка плагина значительно улучшит время загрузки сайта. Кэшированные страницы хранятся в виде HTML или PHP файлов на сервере вашего хостинга. Обычно сервер знает, какие страницы были обновлены, и выдает пользователю свежую версию. Однако, если возникают проблемы с отображением обновленной информации, можно вручную очистить кэш. Удалите кэшированные страницы с сервера, используя команду на панели управления «Удалить весь кэш» или нажав на такую же кнопку в настройках плагина. Когда пользователь в первый раз заходит на сайт, его браузер обращается к удаленному серверу, на котором этот сайт размещен. Запрос браузера и ответ сервера занимают время, учитывая, что подзагрузка элементов сайта (картинок, стилей, скриптов) происходит последовательно один за другим. Если страница содержит большое число элементов или они велики по размеру, их загрузка может оказаться продолжительной. Тем не менее браузер пользователя умеет кэшировать повторяющиеся элементы. Это ускоряет загрузку сайта, поскольку доступ к файлам с жесткого диска всегда быстрее, чем извлечение данных с удаленного сервера. Аналогично функция очистки кэша присутствует в каждом браузере. Если вы не видите изменений на сайте, который должен обновляться, очистите кэш, используя панель управления настройками браузера, или просмотрите страницу в приватном режиме просмотра (при этом режиме не используются сохраненные элементы, напр. пароли, и кеш). www.ipipe.ru Разгоняем WordPress с помощью PageSpeed. | ДелитантПродолжая тему уменьшения времени загрузки страниц блога (сайта), оптимизирую свой WordPress-блог. Помогает в этом нужном деле сервис PageSpeed, анализирующий сайт, и выдающий общие рекомендации по оптимизации его времени загрузки. Пользоваться PageSpeed можно, как отдельно (среди инструментов Google), так и в виде удобного расширения для браузеров Google Chrome или Firefox (скачать здесь). Тема оптимизации WordPress по рекомендациям PageSpeed достаточно объёмна, поэтому будет изложена мной в серии статей. Сегодня первая часть. Первым делом проанализируем сегодняшнее состояние блога, до начала оптимизации. Для этого укажем его URL на странице PageSpeed или воспользуемся плагином. Принцип работы с PageSpeed – разогнать сайт до 100 возможных единиц из 100. На начало работы мой блог показывает:
Рекомендации системы по оптимизации, в зависимости от важности, отличаются цветом. Высокий приоритет – максимальный результат, при минимальных усилиях. Средний приоритет – незначительный выигрыш во времени, при значительно больших усилиях. Низкий приоритет – незначительный результат, стоит заниматься, только выполнив более приоритетные задачи. Рекомендации PageSpeed для оптимизации времени загрузки блога:
Давайте разбираться и устранять недостатки по-порядку. 1. Используйте кэш браузера. Кэш браузера — это копии веб-страниц, уже просмотренных пользователем. При попытке повторного просмотра этих страниц браузер (или прокси-сервер) уже не будет запрашивать их с веб-сервера, а извлечет из кэша. Применение кэша снижает нагрузку на сеть и повышает скорость загрузки страниц. Другими словами, если пользователь заходит на Ваш сайт повторно (возвращается) то определённые файлы уже не загружаются с сервера, а вставляются в страницу с его (пользователя) компьютера. Важность такой оптимизации выглядит сомнительно, так как (по крайней мере на моём блоге) процент повторных заходов совсем не большой. Но раз требует, удовлетворим. Вот такой код, добавленный в файл .htaccess позволил использовать кэш браузера практически на 100%. # кеширование в браузере на стороне пользователя<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># 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> 2. Включите сжатие. Gzip-сжатие — это технология сжатия страниц сервера во время запроса, отсылка в сжатом состоянии, а потом распаковка браузером, которая позволяет сжимать страницы приблизительно в 3-4 раза (хотя возможно и больше если на странице много текстовой информации) и вследствие чего экономит трафик и ускоряет загрузку страниц. Чтобы включит gzip-сжатие для WordPress нужно открыть файл index.php из корневого каталога и между строчками и /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. вставить: Мой файл index.php после внесенных изменений: <?phpob_start("ob_gzhandler");/** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress *//** * Tells WordPress to load the WordPress theme and output it. * * @var bool */define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */require('./wp-blog-header.php'); Эффективность gzip-сжатия страниц сайта наглядно демонстрирует сервис GIDZipTest. Размер страницы уменьшился с 30 до 9 Кбайт. 3. Встройте небольшие CSS. Обычно в каждой теме WordPress существует один файл style.css. Но после различных изменений, в том числе и установки некоторых плагинов, могут появится еще файл .css добавляющие определённые свойства. Смысл в том, чтобы скопировать содержимое дополнительных файлов .css в основной, а их “отключить” (не загружать). Например, в моей теме подключается дополнительный файл стилей widgets.css. Я копирую содержимое файла в style.css, а в шаблоне “шапки темы” (header.php) удаляю строчку <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/widgets.css" type="text/css" media="screen" /> Сложнее, если файл .css подключен через плагин (придётся редактировать файлы плагина), но сделать это можно всегда. На этом заканчиваю первую часть серии статей о “разгоне” WordPress с помощью сервиса PageSpeed. Продолжение следует… GD Star Ratingloading... Разгоняем WordPress с помощью PageSpeed., 4.6 out of 5 based on 33 ratingsБуду благодарен, если поделитесь этой статьей в социальных сетях: Метки: CSS, PageSpeed, Время загрузки страницdelitant.ru ИСПОЛЬЗУЙТЕ КЕШ БРАУЗЕРА УСКОРЕНИЕ САЙТА НА WORDPRESS (ВОРДПРЕСС) ПРАКТИКА — Webteam.studioВсе кто сталкивался с задачей оптимизации сайта на WordPress читали рекомендацию Google Page Insight: Используйте кеш браузераИ все его пытались использовать, и результат был если не маленький то нулевой. В данной статье мы в деталях приведем практический опыт ускорения сайта при правильном формировании .htaccess И так начнем: имеем проект, имеем пожелание Google Использование «кеша» браузера для ускорения скорости загрузки WordpPress Изначально в .htaccess ВордПрес по умолчанию следующий код: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPressДобавляем магические строки: # # Sources: # http://stackoverflow.com/questions/7704624/how-can-i-use-gzip-compression-for-css-and-js-files-on-my-websites # http://codex.wordpress.org/Output_Compression # http://www.perun.net/2009/06/06/wordpress-websites-beschleuinigen-4-ein-zwischenergebnis/#comment-61086 # http://www.smashingmagazine.com/smashing-book-1/performance-optimization-for-websites-part-2-of-2/ # http://gtmetrix.com/configure-entity-tags-etags.html # http://de.slideshare.net/walterebert/die-htaccessrichtignutzenwchh3014 # http://de.slideshare.net/walterebert/mehr-performance-fr-wordpress # <IfModule mod_deflate.c> # Insert filters / compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/vtt AddOutputFilterByType DEFLATE text/x-component AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/js AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/atom+xml AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/ld+json AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-web-app-manifest+json AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon # Exception: Images SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary # Drop problematic browsers BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Make sure proxies don't deliver the wrong content <IfModule mod_headers.c> Header append Vary User-Agent env=!dont-vary </IfModule> </IfModule> ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 week" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType text/html "access plus 1 minute" ExpiresByType text/plain "access plus 1 month" ExpiresByType text/x-component "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType application/javascript "access plus 1 months" ExpiresByType application/x-javascript "access plus 1 months" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" </IfModule> ## EXPIRES CACHING ## #Alternative caching using Apache's "mod_headers", if it's installed. #Caching of common files - ENABLED <IfModule mod_headers.c> <FilesMatch "\.(ico|pdf|flv|swf|js|css|gif|png|jpg|jpeg|txt|html|htm)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> </IfModule> <IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary Accept-Encoding </FilesMatch> </IfModule> <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> # Set Keep Alive Header # This *just* sets the header - maybe your hoster is not allowing this feature # Please check if it is working with tools like http://www.webpagetest.org <IfModule mod_headers.c> Header set Connection keep-alive </IfModule> # If your server don't support ETags deactivate with "None" (and remove header) <IfModule mod_expires.c> <IfModule mod_headers.c> Header unset ETag </IfModule> FileETag None </IfModule>Результат: Пускай еще не Google Green )) но шаг вперед мы сделали. В рекомендации остались только ссылки из сторонних сервисов, то есть приведенное выше решенеи однозначно работает. Источник: https://gist.github.com/Zodiac1978/3145830 Обсуждение: http://stackoverflow.com/questions/7704624/how-can-i-use-gzip-compression-for-css-and-js-files-on-my-websites Следуйте рекомендациями поисковых систем, делайте свои сайты еще лучше!!! webteam.studio Включаем кеш браузера на стороне пользователя👁3 513 просм. В этой статье продолжаем рассматривать как можно ускорить загрузку сайта. Ранее мы обсудили Как включить gzip сжатие и ускорить загрузку сайта. Сегодня узнаем как включить кеш браузера на стороне пользователя при помощи файла .htaccess . Зачем включать кеш браузера на стороне пользователяЗачастую при создании нового сайта программисты не особо уделяют внимание скорости загрузки сайта браузером. Особенно если на этот пункт не было сконцентрировано внимание в Техническом Задании для разработки сайта. И после выхода нового творения в свет, веб-специалист, который занимается развитием и продвижением данного проекта может наблюдать очень печальную картину, просканировав сайт на скорость загрузки в PageSpeed Insights от Google. Вот далеко не полный список проблем, с которыми мы можем столкнуться, и которые замедляют скорость загрузки сайта на стороне браузера пользователя: И одна из рекомендаций сервиса PageSpeed, как раз необходимость включить кеш браузера. Некоторые из читателей могут задаться вопросом, а собственно зачем нужно включать этот кеш, и ускорять скорость загрузки сайта? Ведь сайт и так не плохо работает. А причины для этого как минимум две:
Как включить кеширование файлов в браузере на стороне пользователяЕсли ваш проект разработан на популярной 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>
Что означаю те, либо иные дерективы я описывать не буду. Более подробно с их значениями можно ознакомиться на сайте с официальной документацией по 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>
В данном коде вы можете заменить значения month, weeks, days, minutes, seconds на свои, если это будет необходимо, и вы посчитаете нужным увеличить или уменьшить время жизни кеша. ЗаключениеПри помощи выше описанных методов вы сможете включить кеширование данных на стороне пользователя и тем самым уменьшить скорость загрузки сайта. Что положительно повлияет на лояльность посетителей к вашему сайту и благоприятно скажется на SEO вашего сайта. Однако нужно помнить, что поисковая оптимизация сайта, это комплекс различных мер по улучшению отзывчивости сайта требованиям поисковых систем и повышению качества сайта и расположенного на нем контента для большего удобства его потребления конечным пользователем. Поэтому лишь одним включением кеша не обойтись 🙂 Думаю на просторах интернета вы уже могли столкнуться с похожими на предложенные в этой статье методами включения кеширования на стороне пользователя. Буду благодарен, если в комментариях поделитесь своим опытом в их использовании. Расскажите, была ли полезной для вас эта статья? web-specialist.info Ускорить WordPress | htmlhook.ruОдин из факторов эффективности сайта — это скорость загрузки веб-страниц. С быстро растущим числом пользователей в сети интернет с помощью смартфонов и планшетов, быстрая скорость загрузки веб-страниц становится особенно важным аспектом любого веб-приложения. Оглавление:
В этой статье мы рассмотрим:
Для повышение производительности веб-сайта уходит много времени, нужно будет пробовать и проверять скорость сайта после каждого изменения, но это очень весело! Почему так важна скорость загрузки веб-страницЧитайте также: Google AMP Само собой, впечатление пользователя от скорости работы вашего сайта очень важно. Пользователь подумает: — О_о какой быстрый сайт! — посмотрю-ка Я еще одну страницу Остальное зависит от содержания сайта, возможно пользователь сохранит ссылку и будет посещать Ваш сайт регулярно. Впечатление пользователя это не единственное преимущество. Если Вы разработчик веб-сайтов этим Вы покажите свой опыт работы в создании качественных сайтов. Согласно KISSmetrics 47% запросов ожидают загрузку страницы в течение двух секунд, если дольше, скорее всего будет отказ от запроса. К началуУлучшение рейтинга в поисковых системахВ 2010 году, в документации Google был намёк, что скорость загрузки сайта будет рассматриваться как важный фактор для ранжирования. Сейчас Google предлагает широкий спектр инструментов и средств, предназначенных помочь веб-разработчикам делать сайты быстрыми. Повысить коэффициент конверсииБольшинство веб-сайтов содержат рекламные ссылки что бы было чем оплатить услуги хостинга, домена (на пиво), так вот скорость загрузки сайта на 1% может повысить коэффициент конверсии CTR (кликобельность). Тест скорости сайтаСуществует много бесплатных сервисов и расширений для браузера, что бы узнать скорость работы веб-сайта. Наиболее популярные инструменты для теста скорости сайта: Эти сервисы предоставят Вам список рекомендаций как улучшения скорость сайта. PageSpeed Insights предоставляет значение для мобильного использования. Значение для мобильного использованияТак выглядит значение для настольного компьютера. Значение для настольного компьютераК началуПроблемы с производительностью в WordPressПосле теста сайта Вы можете попробовать исправить проблемы. Отключите или включите плагины, скрипты, виджеты, пробуйте другую тему что бы выполнить как можно больше правил. Используйте специальные инструменты для анализа плагинов WordPress. P3 — это невероятно удобный плагин WordPress, который предоставляет детальную информацию о времени загрузки плагинов. Это очень простой способ диагностики потенциальных проблем. Детальная информация о времени загрузки плагиновЯ раньше не знал что для загрузки плагина All In One Seo Pack требуется 0.0412 секунд, еще одна причина избавится от него. К началуФакторы влияющие на производительность WordPressСписок факторов влияющие на производительность WordPress не маленький, в него входит DNS, хостинг, ресурсы сервера и конфигурации, а также темы, плагины и даже содержимое. Специализированный хостинг для WordPressКогда дело доходит до хостинга, дешевле не всегда лучше. Если вы серьезно относитесь к производительности вашего веб-сайта, убедитесь, что Вы правильно выбрали хостинг-провайдера. WordPress — это не самая большая CMS, но, от хостинга требования есть. Я всем рекомендую хостинг Ukraine — это не реклама, смотрите сами. На снимке полный список настроек оптимизации сайта. Список настроек для оптимизации сайтаНастройки оптимизации сайта абсолютно бесплатны! К началуВыбор темы для сайта WordPressВыбор темы играет самую важную роль в скорости вашего сайта WordPress. Хорошая тема для WordPress подразумевается не в том смысле как она выглядит, а в том, как хорошо она была построена и насколько хорошо она соответствует стандартам WordPress. Тема WordPress с большой функциональностью также является важным фактором, так как это уменьшит необходимость в дополнительных плагинах. Но. темы с большой функциональностью как правило платные их стоимость превышает 70 долларов США. Бесплатные темы для WordPress по адресу http://wordpress.org/themes/ К началуКоличество плагиновКоличество дополнительных плагинов для вашего сайта WordPress изначально зависит от установленной темы. Чем меньше установленных плагинов в системе WordPress тем лучше. Потому что почти каждый плагин имеет свою таблицу CSS и файлы JavaScript. Это всё дополнительные http-запросы и байты, которые прямым образом влияют на скорость загрузки веб-страниц. Держать сайт в чистотеДля повышения общей производительности сайта нужно всегда выполнять обновления и исправить все неработающие ссылки. Кроме того, очень важно регулярно отслеживать логи ошибок вашего сервера. Комментарий trackback/pingback — это обычный спам, это одна из SEO тактик. Боты на веб-сайт добавляют внешние ссылки в пользу SEO. Ваш сайт будет постоянно посещаться ботами, используя ресурсы вашего сервера. Это не редкость, есть сайты которые стали жертвами спама в комментариях до тысячи ссылок в одну строку. Можно отключить комментарии, если Вы не нуждаетесь в них используйте плагин Akismet (по умолчанию в WP) или другую службу, которая помогает запретить спам. Если ваш сайт уже занял первое место по спаму в комментариях, есть несколько плагинов, которые могут помочь вам стать на верный путь, а именно: К началуСократить и объеденить JavaScript и CSSJavaScript, CSS и web-font делают наши сайты красивыми и более удобными для просмотра, но, они же и влияют на скорость загрузки веб-страницы. Из HTTP архива средний размер передачи всех ответов, с июня 2013 по июнь 2014 года увеличилось, в то время как количество запросов осталась без изменений. Сокращение HTML, JavaScript и CSS — уменьшает размер файлов, которые должны быть загружены, это процесс очистки пробелов из этих файлов. Сжатие кода JavaScript позволяет сократить объем данных, чтобы ускорить загрузку, обработку и выполнение. Способы сжатия файлов HTML, JavaScript и CSS подробно описаны на странице Сжатие HTML, JavaScript и CSS Файлы могут также быть объединены, уменьшая число запросов во время загрузки страницы. Результат: более быстрое время загрузки. Вот способы сократить и объединить файлы в WordPress: К началуОптимизировать изображенияИзображения загружаются дольше всего поэтому их нужно оптимизировать где только возможно на страницах сайта. Есть несколько удобных плагинов, которые сжимают как существующие, так и новые изображения в вашей библиотеке файлов: Большинство плагинов сжатия работают с файлами только в библиотеке файлов. Поэтому убедитесь что за пределами библиотеки, файлы сжаты вручную. Если вы используете много мелких изображений для оформления сайта, уменьшить запросы можно с помощью спрайтов или веб-шрифтов. К началуИспользовать кэш браузераХорошо что изображения и файлы JavaScript, CSS можно добавить в кэш браузера. Использовать кэш браузера для изображения, JavaScript и CSS можно с помощью простого кода, его достаточно добавить в файл .htaccess. .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> # 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 on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule> #Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE <IfModule mod_setenvif.c> BrowserMatch "MSIE" force-no-vary BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary </IfModule>Плагины кэширования для WordPress генерируют статические HTML файлы, без повторного обращения к базе данных. Кэширование также помогает сайту обрабатывать большой объем трафика. Есть много плагинов для кеширования в браузере на стороне пользователя, наиболее популярными из них: Вы можете смоделировать нагрузку и измерять эффективность вашего сайта, используя инструменты: Простой тест, с помощью ab сделает 100 запросов (5 одновременных подключений) будет выглядеть так: $ ab-n 100-c 5 http://example.ru/ К началуОтображение контентаЕсли у вашего сайта большое количество посещаемости и Вам нужно увеличить скорость работы веб-сайта, отображение контента (CDN) может решить эту задачу. CDN теперь стали вполне доступными и приносят дополнительную прибыль, если конечно у Вас большая аудитория. Популярные CDN: В настройках WordPress использовать CDN весьма просто, в плагине кэширования будет раздел где Вы вводите данные своей учетной записи. К началуЗаключениеВ этой статье мы рассмотрели много факторов, которые влияют на производительность сайта. Настройка производительности — это постоянный процесс мониторинга и совершенствования. Подводим итоги:
Если вы ищете более подробную информацию о производительности веб-приложений, смотрите Web Performance Optimization и официальная страница WordPress Codex. htmlhook.ru Ускоряем сайт на Wordpress: кэшированние страницПродолжение.Начало поста Ускоряем сайт на WordPress читайте на этой странице. 13. Не происходит кэширования в браузерах пользователей:Как происходит ускорение загрузки сайта при помощи кэширования в браузерах?Все страницы одного сайта содержат похожие элементы, (шапка, сайтбар, фоновые картинки, футер).Когда пользователь переходит на новую страницу, его браузер повторно загружает одни и те же элементы и на этот процесс уходит время. Если браузеры посетителей будут сохранять у себя в памяти эти повторявшиеся элементы (кешировать), то загрузка сайта будет происходить намного быстрее.При кэшировании браузером, ускорение загрузки сайта происходит только при повторном его посещении. То есть при первом посещении в браузере пользователей происходит кэширование, а при повторном посещении загрузка основных элементов будет происходить не с сервера, а из кеша браузера.Чтобы в браузерах посетителей происходило кэширование, нужно указать Web серверу, на котором хостится ваш сайт, чтобы он отдавал браузерам команды кешировать статические элементы сайта.Сделать это мы можем при помощи инструмента удаленного управления Web сервером - файла .htaccess.(Если вы не знаете, где находится файл .htaccess, прочитайте статью сначала).Откройте файл .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> # 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 on ExpiresDefault “access plus 1 year” </filesmatch> </ifmodule> #Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE <ifModule mod_setenvif.c> BrowserMatch “MSIE” force-no-vary BrowserMatch “Mozilla/4.[0-9]{2}” force-no-vary </ifModule> Код состоит из нескольких частей, каждая из которых работает с разными модулями сервера Apache, а последний вариант предназначен исключительно для браузера IE.В любом из приведенных вариантов кода предусмотрена проверка на доступность нужного модуля на web сервере вашего хостинга и, только в случае его обнаружения, будет выполняться код. Т.е. никаких ошибок этот способ увеличения скорости загрузки сайта в работу вашего сайта вносить не должен. Примечание: описанный способ будет работать только на Web серверах под управлением Apache, но это, как правило, 99 всех Web серверов.После того, как вы внесли изменения в файл .htaccess и сохранили их, еще раз откройте в FireFox страницу вашего сайта и обновите данные, собранные Page Speed, нажав на кнопку «Refresh Analysis»Красный маркер возле пункта "Используйте кэш браузера" должен смениться зеленой птичкой.Если изменений в Page Speed не произощло, напишите вашему хостеру.Возможно на вашем сервере статические обьекты кешируются по умолчанию, а Page Speed по какой то причине этого не видит.В любом случае этот вопрос лучше обсудить с хостером.Продолжение поста Ускоряем сайт на WordPress читайте дальше. prodengiblog.ru |
|
|||||||||||||||||||||||||||||||||||||||||||
|
|