Простые советы, как увеличить скорость загрузки сайта

kak-uvelichit-skorost-zagruzki-sajtaПривет, Друзья. Вы явно уже знакомы с Google PageSpeed Insights. Сервис анализирует скорость загрузки сайта и в результатах осмотра выводит причины снижения показателей. Обычно PageSpeed рекомендует удалить код JavaScript и CSS, блокирующий отображение верхней части страницы, как обязательное устранение причины. Сопутственно обращает внимание на кэш браузера и «вес» изображений на сайте.

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

Ниже предложенные способы не гарантируют 100% показателей по скорости загрузки сайта, но заметно подтягивают его к показателям 85-90. А это уже совсем не плохо. Набрать стопроцентные характеристики, скорее всего, невозможно. Даже сам Google PageSpeed Insights не выдерживает таких темпов.

pagespeed-insights

Так что не стоит сильно поддаваться волнению. Но есть моменты, на которые обратить свое внимание все же нужно и можно. Убытков не предвидится, а пользу вы ощутите.

Итак.

Оптимизация загруженных на сайт изображений

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

По этому поводу и ругается  Google PageSpeed Insights. Чем можно помочь?

  • Можно изначально обработать картинки с помощью графредактора Photoshop.
  • Воспользоваться для сжатия онлайн программами
  1. jpegmini
  2. punypng

Это к примеру.

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

Сжатие картинок с использованием плагина WP-Smush

Как загружать и активировать плагины вы знаете. Объяснять лишний раз на примере WP-smash я не буду.
Запустить в работу оптимизатор изображений не сложно. Переходим Медиафайлы > WP-smash и панели нажимаем кнопку BulkSmushNow.
Время работы плагина зависит от количества находящихся файлов. Через обработку каждых 50 картинок вам придется активировать запуск вновь. При работе закрывать окно не следует — сжатие прервется.
Бесплатной версии плагина будет вполне достаточно для работы.
wp-smush
После обжимки вам предоставится информация, насколько успешно прошел процесс. В дальнейшем, при загрузке новых файлов, WP-smash будет включаться самостоятельно. Если такого не происходит, то при загрузке картинки появляется дополнительная кнопка Smush Now!

smush-now
Жмете на нее и все нормализуется

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

Кеширование становится крайне важным для современных веб-сайтов, которые используют обширное подключение JavaScript и CSS. Дело в том, что когда посетитель зашел на Ваш сайт в первый раз, то браузер выполнит загрузку всех javascript и css-файлов, также загрузит всю графику и флэш, однако правильно выставив HTTP-заголовок Expires, вы сделаете компоненты страницы кешируемыми. Таким образом, когда посетитель зайдет на Ваш сайт снова или перейдет на следующую страницу Вашего сайта, в кэше его браузера уже будут находится некоторые нужные файлы и браузеру не потребуется загружать их снова. Отсюда и увеличенная скорость загрузки сайта.

Поэтому выставляйте HTTP-заголовок Expires везде, где только это возможно, на несколько дней или даже месяцев вперед. Для того, чтобы веб-сервер Apache отдавал соответствующие рекомендациям HTTP-заголовки Expires, необходимо добавить в файл .htaccess, находящийся в корневой папке сайта, следующие строки:

<IfModule mod_expires.c>

Header append Cache-Control "public"

FileETag MTime Size

ExpiresActive On

ExpiresDefault "access plus 0 minutes"

ExpiresByType image/ico "access plus 1 years"

ExpiresByType text/css "access plus 1 years"

ExpiresByType text/javascript "access plus 1 years"

ExpiresByType image/gif "access plus 1 years"

ExpiresByType image/jpg "access plus 1 years"

ExpiresByType image/jpeg "access plus 1 years"

ExpiresByType image/bmp "access plus 1 years"

ExpiresByType image/png "access plus 1 years"

</IfModule>

Данный фрагмент файла конфигурации Веб-сервера Apache проверяет наличие модуля mod_expires и, если модуль mod_expires доступен, включает отдачу HTTP-заголовков Expires, которые устанавливают срок хранения перечисленных выше объектов в кэше браузеров и прокси-серверов равный одному году с момента первой загрузки. Установив такой срок жизни кэша браузера, может возникнуть сложность с обновлением файлов. Поэтому если Вы изменили содержимое css или javascript-файла и хотите, чтобы эти изменения обновились в кэше браузера, то необходимо изменить название самого файла. Обычно в название файла добавляют его версию, например так: styles.v1.css

Источником информации по работе с кэш браузера является статья с Хабрахабр.

Дополнительное использование плагина кэширования содержимого сайта Hyper Cache и плагина оптимизации скриптов и html, позволяющее сделать их автоматическое сжатие,  Autoptimize помогут ускорить работу сайта.

Удаляем лишний код из Head сайта

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

Может оно и так, но новичку самостоятельно копаться в кодах и так тяжело, а платить деньги продвинутому вебмастеру проблематично. Если есть возможность — то почему бы и нет.

Но со своей стороны все же замечу (это мое личное мнение), что считаю говорить о лишних строчках кода в WordPress — дело неблагодарное. Его там нет!

Можно говорить о мусоре в шаблоне, но не в WordPress. Но поправить некоторые моменты можно. О том, как избавиться от лишних ссылок в шаблоне речь уже велась. Можете прочитать пост «Как найти и удалить внешние ссылки из шаблона (темы) WordPress. Плагин TAC» .

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

Достаточно создать резервную копию сайта (это не обсуждается), открыть исходный код страницы и при его помощи заменить необходимое. Например, обращение

<meta charset="<?php bloginfo( 'charset' ); ?>" />

 можно заменить на

<meta charset="UTF-8" />

Обращение

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

меняем на

<link href="Адрес_сайта/xmlrpc.php" rel="pingback"/>

Полагаю, что вы поняли процесс.

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

Ускоряем сайт через .htaccess

Внося дополнительные директивы в файл мы снижаем нагрузку на сервер и увеличиваем скорость загрузки сайта целиком. Для примера можно прописать следующие команды

Gzip сжатие страниц

<ifModule mod_gzip.c>
 mod_gzip_on Yes
 mod_gzip_dechunk Yes
 mod_gzip_item_include file .(html?|txt|css|js|php)$
 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>

Запрет спама в комментариях

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*Адрес_сайта.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Удаляем плагин FeedBurner для RSS-ленты и заменяем его на код

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ Адрес_сайта [R=302,NC,L]

Запрещаем загрузку медийных файлов, скачанных с вашего сайта, на других сайтах

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+.)?yandex.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?undsoft.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?yandex.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?feedburner.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?mail.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?poisk.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?Адрес_сайта/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteRule .*.(jpe?g|gif|bmp|png)$ - [F]

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

  • По возможности уменьшаем количество плагинов. Одни можно заменить скриптами, другие активировать только при необходимости.
  • Уменьшить до 5 количество выводимых анонсов на главной странице сайта.
  • Периодически чистим Базу данных от лишнего мусора. Установленный плагин  WP-Optimize прекрасно подойдет для этой цели.

Вот как-то так. Повторюсь, Друзья. Не пытайтесь достичь 100% показателей при прохождении онлайн анализа. Это не пройдет, а нервы свои беречь надо. Лояльнее относитесь.

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

Успехов вам. С уважением, Олег

 

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

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