» » Как мега мощно ускорить свой wordpress блог? Ускорение работы WordPress Поисковики любят быструю загрузку

Как мега мощно ускорить свой wordpress блог? Ускорение работы WordPress Поисковики любят быструю загрузку

Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок - Wordpress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.

1 Тестируем текущую скорость

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

Не забудьте обновить до последней версии PHP и Apache .

3.1 Отключите неиспользуемые сервисы
Вы можете получить больше доступной оперативной памяти, отключив неиспользуемые службы и оптимизировав MySQL и Apache.
  • Удалите ClamD;
  • Настроить SpamD на использование только 1 дочернего процесса;
  • Удалите Mailman, если, конечно, вы не собираетесь запускать почтовый сервис.
3.2 MYSQL Query Cache
Поскольку стабильность и скорость Wordpress довольно сильно зависит от работы БД, стоит убедиться, что настройки в my.cnf соответствуют возможностям сервера. В первую очередь следует установить настройки кэширования запросов, добавив в my.cnf следующие строки:
query_cache_type = 1
query_cache_limit = 2M
query_cache_size = 20M

Чтоб настройки вступили в силу придется перезапустить сервис MySQL сервис.
3.3 Кэш компилятора: XCache или Eaccelerator?
Кэш компилятора увеличивает производительность откомпилированных скриптов на сервере, кэшируя их – это поможет сократить время выполнения PHP скриптов. Стоит попробовать и то и другое решение, однако по результатам опытов увеличение производительности при использовании Xcache на 5% выше, чем с Eaccelerator.
3.4 Увеличьте максимальное число соединений на Apache
Увеличение максимального количества соединений в httpd.conf повысит производительность, т.к. сервер сможет обрабатывать большее количество подключений за раз. Однако, следует изменять этот параметр осторожно, дабы не исчерпать весь объем оперативной памяти и не замедлить работу сервера, потому всегда тестируйте новые настройки прежде чем запускать их в работу. Установим к примеру 150 коннектов:
max_connections = 150

Не забудьте рестартить сервис Apache, чтоб применить настройки.

4 Оптимизация кода и графики

Итак, сервер заработал и теперь настало самое время поиграть с кодом Wordpress.
4.1 Отключите хотлинки
Каждый раз когда вы используете свой сервер для хранения изображений вы существенно больше используете его ресурсов. Довольно часто люди заимствуют ваши изображения, ставя хотлинки на своих серверах. Это не только занимает канал, но и создает определенную нагрузку на сервер.
Добавьте следующий код в .htaccess файл, заменив example.com на имя вашего домена, чтобы отключить использование хотлинков:
< IfModule mod_rewrite .c >
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$
RewriteRule .*\.(gif|jpg|png|ico)$ -
4.2 Используйте внешний хостинг для хранения изображений
Хостинг изображений на внешних серверах поможет значительно снизить нагрузку на сервер. В примере ниже вы можете видеть снижение объема используемой оперативной памяти на одном из блогов после переноса изображений на сервис Amazon S3 .

4.3 Сжимайте java-скрипт код
Сжатие javascript довольно простая задача. Поскольку он выполняется при каждом просмотре страницы, вы можете уменьшить размер Javascript, удалив все незаполненное пространство. Вот простой инструмент, который поможет сделать это за вас - JavaScript Compressor .
4.4 Javascript в начале страницы
Часто случается так, что сайт начинает загружаться медленно или вообще останавливается, т.к. другой ресурс, с которого вызывается javascript(на пример Digg badges, Tweetmeme и т.д.), не доступен или оффлайн. Чтобы избежать этого вынесите весь javascript код в конец страницы, а то что по каким-то причинам вынести не удалось – попробуйте заключить в iFrame.
4.5 Используйте кэш браузера
Сам по себе кэш браузера, конечно не сделает ваш блог быстрее, однако поможет снизить нагрузку на сервер, кэшируя часто загружаемые объекты(стили, элементы интерфейса и т.п.).
Попробуйте вставить следующий код в .htaccess файл:
FileETag MTime Size
< ifmodule mod_expires .c >
< filesmatch "\.(jpg|gif|png|css|js)$" >
ExpiresActive on
ExpiresDefault "access plus 1 year"

4.6 Сжимайте статические данные
Вы можете уменьшить размер загружаемой страницы позволив браузеру принимать и передавать данные в сжатом виде. Это также снизит загрузку канала и количество загружаемых данных.
Следующий код в .htaccess может помочь вам в этом:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
4.7 Используйте CDN для статических файлов
Если хранить все изображения на одном и том же домене, то браузер будет ожидать их загрузки одного за другим. Допустим на странице их у вас есть 12 штук, если вы разделите их между тремя поддоменами, они будут загружаться одновременно из трех «разных» источников вместо того, чтоб загружаться браузером по очереди из одного.
Можете попробовать перенести все css & javascript файлы на files.yoursite.com , а изображения и временные файлы на static.yoursite.com . Или же просто использовать CDN (Content Delivery Network) – большая сеть серверов, расположенных по всему миру, которые позволят не только хранить ваши файлы на разных поддоменах, а значит загружать их параллельно, но и доставлять пользователю данные с самого близкого к нему сервера. Все это позволит загружать данные намного быстрее.

5 Wordpress

В этой части статьи мы рассмотрим приемы для улучшения производительности, которые можно применить непосредственно к Wordpress.
5.1 Обновитесь до последней версии
Обновления до более новых версий позволяют не только устранять обнаруженные уязвимости, но и улучшают производительность. Для примера в wordpress 2.8 была существенно оптимизирована работа с БД.
5.2 Отключите Post Revisions
Во всех версиях wordpress, начиная с 2.6, редакции ваших статей каждый раз во время правки автоматически сохранялись. Это замедляет работу БД и увеличивает ее размер без особой надобности.
Чтоб отключить post revisions, добавьте следующую строку в wp-config.php :
define("WP_POST_REVISIONS", false);

Чтобы удалить сохраненные ранее ревизии текста, выполните следующий запрос в PHPmyadmin:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = "revision"
5.3 Сократите количество запросов
Уберите ненужные запросы, чтоб ускорить генерацию страницы. Например, следующий типичный код, встречающийся во всех темах для wordpress:
< meta http-equiv ="Content-Type" content ="< ?php bloginfo ("html_type" ); ?> ; charset= " />

Мы запросто можем переписать в:
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" />

Уже на два запроса меньше. Довольно просто, не правда ли?
6 Wordpress Plugins
И на последок предлагаю вашему вниманию несколько плагинов, которые могут повысить производительность wordpress. Как только все, описанное выше, будет выполнено, эти плагины помогут добиться еще более высокой производительности.

WP Super Cache
Это, пожалуй, лучший плагин к Wordpress. WP Super Cache создает статические html версии каждой страницы и загружает их каждый раз, обходясь тем самым без запросов к БД. Это значительно увеличивает скорость загрузки страниц и снижает нагрузку на сервер. Строго рекомендуется к установке.

PHP Speedy WP
Этот плагин решает другую проблему, обозначенную в этой статье – удаление незаполненного пространства в CSS & javascript. Однако есть некоторые проблемы совместимости этого плагина с WP Super Cache, кроме того он долгое время уже не обновлялся, потому используйте на свой страх и риск.

Optimize DB
Плагин позволяет оптимизировать таблицы MySQL без помощи PHPmyadmin.

Счастья тебе и твоему уютному бложеку, %username%.

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

Шаг 1: Подготовка

Первым делом необходимо обновить WordPress до последней версии, которую вы можете .

Шаг 2: wp-config.php

Файл wp-config.php — является файлом конфигурации WordPress и находится в корневой папке сайта.

Я хочу вам рассказать про несколько методов с помощью которых мы сможем уменьшить нагрузку на хостинг:

  1. В оригинальной сборке есть минус — то, что используются различные языковые файлы для административной части и главной страницы сайта. Если мы будем использовать один файл, то это нам позволит значительно снизить нагрузку, для этого нужно заменить строку: define ("WPLANG", "ru_RU");

    If (strpos($_SERVER["REQUEST_URI"], "wp-admin")) define ("WPLANG", "ru_RU"); else define ("WPLANG", "ru_RU_lite");

    Так же не забудьте добавить в директорию http://вашсайт.ru/wp-content/languages/.

  2. Так же рекомендую сразу выставить необходимое количество ревизий при написании поста.
    Ревизии — это черновики, которые автоматически сохраняются во время написания поста, тем самым позволяя ему вернуться на некоторое время назад при написании. Ревизий может быть несколько, а так же можно указать через какое время они должны обновляться. Я использую одну ревизию, которая перезаписывается каждые 60 секунд, на некоторых своих сайтах на WordPress я их вовсе отключаю, так как пользуюсь внешним редактором. Отключение ревизий даёт прирост в скорости работы редактора и админки WordPress.
    Для того, чтобы была одна ревизия и она сохранялась каждые 60 секунд, нужно добавить следующую строчку в wp-config.php перед последним закрывающимся?>: define("AUTOSAVE_INTERVAL", 60); define("WP_POST_REVISIONS", 1);

    а если мы хотим отключить ревизии, то нужно воспользоваться плагином Disable Revisions .

Шаг 3: Robots.txt

Файл Robots.txt – это текстовый файл, находящийся в корневой директории сайта, в котором записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации некоторые разделы или страницы на сайте, указывать на правильное «зеркалирование» домена, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т.д. ©Robotstxt.org.ru

Посещение поисковыми роботами вашего сайта приводит к значительной нагрузке на ваш сайт. Так как нас интересуют только поисковые роботы Яндекса, Google и Рамблера, в некоторых случаях ещё и Yahoo, то остальных роботов (в том числе различные парсеры и грабберы, которые воруют ваш контент), можно закрыть от индексации. Для этого необходимо вставить в файл Robots.txt, если у вас его нет, то необходимо его сначала создать в корневой директории сайта. Эффект наступит не моментально, но в течении месяца практически все роботы из списка сведут свои заходы к минимуму или вовсе перестанут посещать ваш сайт.

Если вы хотите так же заблокировать доступ для Yahoo, что помимо снижения нагрузки на хостинг скроет и ваши беки по версии Yahoo, то необходимо добавить ещё следующие строчки в Robots.txt:

User-agent: Slurp Disallow: /

Шаг 4: .Htaccess

Файл.Htaccess — это файл дополнительной конфигурации веб-сервера. С его помощью мы сможем дать дополнительные команды для сервера, которые стоит обрабатывать до загрузки сайта.

  1. Сейчас очень распространено копирование информации, в основном это делается с помощью автоматических программных решений. Эти программы копируют не только тексты, но и изображения с ваших сайтов. Так как ссылки на изображения с сайтов скопировавших информацию ведут на изображения на вашем сайте, то следовательно они посылают постоянные запросы на ваш хостинг, тем самым его дополнительно нагружая. Это называется хотлинкингом. С этим бороться можно и я расскажу вам как.
    Я хочу вам предложить два метода борьбы, первый — это заменить изображения на сайтах, которые используют ваш сервер. Изображение которое будет отображаться на сайтах вместо вашего можно заменить например на рекламный баннер. RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?undsoft\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.net/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mail\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?poisk\.ru/.*$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.ru/.*$ RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(jpeg|jpg|gif|bmp|png)$ stophotlinking.gif [L]

    *В данном коде нужно заменить yourdomain на название вашего домена, то же самое касается и доменной зоны. Изображение которое будет показываться на чужих сайтах должно находиться в корневой директории вашего сайта и иметь название stophotlinking и формат gif.

    Данный метод совершенно никак не помешает поисковикам собирать с вашего сайта изображения, так как они занесены в коде в список разрешённых. Вы наверно заметили, что в списке нет Google. Этот метод не помешает Google собирать изображения с вашего сайта, так как он использует уже кешированные версии в результатах поиска.
    Это конечно незначительно снизит нагрузку на ваш хостинг, так как обращение к вашему сайту всё равно будет, но уже вместо всех изображений будет передаваться одно, указанное вами. Если вы хотите выдавать ошибку на других сайтах вместо ваших изображений, что позволяет нам свести нагрузку от этих внешних обращений к нулю, то нужно заменить строку в выше приведённом коде:

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ stophotlinking.gif [L]

    RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]

    Если выше приведённый пример не заработает, попробуйте альтернативный метод:

    RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don"t hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

  2. С помощью.Htaccess мы можем сделать кеширование файлов jpg,gif,png,css,js и других в браузере пользователя на сутки с помощью ниже приведённого кода, если же в содержимом произойдут изменения, то кеш обновится: FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"

    *В браузере обязательно должно быть включено кеширование.

  3. Так же рекомендую делать автоматическое сжатие файлов в перед передачей пользователю, чтобы сайт грузился быстрее, для этого нужно вставить следующий код в.htaccess: 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.*

    *На одном сайте сайте не может работать gzip и zlib компрессия, поэтому выберите что-то одно.

  4. Практически каждый сайт на CMS WordPress сталкивается с проблемой спама в комментариях, чтобы отсечь весь автоматический спам ещё на подходе, можно фильтровать спаммеров по Referrer.
    Referer — это один заголовков запроса клиента, то есть если вы перейдёте с одной страницы на другую, то вторая страница сможет узнать по referer адрес первой страницы. Так как программы с помощью которых делается спам делают переход напрямую сразу на страницу комментирования, то мы их сможем отсечь. Это не значит что можно отказываться от плагинов для предотвращения спамма, но это поможет вам снизить количество спамма и нагрузку на ваш сайт. Для реализации необходимо вставить ниже приведённый код в.htaccess: RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.ru.* RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

    *Не забудьте заменить yourdomain .ru на адрес вашего сайта

  5. Многие используют плагин для переадресации стандартного RSS на Feedburner, хотя это можно сделать сделав небольшую вставку в.htaccess, тем самым мы уменьшаем нагрузку на сайт: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/puzat

    Если не заработает редирект, то попробуйте поместить данный код в самое начало файла.htaccess.
    *Не забудьте заменить «http://feeds2.feedburner.com/puzat» на адрес своего фидбёрнера.

Шаг 5: Пинги

Когда вы публикуете новый материал на сайте, то WordPress отправляет пинги на множество сервисов, чтобы их известить об этом, мной был составлен большой список пинг сервисов, после тестов по их нагрузке на сервер и эффекту индексации было принято решение, что стоит оставить только необходимые пинги для поисковиков Яндекс и Google, а именно:

  • http://ping.blogs.yandex.ru/RPC2
  • http://blogsearch.google.com/ping/RPC2
  • http://blogsearch.google.ru/ping/RPC2

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

Шаг 6: WordPress плагины

  1. Первым делом рекомендую вам пересмотреть список ваших плагинов и удалить те, которыми вы не пользуетесь.
  2. Так же постарайтесь максимально уменьшить количество используемых плагинов за счёт отключения необязательных и их удаления.
  3. Практически каждый плагин подгружает свои CSS и JS, их с помощью онлайн-сервисов: онлайн-сервис по сжатию CSS , онлайн сервис по сжатию JS кода .
  4. Убедитесь что необходимые вам плагины загружаются только на необходимых вам страницах, часто встречается, что плагины подгружаются на всех страницах, это можно проверить посмотрев исходный код страницы и поискав название плагина или его сокращения. Для того, чтобы плагин обратывался только на необходимых вам страницах нужно будет написать условие внутри кода плагина.

Шаг 7: Оптимизация кода темы (шаблона) сайта

Для тех, кто не знает где находится ваш шаблон на сайте, вы можете зайти в исходный код страницы нажав на странице своего сайта правой кнопкой мыши и выбрав «Исходный код страницы», там необходимо найти строку:

media ="screen " type ="text/css " href ="http:// yourdomain .ru/wp-content/themes/yourthemes/style.css " rel ="stylesheet " >

Вместо « yourdomain .ru» будет название вашего сайта, а вместо «yourthemes» будет директория с вашей темой. После чего мы заходим в эту папку и можем видеть все файлы темы. Так же тему можно редактировать и через админку WordPress для этого необходимо зайти в админку->Внешний вид->Редактор.

    1. Первым делом нужно удалить лишние обращения к базе данных, например в файле шапке (header.php) часто используется стандартная вставка: > ; charset=" />

Все эти обращения к базе данных через php запросы, можно заменить на:

*но нужно учитывать, что если у вас другая кодировка, то в charset=ВАШАКОДИРОВКА
Тоже самое касается ссылки на стили:

" type="text/css" media="screen" />

заменить на:

*Не забудьте заменить yourdomain.ru на ваш сайт, а так же поменяйте название темы.

Код пингбеков:

" />

заменить на:

*Не забудьте заменить site.ru на ваш сайт.

Код фида:

RSS Feed" href="" />

заменить на:

*Не забудьте заменить site.ru на ваш сайт, а так же надпись «ВАШ САЙТ» на название вашего сайта.

  1. Так же можно удалить излишние мета-теги сайта из wp_head, вставив следующий код в файл функций (functions.php) вашей темы. remove_action("wp_head", "feed_links_extra", 3); remove_action("wp_head", "feed_links", 2); remove_action("wp_head", "rsd_link"); remove_action("wp_head", "wlwmanifest_link"); remove_action("wp_head", "index_rel_link"); remove_action("wp_head", "parent_post_rel_link", 10, 0); remove_action("wp_head", "start_post_rel_link", 10, 0); remove_action("wp_head", "adjacent_posts_rel_link", 10, 0); remove_action("wp_head", "wp_generator");
  2. Старайтесь размещать все ваши скрипты прямо перед , чтобы они грузились только после того, как весь основной код будет загружен, это в особенности касается скриптов, которые выполняются с внешних ресурсов.
  3. Если вы используете Jquery библиотеки, а тем более если вы их подгружаете с внешних сайтов, то рекомендую посмотреть наличие необходимой вам Jquery библиотеки в http://code.google.com/apis/ajaxlibs/ , если вы нашли там то что вам нужно, то лучше использовать оттуда, так как с Google файлы грузятся моментально, получится параллельное закачивание файлов, то есть пока грузится ваш сайт, библиотеки загрузятся с Google, а так же если браузер скачал себе данную библиотеку, то он не будет её скачивать второй раз.
  4. Если вам позволяют знания, то можно отключить от плагинов обращения к их CSS и JS и вынести их в сам шаблон, тем самым вы уменьшите количество запросов, всё будет грузиться из одного места, что конечно же ускорит работу вашего сайта. Не забывайте про правило, что стили мы вставляем в header.php, а скрипты в footer.php перед .
  5. Сразу после вставьте

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

Шаг 8: Изображения

Шаг 9: Кеширование

  1. Необходимо установить плагин кеширования сайта, из тех которые я использовал на мой взгляд самые лучшие WP Super Cache (бесплатный) и скрипт Cache Maxsite (платный). Мне лично больше понравился Maxsite Cache, но если вы не готовы платить 30$ за плагин, то можно обойтись и WP Super Cache. Основной минус WP Super Cache в том, что он не кеширует виджеты, но с этой проблемой нам поможет справиться следующий плагин WP Widget Cache .
  2. Так же к выше перечисленным плагинам можно добавить плагин WP-CSS , который сжимает CSS в GZIP, а так же плагин Autotimize , который рекомендуют использовать вместе с WP Super Cache.

Шаг 10: База данных

  1. Помимо файлов сайта у нас есть база данных, которую тоже нужно время от времени чистить и оптимизировать, чтобы это сделать в ручную нам потребуется больше времени, чем установить плагин Optimize DB . Активируйте его только на время оптимизации базы данных, после чего деактивируйте, не оставляйте его постоянно включённым, чтобы он не создавал дополнительную нагрузку на сайт.
  2. Если вы не используете ревизии, то их таблицу можно удалить из базы данных, найдите таблицу с названием «wp_post_revision» и удалите.

Шаг 11: Мелочи

  1. Большие посты разбивайте на несколько страниц с помощью .
  2. Не нужно выводить полные посты на страницах, используйте excerpt.
  3. Не выводите на главной странице больше 5 постов.
  4. Не выводите больше 50 комментариев на одну страницу, включите навигацию по комментариям. Для этого нужно зайти в админку WordPress->Обсуждения->и поставьте галочку напротив «Разбивать комментарии на странице по 50 штук».
  5. Более ранние версии WordPress потребляют меньше ресурсов, но я же рекомендую использовать последнюю версию WordPress для СДЛ и сателлитов, а для ГС можно использовать более ранние версии например WordPress 2.3.3 . Не забывайте про риск уязвимостей и недоработок, так как это всё таки старые версии.
  6. Для того чтобы замерить количество запросов к базам данных wordpress нужно добавить в код следующую строчку: запросов за секунд.
  7. Не поленитесь, сделайте код валидным, онлайн сервис проверки кода на валидность с рекомендациями по исправлению .
  8. Реализуйте поиск по сайту с помощью стороннего сервиса, например Google, так же вы на этом сможете заработать, зарегистрируйтесь для этого в Google и перейдите в систему Google Adsense .
  9. Используйте сторонние сервисы для хранения видео и просто вставляйте их код в пост, например Youtube. Это всё в тему параллельности процессов загрузки страницы.

Шаг 12: Сервер

В подробности серверной настройки я не вдавался, но если кому потребуется, то на мой взгляд, один из лучших материалов настройка сервера Апач на максимальную производительность . Владельцам своих серверов рекомендую воспользоваться eAccelerator и PHP-Speedy, про его работу с WP Super Cache можно , все материалы на английском языке.

Исследования показывают, что люди не очень терпеливы когда дело доходит до Интернета. Около 23% людей не дожидаются загрузки страницы, если она занимает более 4 секунд. Это может показаться весьма суровой статистикой, однако, достигнуть данного результата не настолько сложно. Если вы сможете уменьшить время загрузки сайта до 2.9 секунд, то этого будет достаточно, чтобы скорость загрузки сайта была быстрее чем у половины существующих . Это означает, что даже незначительные улучшения сайта могут привести к ощутимым преимуществам для вашего бизнеса. Так как на WordPress работает около четверти сайтов, не удивительным становится желание пользователей увеличить скорость загрузки сайта именно на WordPress.

В этом руководстве мы покажем, как увеличить скорость загрузки сайта на с помощью 9 простых способов. Вам не нужно быть гуру в области программирования, чтобы без труда следовать нашим инструкциям. Используя данное руководство, вы не только уменьшите количество пользователей, которые уйдут не дождавшись загрузки, но и заметно улучшите SEO составляющую сайта!

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к панели управления WordPress

Шаг 1 – Проверка скорости WordPress

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

Шаг 2 – Удаление ненужных плагинов и тем

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

Большое число такого рода плагинов может привести к серьезному снижению производительности WordPress. В качестве основы для нашего будущего процесса оптимизации, вы должны удалить или хотя бы отключить ненужные плагины. В идеале должны остаться лишь те плагины, которые необходимы для полноценной работы вашего сайта. Загляните в наше руководство по .

Шаг 3 – Минификация CSS, HTML и JavaScript

Минификация – один из самых полезных процессов для увеличения скорости работы сайта. Он заключается в уменьшении размеров файлов и скриптов (HTML, CSS, JS), путем удаления ненужных символов, вроде пробелов и комментариев из этих файлов.

Плагины которые могут помочь вам в процессе минифкации: Autoptimize и W3 Total Cache . Для более детального разбора процесса минификации, обратитесь к .

Шаг 4 – Включение Gzip сжатия

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

Для проверки того, включено ли Gzip сжатие используйте checkgzipcompression.com . Если нет, то отредактируйте файл добавив в него следующий код:

AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/opentype # For Older Browsers Which Can"t Handle Compression BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0 no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Вы также сможете найти руководство по этой теме, на вашем сервере. Также плагины, вроде WP-Rocket , могут автоматически включить Gzip сжатие на вашем сайте.

Шаг 5 – Оптимизация изображений

Вы можете подумать, что ввиду их статичности, изображения не оказывают особого влияния на скорость загрузки сайта. Но все совсем наоборот – изображения высокого качества оказывают огромное влияние на практически все ресурсы вашего сайта. Однако это совсем не означает, что вы должны отказаться от четких изображений в пользу маленьких и размытых эскизов. Существует множество способов для оптимизации изображений вашего сайта. К примеру, плагин WordPress – Smush Image Compression and Optimization предоставляет удобный способ для достижения более высокой производительности без потери качества изображений. Для более подробной информации по данной теме посмотрите отдельное .

Шаг 6 – Разделение длинного контента на страницы

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

Разбиение на страницы часто используется для раздела с комментариями, потому что загрузка тысяч комментариев на одной странице оказывает серьезное влияние на ресурсы сервера. В WordPress вы легко можете включить разделение на страницы – просто пройдите в раздел Настройки , далее Обсуждение . Здесь вы можете указать максимальное количество комментариев для страницы. Рекомендуется указать среднее значение. Малое количество комментариев на странице также может вызвать негативных эффект, так как пользователь может не захотеть постоянно переходить на следующую страницу для их просмотра.

В дополнение к разделу комментариев, разделение на страницы может помочь вам разделить статью. Это может быть весьма полезно для больших статей, так как пользователи не всегда любят большое количество текста. Разделение на страницы может быть реализовано добавлением кода nextpage–> в текстовую версию вашей статьи. WordPress автоматически обнаружит код и сделает разбивку на страницы.

Шаг 7 – Как увеличить скорость загрузки сайта с помощью изменения версии PHP

Это один из наименее известных советов. Однако он также является и одним из самых эффективных, чтобы увеличить скорость загрузки сайта. Переход с версии PHP 5 на PHP 7 может казаться довольно сложным, но преимущества говорят сами за себя. Производительность WordPress увеличивается в 2 раза при использовании PHP 7 в сравнении с PHP 5; первый может обработать на 112% больше запросов/секунду чем последний. Более того, WordPress получает неплохую прибавку в производительности благодаря оптимизации памяти PHP 7. Именно поэтому PHP 7 установлен в качестве стандартной версии PHP на всех тарифных планах нашего виртуального хостинга, .

Однако одна важная вещь, которую следует иметь в виду – отсутствие обратной совместимости у PHP 7. Это означает, что вы не сможете использовать определенные плагины и темы, включая те, которые отлично работают на PHP 5. Чтобы проверить, какие плагины и темы на вашем WordPress не поддерживаются PHP 7, используйте PHP Compatibility Checker.

Шаг 8 – Использование плагинов для кэширования

Кэширование – это известный механизм, позволяющий уменьшить часть нагрузки на сервер. В основном, кэш хранит информацию, которая часто используется в системе клиента (браузер, память), так что браузеру не нужно повторно получать эту информацию с сервера. Кэширование может существенно повысить производительность сайта и поэтому является одним из самых эффективных методов улучшения производительности WordPress.

Для WordPress доступно огромное количество плагинов, которые предлагают различные типы кеширования, WP-Rocket и W3 Total Cache .

Шаг 9 – Использование Сети Доставки Содержимого (CDN)

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

Когда вы включаете CDN на своем сайте, браузеру клиента больше не нужно извлекать каждую страницу с сервера, вместо этого некоторые статические страницы размещаются в центрах обработки данных, которые наиболее близко расположены к посетителю. Это уменьшает общее количество запросов, обрабатываемых сервером, что повышает производительность WordPress.

Выбор CDN просто огромен. Самые популярные из них Cloudflare и MaxCDN. Мы подготовили отдельное руководство по настройке Cloudflare для вашего сайта на WordPress, которое вы можете найти .

Заключение

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

Чтобы узнать больше советов по WordPress и получить информацию о других темах, посетите наш раздел .

Здравствуйте, уважаемые читатели! Сегодня у нас очень важная и интересная статья из разряда «намотай на ус». Как ускорить WordPress , чтобы страницы блога загружались в 3 раза быстрее, а нагрузка на хостинг снизилась в 2 раза!

На моем блоге уже есть статья, посвященная , но практика показала, что перечисленных в ней мер недостаточно. То время, что я мучился с хостингом , не было потрачено зря. Оно дало повод вновь взяться за оптимизацию работы моего блога. Результатом кропотливой работы стало ускорение WordPress в 3 раза и снижение нагрузки на хостинг примерно 2 раза. Очень неплохие результаты, учитывая, что мой WP был не в таком уж запущенном состоянии. Я бы даже сказал — пациент был скорее жив, чем мертв. Эх, нет предела совершенству!

Я бы выделил 10 самых важных шагов на пути ускорения WordPress. Рассмотрим подробно каждый из них.

1. Кэширование страниц.

Пожалуй, это самый важный пункт, без которого никак не обойтись. Принцип работы WP (да и большинства других CMS) таков, что страницы блога не лежат на сервере в статическом html формате, а генерируются на основе php кода при переходе на нее пользователя. Для каждого пользователя, каждая страница генерируется вновь и вновь! Это влечет неоправданный расход ресурсов сервера и значительно увеличивает время загрузки страниц.

Принцип кэширования прост — для страницы создается статическая html версия, которая отдается всем перешедшим на нее пользователям и существует в течении определенного времени (время жизни кэша), по истечении которого обновляется. Физически эта страница представляет собой файл в формате html, который лежит на сервере в отдельном каталоге.

Всю эту теорию я написал здесь только с одной целью, чтобы вы поняли простую истину — без кэширования жизни нет! Даже если на блог заходит пару человек, помимо них есть такие скрытые гости, как боты поисковых систем. Вот они то точно будут придираться к скорости загрузки страниц блога. Для реализации кэширования в WordPress советую воспользоваться одни из следующих плагинов:

  • — пожалуй, самый популярный плагин кэширования;
  • Super Cache — использую в настоящий момент.

Выбирайте любой из них. По качеству и функционалу они схожи.

2. Оптимизация скриптов и стилей плагинов wp.

Каждый новый плагин WordPress добавляет свои файлы со скриптами и стиля, при формировании страницы все они должны подключится. Это занимает определенное время. Чтобы его сэкономить, все дополнительные файлы стилей (и скриптов) следует объединить в один файл, который в последствии и будет подключаться. Не волнуйтесь, я не заставлю вас делать это в ручную (хотя можно было, просто ради прикола ), ведь есть замечательный .

3. Уменьшение объема файла style.css.

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

Кроме этого, если вы постоянно переделываете свою тему (как я ), то со временем в файле style.css накапливаются незадействованные нигде стили. От таких «мертвых» элементов следует своевременно избавляться. Для их отслеживания я пользуюсь бесплатным дополнением Dust Me Selectors для браузера FireFox. Скачать его можно .

4. Оптимизация языкового пакета.

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

5. Очистка шаблона header.php от лишнего php кода.

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

7. Тестирование скорости загрузки плагинов, удаление самых тяжелых.

10. Внешние факторы.

С этим злом я столкнулся недавно. Суть его заключается в большом числе запросов с одного или разных IP адресов. Основная цель — повысить нагрузку на сервер для торможения работы блога или его полного падения (DDos атака).

Долгое время об этой проблеме я даже не подозревал, только блог начал тормозить и время от времени выдавать ошибки. Перейдя на хостинг Hostenko, блог постоянно отключали из-за высокой нагрузки на сервер. Служба технической поддержки никакой помощи не оказывала, просто предлагала самостоятельно оптимизировать WP или приобрести VPS за немалые деньги.

В итоге я перенес свой блог на , где мне помогли выявит и устранить данную проблему, за что я им очень благодарен. Ребята действительно работают очень качественно и быстро. Решение заключалось в бане самых активных IP адресов и фильтрации запросов к некоторым файлам WP.

Как видите, нагрузка на сервер сократилась почти в 2 раза, а блог стал заметно быстрее работать.

Вот скажите, смогли бы вы решить подобную проблему самостоятельно без посторонней профессиональной помощи? Лично я нет. Так что последуйте моему примеру — выбирайте действительно качественный хостинг, чтобы его техническая поддержка была способна решить проблемы любой сложности, а не оставляла бы вас наедине с ними.

В процессе работы над ускорением WordPress, блог нужно постоянно тестировать на предмет выявления проблемных мест. Пожалуй, самый интересный и полезный бесплатный сервис онлайн тестирования загрузки блога tools.pingdom.com . Именно благодаря ему я отследил подключение ненужной библиотеки JavaScript и выявил пару неоправданно тяжелых картинок.

А вот и результаты согласно сервису WebWait, которые показал мой блог в итоге:

Просто шикарные! Искренне желаю, чтобы и ваш блог работал так же быстро! Поверьте, этого добиться не так уж и сложно.

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

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

Привет, друзья! Сегодня я бы хотел написать о том, как ускорить wordpress. Вы узнаете 10 способов, которые помогли моему блогу работать в несколько раз быстрее.

Для чего нужно ускорять блог?

2. Запретите обновления сайта.
У вас установлен wordpress и много плагинов. Все эти плагины и сам движок время от времени обновляются. И сайт начинает искать эти обновления в интернете. Таким образом, скорость вашего сайта уменьшается. Чтобы этого не было, я советую запретить обновления блога. Для этого есть разные плагины, но ми не будем ставить плагин, а воспользуемся вод таким кодом.

Этот код нужно вставить в файл functions.php в самый низ перед вод таким закрывающим знаком ?

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

А теперь обо всем по порядку. Для того, чтобы отключить ревизии, зайдите в wp-includes — default-constants.php
и замените там строчку

Чтобы отключить корзину, откройте файл wp-config.php и пропишите там строчку

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

4. Оптимизируйте базу данных для ускорение сайта.
Для этого есть замечательный плагин Optimeze DB . Скачайте его, установите, а потом активируйте. Дальше зайдите в Панель управления — плагины и нажмите на кнопку «optimize» Потом плагин можно деактивировать, чтобы он не нагружал сайт. И, примерно раз в две недели можете его активировать и нажимать на кнопку «optimize» .

И еще один совет. Не забывайте указывать ширину и высоту картинки. Так она будет быстрее загружаться.


Вод так неправильно:

А вод так правильно:

Как видно, в последнем варианте появились width и height . Это высота и ширина изображения. Их нужно указывать, несмотря на то, что без них картинка также будет загружаться нормально.

6. Удалите ненужные плагины для ускорение сайта.
Каждый плагин сильно нагружает базу данных. И чем их больше, тем хуже. Поэтому перейдите прямо сейчас в Панель управления – Плагины – Установление плагины , и посмотрите на каждый из них. Наверняка, некоторые можно заменить простим кодом, а некоторые вообще не нужны. Я лично на своих сайтах стараюсь многие функции реализовывать при помощи кода.

7. Оптимизируйте файл style.css для ускорение сайта.
Для этого нужно перейти на сайт styleneat.com и загрузить или скопировать и вставить туда свой файл стилей. Этот сайт поможет сжать файл, и таким образом стили будут загружаться намного быстрее, а значит и увеличиться скорость сайта. Но перед тем, как сжимать файл, я советую сделать его копию, поскольку после сжатия, сайт может отображаться не совсем правильно.

8. Защитите блог от спама
Это также очень важно для ускорение wordpress. Если спамеры будут сильно атаковать сайт, то это увеличить нагрузку на сервер и соответственно снизится скорость ресурса. Для того, чтобы от спама есть очень много плагинов. Я, например, установил Akismet , и мне его вполне хватает.

9. Перенесите все скрипты с header.php в footer.php

У каждого сайта есть очень много разных скриптов. Возможно, вы установили, какую-то статистику для сайта, или или еще что-то. Так вот, в инструкции по установлении скриптов часто советуют, что нужно вставлять код в файл header.php перед тегом /head . Иногда это действительно необходимо, но не всегда. В большинстве случаев коды лучше вставлять в файл foter.php перед тегом /body

Дело в том, что header.php это верх сайта, а footer.php низ. Сначала загружается верх, а потом соответственно низ. Так вот, чем меньше будет разных скриптов в файле header.php, тем блог будет быстрее грузиться. Поэтому, перенесите все скрипты с файла header.php в footer.php

10. Выберите быстрый хостинг.
Этот пункт, наверное, нужно было бы написать самим первым для ускорение wordpress, поскольку хостинг очень сильно влияет на загрузку любого ресурса. Я, например, выбрал для своих сайтов Макхост.
Он очень быстрый и дешевый. А самое главное то, что технична поддержка онлайн. Я очень часто задаю им разные технические вопросы, которые даже не касаются работы хостинга и ребята всегда отвечают. Они даже сами удалили вирус с моего сайта;-).

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

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

Ну что же, наверное, все что касается вопроса: «Как ускорить wordpress?» Надеюсь, вам понравилась статья;-). Если вы знаете еще какие-нибудь способы для ускорение сайта, то поделитесь в комментариях;-).