Как ускорить блог на WordPress. Полный набор методов ускорения.

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

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

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

Итак, сегодня поговорим о том, как ускорить блог:

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

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

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

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

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

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

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

 

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

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

WP-Optimize – Можно догадаться уже что этот плагин что-то оптимизирует. А оптимизируем он вашу базу данных. Удаляет все черновики, например. В итоге ваша база данных становиться значительно меньше и как следствие – работает быстрее чем раньше.

При работе с базой данных, конечно лучше еще ручками залезть в вашу базу данных и поудалять ненужные вам таблицы, которые вы не используете, но это конечно тема для отдельной статьи и лучше будет её дополнить видеоуроком.

WP-HTML-Compression – Аналогично из названия уже понятно, что этот плагин сжимает ваши html странички, чем ускоряет загрузку блога.

WP Resized Image Quality – Не особо важен для ускорения сайта лично для меня, хотя может кому как. Поэтому выкладываю. Задача плагина – изменить уровень сжатия загружаемых изображений.

Читайте также:  Форма обратной связи для вашего сайта! С плагинами и без плагинов.

Hyper Cache – Кеширует ваш блог, снижает нагрузку на хостинг. По отзывам даже лучше чем WP super cache или total cache. Настроек достаточно много, но они на русском и, в принципе, все должно быть понятно. Если что-то не будет понятно – пишите, обсудим, подскажем. Рекомендую!

Autoptimize – Тоже ничаво такой плагин. Оптимизируем код стилей и js-скриптов вашего блога. Оптимизирует, в смысле сжимает их путем убирания не нужных отступов и пробелов. Опускает все ява скрипты их “хэдера” в “футер”. Чтобы они выполнялись уже после загрузки страницы. Также с помощью этого плагина можно объединить все css файлы в один. Это также ускорит загрузку вашего блога. Рекомендую!

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

 

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

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

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

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

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

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

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

Дальше будет кеширование блога. Что такое кеш все знают надеюсь. Это какая-то часть данных сохраняется на вашем же компьютере, и при повторном заходе эти данные не нужно скачивать, а они берутся уже из вашего локального хранилища. Ну, как-то так. Так вот, чтобы это сделать – нам нужно в тот же .htaccess прописать следующее:

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"


# Cache-Control

# 30 дней <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$"="">
Header set Cache-Control "max-age=2592000, public"


# 30 дней
<filesmatch "\.(css|js)$"="">
Header set Cache-Control "max-age=2592000, public"

# 2 дня
<filesmatch "\.(xml|txt)$"="">
Header set Cache-Control "max-age=172800, public, must-revalidate"

Header set Cache-Control "max-age=172800, private, must-revalidate"
  # использование кеша браузеров
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

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

" >

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

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

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

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

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

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

 

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

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

  • 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. Игорь Черноморец

    Привет! Классные решения ты советуешь для ускорения блога! Хотелось бы попробовать вписать код в файл .htaccess для кеширования браузера, так как у меня вообще есть глобальная проблема с этим делом! Но…у тебя стоит зашита от копирования и я не могу взять твой предоставленный код! Как можно его заполучить у тебя?
    Заранее спасибо

    Ответить
    1. Игорь, у меня из защиты от копирования только строка авторства добавляется, которую можно просто удалить. Не вижу проблемы.

      Ответить
      1. Александр

        Денис, вопрос не в тему, подскажи как сделать строку авторства без плагина? Есть ли статья у тебя на блоге об этом или такой возможности нет? Информации на твоем блоге очень много и я просто не могу найти

        Ответить
        1. Все есть, поищи в статьях про защиту от копирования или про хэштеги

          Ответить
  2. Игорь Черноморец

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

    Ответить
    1. Ок, если не получится — обратись в поддержку, решим вопрос.

      Ответить
      1. Надежда

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

        Ответить
        1. Надежда

          А сейчас все нормально стало

          Ответить
  3. Яна

    Спасибо за полезную статью. Обязательно ею воспользуюсь.

    Ответить
  4. Denis

    «3. Отключаем хотлинки.»
    Вот сей пункт не на всех хостингах работает.
    Сам столкнулся недавно с этой проблемой, появилась ссылка с гугловского богпоста в вебмастере пошел посмотреть и увидел стыренную статью со всеми картинками с моего блога. Правка .htaccess пользы не принесла так по причине того, что окромя Apache на моем сервере установлен еще и nginx, поэтому все написанное в .htaccess для работы с медиа файлами попросту игнорируется.
    Ребята с техподдержки конечно пошаманили по моей просьбе но результат все равно не тот что ожидался — картинки с чужого блога пропали но ссылки отались, так как в исходном коде есть линк на мой блог и адрес до картинки. Так что водяные знаки самый подходящий способ для борьбы с хотлинком.

    Ответить
    1. Спасибо, тёзка, за ценный каммент. Я что-то не подумал об этом. Подумал, раз у меня нормально все, значит у всех будет нормально работать.

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

      Ответить
  5. Александр Викторович

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

    Ответить
    1. Александр. Если коды — все еще представляю сложность — обращайтесь. Буду рад помочь.

      Ответить
      1. Александр Викторович

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

        Ответить
        1. В любое место, можете пропустить строчку и вставить мой вариант кода.

          Ответить
  6. Евгения Куварина

    Я для оптимизации изображений пользуюсь сервисом compresspng.com, у меня размер выходит даже меньше, чем через фотошоп.
    В основном, использую такие же методы ускорения

    Ответить
    1. Александр

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

      Ответить
  7. Александр Викторович

    А вот в какое место файла htaccess вставлять приведенный код? Или это не очень существенно?
    Когда моему блогу было уже больше года случайно узнал, что данного файла у меня вообще нет. Сейчас есть небольшой код, необходимый для работы страницы магазина (предоставила поддержка партнера).

    Ответить
  8. Александр Викторович

    Хочу скопировать код для файла htaccess, возникла проблема. Копирую, сохраняю себе на комп, нарушается форматирование. Пробовал несколько редакторов. Notepad вообще все загнал в одну строчку.
    Попробовал сделать форматирование вручную, получается, но не проходят некоторые строчки и отдельные слова, а символ: «L» перевернут вверх ногами. Наверное срабатывает защита и не дает нормально копировать. Можно решить этот вопрос?

    Ответить
    1. Можно, напишите мне в поддержку.

      Ответить
  9. Сергей Оксак

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

    Ответить
    1. Прошу пояснить вопрос про отображение страниц сайта. А про pagenavi — ок, распишу.

      Ответить
      1. Сергей Оксак

        Денис, у меня проблема именно с wp-pagenavi, почему-то на начальных страницах идет нормальная нумерация 1,2,3 и т.д., все видно, а затем, если переходишь например на 20 страницу, уже пишет только страница 20 из и пропадает почему-то остальная нумерация. Пробовал переустановить плагин, ничего не изменилось. Поэтому и хочу убрать плагин и сделать нумерацию страниц другим методом

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

          Проблему понял. Ок, опишу в статье

          Ответить
          1. Сергей Оксак

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

  10. Александр

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

    Ответить
  11. Надежда

    Я на своем блоге использую плагин Better WordPress Minify. Этот плагин помогает совместить и уменьшить CSS и JavaScript файлы. Улучшается совместимость с другими плагинами и с установленной темой. Скорость значительно увеличилась после установки. Рекомендую в общем.

    Ответить
    1. Надежда

      А сегодня я не рекомендую Better WordPress Minify, столкнулась с такой вещью — слишком большая нагрузка на сервер, оказалось — Better WordPress Minify создает, послк исследования сайта, я заказывала его. Пришлось убрать, на 100 запросов меньше стало в секунду.

      Ответить
      1. Сергей Оксак

        Хотел уже попробовать, да вовремя увидел второй комментарий. Значит, все таки этот плагин нагружает сервер и использовать его не стоит!!! Будем пробовать другие методы…

        Ответить
  12. Олег

    Очень полезная статья – добавил в «Избранное». Измерил скорость загрузки своего блога. Получилось – 4,61.

    P.S. Не хило ты свой блог ускорил))) В 7 раз…

    Ответить
    1. Надежда

      У в общей сложности получилось в 4 раза ускорение, тоже не хило.

      Ответить
  13. Надежда

    Я в .htaccess включила сжатие и скорость загрузки увеличилась в 3 раза, теперь 2 секунды, фантастиш. Для чистки базы я использую плагин WP Clean Up, похож на WP-Optimize

    Ответить
  14. Надежда

    Посоветуйтесь с тех поддержкой хостинга. Должны что-то подсказать.

    Ответить
  15. Nicknixer

    На загрузку страницы сильно влияет подключение JS-скриптов в теге . Загрузка страницы останавливает, пока не дозагрузятся JS-файлы. Для ускорения загрузки страницы их необходимо подключать перед закрывающим тегом .

    Ответить
  16. Olga

    А мне не подошел всеми любимый плагин — Hyper Cache. После установки не могла попасть через браузер на сайт, выдавало, что-то типа того: страница недоступна или перемещена по новому адресу. Установила другой — WP-Cache.com

    Ответить
    1. Да, бывает и такое. Все зависит как от организации шаблона, так и организации плагина. Да и на вкус и цвет… как говориться…

      Ответить