Всем привет, дорогие друзья, читатели in4wp.ru. Сегодня лазил по блогам, искал интересные блоги, чтобы подписаться. И обратил внимание на то, что многие блоги загружаются достаточно долга. Решил провести некоторые подсчеты, а как быстро загружается наш блог – и был очень удивлен полученным цифрам.

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

Итак, о чем мы сегодня с вами пообщаемся:

Но сначала небольшой план статьи:


к оглавлению ↑

Как проверить и проанализировать скорость загрузки блога

Может быть каким-то вы уже пользовались? Напишите пожалуйста об этом пару слов в комментариях. Почему именно им пользовались. Ну и о результатах проверки тоже любопытно узнать.

Я выбрал пингдом потому что мне понравилась наглядность полученной информации. Наглядно видно какой скрипт не ускорит работу wordpress, а тормозит её. И у меня получилось что блог загружался целых 8 секунд.

Я как увидел – глаза на лоб полезли. 7.5 секунд, если быть точнее? Танунафик!

Ну, скорость мы замерили. Что дальше?

А дальше мы проводим анализ скриптов и стилей, которые подгружаются при загрузке вашего блога. Это все видно прямо на сайте, которым вы проверяете работу блога.

ускоряем блог

На скрине видно, что кроме названия загружаемого файла есть еще полный путь к нему, по которому мы можем определить откуда этот файл, плагин это или еще что-то. Я решил отказаться от плагина опросов и от плагина wp-pagenavi, пагинацию я сделал самостоятельно. Кстати, если вам нужна об этом статья — напишите.

Итак, таким же макаром пробегаемся по всему списку и отказываемся от ненужных вам плагинов и виджетов, которые замедляют работу сайта. Особенно если их можно заменить простым кодом. Очень часто плагины, которые выводят виджеты в сайдбаре используют свои файлы стилей, которые имеют какой-то объем и этот объем вам нужно весь загрузить. НУ вы меня поняли, господа.

к оглавлению ↑

Ускоряем наш сайт на wordpress с помощью плагинов.

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

Если вы знаете еще какие-то плагины для ускорения загрузки блога – напишите о них в комментариях и я включу их в этот список. Я заранее благодарен вам!

к оглавлению ↑

Как ускорить работу сайта (блога) ручками (без плагинов)?

А теперь самое время узнать как ускорить блог руками, с использованием вставки каких-то кодов. Ну, давайте обо всем по порядку.

1. Настройка сжатия gzip.

Я надеюсь вы в курсе что в корне вашего сайта обязательно должен быть файл .htaccess . Так вот в него нужно добавить следующие директивы:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>

После применения этого способа – скорость моего блога по замеру выросла на 10%.

2. Кеширование браузера

Дальше будет кеширование блога. Что такое кеш все знают надеюсь. Это какая-то часть данных сохраняется на вашем же компьютере, и при повторном заходе эти данные не нужно скачивать, а они берутся уже из вашего локального хранилища. Ну, как-то так. Так вот, чтобы это сделать – нам нужно в тот же .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&gt;
# 1 день
<filesmatch "\.(html|htm|php)$"="">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesmatch>  # использование кеша браузеров
FileETag MTime Size
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$"="">
ExpiresActive on
ExpiresDefault "access plus 1 year"
 
#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary

Позволю себе заметить, что после применения этого способа скорость загрузки блога возросла в 4 раза! А показатель Perf.Grade вырос с 83 до 94! т.е. скорость загрузки блога оптимизирована практически на 100%!

3. Отключаем хотлинки.

Опять защищаемся от нерадивых вебмастеров. Бывают некоторые индивидуумы, которые не хотят загружать свой сервак. И им лень даже стибрить ваши картинки. Они при публикации статей просто ставят ссылку на ваши картинки, которые находятся на вашем серваке и все. Это называется “Хотлинк”. Его сайт никак не нагружается, а ваш – увы, нагружается. Так вот, чтобы такого не происходило, нужно сделать следующее в том же самом файле .htaccess :

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?dvpress\.ru/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .(jpe?g|gif|bmp|png)$ image/nohotlink.png [L]

4. CSS сжатие.

У многих блогов больше одного CSS файла, тем более если учесть что многие плагины используют своё кунг-фу CSS. В каждом файле стилей много лишнего. Ведь они созданы чтобы их потом исправлять. Если вы исправлять там, ковырять ничего не собираетесь – оптимизируйте эти файлы следующим образом.

— Заходим на сайт styleneat.com
— Загружаем в него наш CSS файл
— Сервис бесплатно обрабатывает наш файлик и удаляет все лишнее (комментарии, пробелы, переносы и пр.)

На выходе получается файл стилей без ничего лишнего. Он полностью рабочий но чутка не удобен для “ковыряния”. Вы его сохраняете и загружаете обратно на хостинг, заменяя при этом старый файл стилей.

5. Отключение ревизий постов

При написании статей в движке происходит постоянно сохранение резервных копий и соответственно засоряется ваша база данных. Конечно, вы можете с завидной регулярностью пользоваться плагинами для чистки базы, но зачем? Давайте просто отключим эти резервные копии (ревизии)

Открываем wp-config.php и прописываем в него следующее

: define(‘WP_POST_REVISIONS’, false); /* отключаем ревизии */
define(‘EMPTY_TRASH_DAYS’, 0); /* отключаем корзину */

Прямо в начало файла можно и добавить. Вот как это получилось у меня:

ускоряем блог

6. Редактируем header.php

А теперь мы займемся уменьшением количества запросов к БД. Конечно все это мы делаем в целях ускорения блога. Так вот. Открываем его. Как видим, тут есть вот такие фразочки, типа:

<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo ('rss2_url'); ?>" >

Вот смотрите. В таком виде в котором оно сейчас есть – это лишний запрос к БД для получения сведений об RSS ленте. Но все данные нам всегда известны и эти данные не меняются. Зачем тогда этот запрос?

Идем на свой блог и нажимаем комбинацию клавиш CTRL+U – перед нами открывается исходный код нашей страницы. В шапке (где-то сверху) ищем нечто подобное:

Вот что у вас должно быть в этом файле – прямые пути! Вот этой готовой строкой и нужно заменить запрос в файле header.php. Нет лишних запросов – нет проблем. Ради примера решился я посмотрел код известных блоггеров. Вот попался мне Александр Бобрин. Посмотрим что у него в коде:

бобрин ускоряет блог

Что мы видим? Ни одного запроса в базу данных. Видим только абсолютные пути.

А теперь представьте сколько подобных запросов может быть на Вашем блоге? Поэтому рекомендую провести чистку вашего header.php. Код в тегах TITLE трогать нельзя!!!

Внимание!!! После любых изменений лучше проверить насколько изменилась скорость загрузки, если ничего не изменилось – удаляем этот код, дабы не навредить самому себе.

к оглавлению ↑

Ускорение сайта через оптимизацию изображений.

Как правильно оптимизировать изображения? Надеюсь у вас есть фотошоп! Все что нужно это:

  • 1. Открыть картинку в фотошопе.
  • 2. Нажать Файл – Сохранить для WEB (или сочетание клавиш CTRL + ALT + SHIT + S ).
  • 3. Выбрать нужный формат изображения (я чаще всего выбираю PNG) .
  • 4. Для JPG-форматов выбрать качество сохранения.

к оглавлению ↑

Не рекомендуемый способ ускорения работы сайта!

Способ есть но я бы его не рекомендовал. Смысл в том чтобы отключить обновления wordpress и всех плагинов, которые есть. Конечно, иногда запросы на наличие обновлений слегка подгружают работу блога. Однако давайте не будем забывать и о безопасности wordpress. Будете пренебрегать безопасностью – скорость вашего взломанного блога уже никому не нужна будет. Но , если вы у нас экстремал, пожалуйста вот способ:

Идем в файл function.php и прописываем туда следующие код, которые запрещает проверку обновлений самого движка wordpress:

remove_action( 'wp_version_check', 'wp_version_check' ); remove_action( 'admin_init', '_maybe_update_core' ); add_filter( 'pre_transient_update_core', create_function( '$a', "return null;" ) );

Файлик не закрываем и дописываем следующий код для отключения обновлений плагинов:

remove_action( 'load-plugins.php', 'wp_update_plugins' ); remove_action( 'load-update.php', 'wp_update_plugins' ); remove_action( 'admin_init', '_maybe_update_plugins' ); remove_action( 'wp_update_plugins', 'wp_update_plugins' ); add_filter( 'pre_transient_update_plugins', create_function( '$a', "return null;" ) );

Ну и большую роль играет хостинг. Если хостинг настроен не качественно – вы будете проигрывать конечно. Кроме этого поинтересуйтесь у вашего хостера, где находятся его сервера. Если сервера находятся в США – вам не поможет никакая оптимизация загрузки,и ваш сайт будет загружаться раза в 4 медленнее чем любой сайт, находящийся на московских серверах. Причина? Удаленность! Пока сигнал дойдет до туда, пока вернется, ну вы меня поняли!

к оглавлению ↑

Выводы которые можно сделать после ускорения блога

Итак, у нас была полная загрузка главной страницы аж 7.5 секунд и вся страница “весила” порядка 1 мегабайта. Что не есть хорошо. Ах, да, было еще целых 34 запроса.

Что мы сделали:

1. Отказались от ненужных плагинов.
2. Оптимизировали изображения, теперь картинки у меня весят менее 100кб (я думаю этот порог еще уменьшить) – только за счет этого оъем страницы уменьшился почти вдвое!
3. Вы включили gzip сжатие.
4. Мы руками включили кеширование сайта через файл .htaccess. Кстати, после ручных установок плагин Hyper-Cache уже не так эффективен. По изменерениям скорости загрузки блога изменений до включения плагина и после включения плагина не наблюдалось.
5. Мы почистили наш header.php (крайне незначительное увеличение скорости, подобными вещами можно принебрегать, конечно, если ваш блог не тысячник)

Итого у нас получилось ускорить блог практически в 7 (семь) раз!!!

Справедливости ради нужно сказать что лучше делать несколько замеров. Значения будут колебаться по различным причинам. И желательно знать максимальное значение. Мне удалось поймать вот такой максимум:

ускорение сайта

Вот, ну, на этом видимо пора прощаться.

Кстати, как вам наши кнопки соц сетей? Как оказалось не все шаблоны поддерживают такой стиль, видимо скрипты конфликтуют. Покликайте пжлст, давайте проверим работают ли :).

Помните!!! Страницы блога, которые загружаются меееедленно – никогда не выйдут в ТОП. Посмотрите в выдачу. Всё что там есть – загружается в пределах разумного. Так что удачных вам оптимизаций скорости.

С уважением, Тумилович Денис

1 балл2 балла3 балла4 балла5 баллов
Loading...Loading...