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

Ранжирование сайта выполняется по многим факторам одним из них входит скорость загрузки сайта. Это важный аспект в оптимизации 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;
}

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

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

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *