Всем привет, дорогие друзья, читатели in4wp.ru. Сегодня лазил по блогам, искал интересные блоги, чтобы подписаться. И обратил внимание на то, что многие блоги загружаются достаточно долга. Решил провести некоторые подсчеты, а как быстро загружается наш блог – и был очень удивлен полученным цифрам.
Как оказалось и мой блог не так быстро работает как оказалось. А ведь скорость загрузки сайта является одним из важных параметров. Медленная скорость отпугивает посетителей и НЕ мотивирует читателей оставлять комментарии. НУ, правда ведь?
Итак, о чем мы сегодня с вами пообщаемся:
Но сначала небольшой план статьи:
- Как проверить и проанализировать скорость загрузки блога
- Ускоряем наш сайт на wordpress с помощью плагинов.
- Как ускорить работу сайта (блога) ручками (без плагинов)?
- Ускорение сайта через оптимизацию изображений.
- Не рекомендуемый способ ускорения работы сайта!
- Выводы которые можно сделать после ускорения блога
к оглавлению ↑
Как проверить и проанализировать скорость загрузки блога
Может быть каким-то вы уже пользовались? Напишите пожалуйста об этом пару слов в комментариях. Почему именно им пользовались. Ну и о результатах проверки тоже любопытно узнать.
Я выбрал пингдом потому что мне понравилась наглядность полученной информации. Наглядно видно какой скрипт не ускорит работу 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> # 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 (семь) раз!!!
Справедливости ради нужно сказать что лучше делать несколько замеров. Значения будут колебаться по различным причинам. И желательно знать максимальное значение. Мне удалось поймать вот такой максимум:

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

Привет! Классные решения ты советуешь для ускорения блога! Хотелось бы попробовать вписать код в файл .htaccess для кеширования браузера, так как у меня вообще есть глобальная проблема с этим делом! Но…у тебя стоит зашита от копирования и я не могу взять твой предоставленный код! Как можно его заполучить у тебя?
Заранее спасибо
Игорь, у меня из защиты от копирования только строка авторства добавляется, которую можно просто удалить. Не вижу проблемы.
Странно!После копирования кода, когда я вставляю его в файл, то вижу только строку твоего авторства! Ничего не понимаю. Попробую еще раз
Ок, если не получится — обратись в поддержку, решим вопрос.
Спасибо за полезную статью. Обязательно ею воспользуюсь.
«3. Отключаем хотлинки.»
Вот сей пункт не на всех хостингах работает.
Сам столкнулся недавно с этой проблемой, появилась ссылка с гугловского богпоста в вебмастере пошел посмотреть и увидел стыренную статью со всеми картинками с моего блога. Правка .htaccess пользы не принесла так по причине того, что окромя Apache на моем сервере установлен еще и nginx, поэтому все написанное в .htaccess для работы с медиа файлами попросту игнорируется.
Ребята с техподдержки конечно пошаманили по моей просьбе но результат все равно не тот что ожидался — картинки с чужого блога пропали но ссылки отались, так как в исходном коде есть линк на мой блог и адрес до картинки. Так что водяные знаки самый подходящий способ для борьбы с хотлинком.
Спасибо, тёзка, за ценный каммент. Я что-то не подумал об этом. Подумал, раз у меня нормально все, значит у всех будет нормально работать.
А подобные каменты палюбому скоро вознаграждаться будут! Это всем на заметку!
Коды для меня пока еще представляют сложность, да и после обновлений, например темы, их нужно возобновлять или создавать дочернюю тему. А вот плагинами воспользовался. Оптимизатор у меня есть и регулярно им пользуюсь. Кеширование тоже есть. Добавил плагин сжатия и оптимизатор CSS. Скорость загрузки возросла, сайт грузится примерно в два раза быстрее. Даже на глаз заметно.
Александр. Если коды — все еще представляю сложность — обращайтесь. Буду рад помочь.
Спасибо за предложение. Пытался освоить самоучитель, но он так написан, что его не разберешь. Готовый код я конечно могу скопировать и, если точно знаю место, могу вставить.
В любое место, можете пропустить строчку и вставить мой вариант кода.
Я для оптимизации изображений пользуюсь сервисом compresspng.com, у меня размер выходит даже меньше, чем через фотошоп.
В основном, использую такие же методы ускорения
А вот в какое место файла htaccess вставлять приведенный код? Или это не очень существенно?
Когда моему блогу было уже больше года случайно узнал, что данного файла у меня вообще нет. Сейчас есть небольшой код, необходимый для работы страницы магазина (предоставила поддержка партнера).
Хочу скопировать код для файла htaccess, возникла проблема. Копирую, сохраняю себе на комп, нарушается форматирование. Пробовал несколько редакторов. Notepad вообще все загнал в одну строчку.
Попробовал сделать форматирование вручную, получается, но не проходят некоторые строчки и отдельные слова, а символ: «L» перевернут вверх ногами. Наверное срабатывает защита и не дает нормально копировать. Можно решить этот вопрос?
Можно, напишите мне в поддержку.