Оптимизация WordPress: Скорость загрузки сайта
Опубликовано: 01.09.2018
Ранжирование сайта выполняется по многим факторам одним из них входит скорость загрузки сайта. Это важный аспект в оптимизации WordPress он также влияет на выдачу результатов поиска. По сведениям, Google очень требователен вскорости загрузки и даже в алгоритм был включен новый критерий: скорость загрузки сайта. Вот почему это так важно, ранее мы уже поднимали эту тему в статье: улучшение загрузки WordPress , а в этой продолжим над ней работу.
Оптимизация скорости сайта на #WordPress. Серия #1. Введение и тестирование
Скорость загрузки сайта важна не только для требований, но и для удобства пользователей. Согласитесь, если сайт грузится значительное долгое время, то вряд ли вы дождетесь его окончания. Таким образом, будете терять целевую аудиторию, и пользователи перестанут посещать ваш ресурс. На оптимизацию скорости WordPress может влиять много разных причин, в том числе и хостинг.
В интернете есть большое количество хостинг-провайдеров, которые предлагают свои услуги по самым низким ценам или наоборот. И очень трудно выбрать оптимальный вариант, но по опыту могу посоветовать один довольно неплохой хостинг. — недорогой и надежный хостинг радует своей работоспособностью и в случае переезда с другого хостинга вам как бонус перенесут сайт бесплатно.
Но даже если у вас не столь удачных хостинг, то все равно можно внести некоторые самые важные параметры для улучшения загрузки сайта WordPress. Мы будем использовать сжатие контента и кэширование браузера. За счет этих действий увеличим скорость примерно от 40% до 70%.
Сервисы для анализа скорости сайта
Для начала пройдемся по сервисам, которые помогут определить скорость вашего сайта.
Первым из них будет инструмент от Google — . Он выводит все возможные недостатки сайта и покажет общею производительность.
Второй — – этот сервис проверяет сжатие через mod_gzip, mod_deflate модуль или любой другой что может дать функцию сжатия.
И последний сервис известен всем, – богат онлайн — инструментами для веб-мастера, но в данном случае нас интересует проверка скорости сайта.
По окончании анализа сайта зафиксируйте все результаты и после внесения наших изменений проверьте повторно сайт.
Gzip сжатие файлов WordPress
В веб-сервере Apache включить gzip сжатие не так уж трудно, а если используется Apache 2.xx, то там gzip сжатие по идее включено. Нам нужно определить какие файлы будут сжиматься обычно это:
• HTML
• CSS • JavaScript • Обычный текст • XMLИ в зависимости какой используется модуль задать определенные настройки.
Для Apache сервера
Откройте файл .htaccess и поместите следующий фрагмент кода:
<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>Для Nginx сервера
Если на вашем веб-сервере используется Nginx, то добавьте этот код в файл .htaccess :
server { gzip on; gzip_types text/html text/css application/x-javascript text/plain text/xml image/x-icon; }Файл header.php
В случае если ваш веб-сервер не поддерживает модули mod_deflate или mod_gzip, то GZIP сжатие можно включить с помощью PHP скрипта поместив в файл header.php следующий код:
<?php if ( substr_count( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) ) { ob_start( "ob_gzhandler" ); } else { ob_start(); } ?>Он будет работать и на Apache и Nginx.
Кэширование браузера
Вкратце, кэширование браузера. После посещения пользователя какой-нибудь странице вашего сайта она заносится в кэш браузера на определенное время. При повторном ее посещении загрузка страницы выполняется из кэша браузера. Это сокращает время ожидания и повышает скорость загрузки страницы.
Для Apache сервера
Apache сервер позволяет выполнять кэширование через модули mod_expires и mod_headers. Для модуля mod_expires применяются следующие правила, которые необходимо поместить в файл .htaccess.
# BEGIN Expire headers <ifModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 5 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule> # END Expire headersДля модуля mod_headers используется чуть другие правила:
# BEGIN Cache-Control Headers <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule> # END Cache-Control HeadersДля Nginx сервера
location ~* \.(jpg|png|gif|jpeg|css|js)$ { expires 1h; }Заключение: как говорилось выше, ни забудьте протестировать ваш сайт после всех изменений повторно. Только через некоторое время сразу результат будет незаметный.