Оптимизация WordPress: Скорость загрузки сайта

Без плагина WordSmall

Ранжирование сайта выполняется по многим факторам одним из них входит скорость загрузки сайта. Это важный аспект в оптимизации WordPress он также влияет на выдачу результатов поиска. По сведениям, Google очень требователен вскорости загрузки и даже в алгоритм был включен новый критерий: скорость загрузки сайта. Вот почему это так важно, ранее мы уже поднимали эту тему в статье: улучшение загрузки WordPress, а в этой продолжим над ней работу.

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

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

Но даже если у вас не столь удачных хостинг, то все равно можно внести некоторые самые важные параметры для улучшения загрузки сайта WordPress. Мы будем использовать сжатие контента и кэширование браузера. За счет этих действий увеличим скорость примерно от 40% до 70%.

Сервисы для анализа скорости сайта

Для начала пройдемся по сервисам, которые помогут определить скорость вашего сайта.

Первым из них будет инструмент от Google — developers.google.com. Он выводит все возможные недостатки сайта и покажет общею производительность.

Второй — whatsmyip.org – этот сервис проверяет сжатие через mod_gzip, mod_deflate модуль или любой другой что может дать функцию сжатия.

И последний сервис известен всем, pr-cy.ru – богат онлайн — инструментами для веб-мастера, но в данном случае нас интересует проверка скорости сайта.

По окончании анализа сайта зафиксируйте все результаты и после внесения наших изменений проверьте повторно сайт.

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

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

Автор, он же Андрей, он же Admin, он же WordSmall

Лентяй-любитель, окончил высшую школу безделья с многочисленными знаками отличия. Создатель этого небольшого «чудо-блога» о еще более «чудном» контенте.

E-mail Google+ Twitter
Комментариев: 2
  • Darksly32

    Если на хостинге стоит cPanel — необязательно для включения сжатия лезть в .htaccess — можно включить или выключить сжатие через нее. По умолчанию даже на 2-м Апаче сжатие выключено.

    • WordSmall

      Не лезть, а редактировать и случаи бывают разные.

Добавить комментарий
bold quote code