Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Windows 10
  • Как мега мощно ускорить свой wordpress блог? шагов по ускорению WordPress. Минификация и объединение CSS и Javascript файлов

Как мега мощно ускорить свой wordpress блог? шагов по ускорению WordPress. Минификация и объединение CSS и Javascript файлов

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

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

Честно признаюсь, что до написания этой статьи, я никак не оптимизировал сайт , сейчас же, я вместе с вами буду выполнять эту работу и посмотрим на сколько загрузка сайта ускорится… Сейчас она такова: 6,97 секунд на сайте http://tools.pingdom.com/fpt/ , а так же аж 61 секунду на http://sitespeed.ru/ — не думаю что это правда, но этот сайт имеет определенный авторитет…

После проделанной работы описанной ниже, скорость загрузки сайта значительно улучшилось. А это с 6,97 секунд скорость загрузки по первому показателю упала до 1,87. А по второму показателю с 61 секунды до 12,11 секунд… Результат просто шикарный, даже я удивлен


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

Ещё хочется добавить, что мой показывает, что средняя скорость загрузки сайта равно 10 секундам. Но это средняя, по этому посмотреть результат после проделанной работы будет невозможно. Давайте перейдем к уроку 😉

1. Выбор качественно хостинга.

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

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

2. Настройка Wp-Config.php — Ускорение работы сайта.

Так же хочется рассказать вам о способе настройки файла wp-config.php, который хранится в корневой папке вашего сайта, позволяющие немного снизить нагрузку на хостинг, тем самым ускорят загрузку сайта в интернете:

Найти в файле wp-config.php строку с помощью программы :

Define ("WPLANG", "ru_RU");

Заменить на:

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

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

3. Настройка Robots.txt — запрет на индексацию ненужным сайтам.

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

Рекомендую вам добавить , сразу же перед строкой «Host». После чего значительно меньше поисковых жуков будут посещать ваш сайт, тем самым уменьшая загрузку. Кроме Yandex и Google, часто к нам заходит Yahoo. Но она не очень популярна, по этому, если хотите ее исключить, то пропишите следующее:

User-agent: Slurp Disallow: /

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

4. Корректировка файла.Htaccess для снижения нагрузки на сервер.

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

Настройка №1: Довольно таки часто с наших сайтов копируют информацию вместе с картинками, когда такое происходит, в картинках, которые лежат на нашем сайте, не изменяют адреса, следовательно на чужих скопированных статьях картинки подгружаются из нашего сервера, что загружает его…

Сейчас мы с вами запретим подгружать изображения. Для этого в файле.Htaccess в самый верх добавить код:

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 .*\.(jpe?g|gif|bmp|png)$ - [F]

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

Настройка №2: Так же в файле.Htaccess мы можем указать на кэширование некоторых объектов, что бы не заставлять браузер пользователя загружать их несколько раз. Для этого в этом же файле ниже первого кода добавляем:

FileETag MTime Size ExpiresActive on ExpiresDefault "access plus 1 year"
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.*

Настройка №4: Вам известен ? Большинство этих комментариев отправляются автоматически, сейчас я вам расскажу как это предотвратить, да еще и ускорить скорость загрузки сайта. Просто добавьте код:

RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*сайт.* RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$

ВНИМАНИЕ!!! Не забудьте адрес сайт изменить на адрес своего сайта…

Настройка №5: Если вы пользуетесь системой FeedBurner, то у вас явно установлены , которые отправляют RSS-контент на сайт . Сегодня вы можете их удалить, потому что перенаправить контент можно и без плагинов, уменьшив нагрузку на хостинг.

RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner RewriteCond %{HTTP_USER_AGENT} !FeedValidator RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://сайт

ВНИМАНИЕ!!! Не забудьте изменить адрес на URL вашего фида в самой последней строчке…

5. Пинги — ускорение работы сайта.

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

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

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

6. Оптимизация базы данных.

Большое значении в скорости загрузки сайта имеет База данных, ведь именно оттуда сайт выгружает весь контент, которым мы в последующем пользуемся… Со временем База данных засоряется и её нужно не только очищать от ревизий, но и оптимизировать. Сделать это за вас сможет . Как пользоваться плагином я описывал ранее, так что пользуйтесь 😉

7. Оптимизация кода шаблона (темы).

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

Настройка №1 : Сперва необходимо уменьшить нагрузку на сайт, удалив ненужные обращения к Базе данных. В файле Header.php обычно используется стандартная вставка:

> ; charset=" />

Её можно заменить на:

Если вы используете на сайте не UTF-8, тогда в коде за словом Charset, замените на свою кодировку.

Настройка №2 : Найти код, который отвечает за стили в файле header.php:

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

Заменить на:

Внимание!!! Не забудьте изменить сайт на ссылку своего сайта…

Настройка №3 : Изменить код пинбеков:

" />

Настройка №4 : Изменение кода RSS ленты:

RSS Feed" href="" />

Изменить на:

Настройка №5 : Довольно часто в подвале сайта (footer.php), разработчики тем оставляют совершенно ненужные запросы к Базе данных. Например:

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

Настройка №6: Добавьте в файле header.php сразу же после :

1) Если ваш сайт не использует комментарии, не стоит их скрывать с помощью плагинов, это создает совершенно ненужную нагрузку. Так как вам комментарии совершенно не нужны, просто удалите следующий код из файла темы (single.php):

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

3) Так же почистите весь код вашего сайта от комментариев, данные комментарии вставляются с помощью тегов и /*код/. Оставьте только нужное, так как сайту приходится тратить лишние силы на их загрузку…

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

5) Так же старайтесь все дополнительные коды на подобии , либо размещать в подвале сайта, что бы они так же как и другие скрипты грузились только в самую последнюю очередь…

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

8. WordPress плагины — увеличить скорость загрузки сайта.

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

1) Удалите ненужные плагины… Со временем работающие плагины накапливаются, и когда их просматриваешь, удивляешься, сколько плагинов работают впустую и совершенно не нужны…

2) Деактивируйте ненужные плагины… Постарайтесь использовать как можно меньше Активированных плагинов, например такие как , не обязательно давать им работать постоянно. Сделал дело — отключил, понадобилось — включил обратно…

9. Оптимизация изображений для ускорения работы сайта.

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

1) Довольно часто изображения имеют слишком большой размер, не смотря на качество. Что бы сделать грамотное соотношение между размером и качеством изображений, предлагаю вам воспользоваться . С помощью него, вы сможете сжать картинки до минимального размера не теряя качества!

2) Не забывайте указывать размер изображения, при вставке в статью. Что бы дать границы картинке, достаточно в описании к изображению выбрать нужный вам размер. Так браузеры будут знать, какого размера загружать изображения и будут работать быстрее…

10. Ускорение сайта с помощью Кэширования.

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

2) Плагин Autoptimize — рекомендуют использовать вместе с Wp Super Cache. Никаких сверх настроек делать не нужно, просто активируйте плагин, в разделе «Настойки» -> «Autoptimize» поставьте галочки, и плагин будет работать… Будьте осторожны, проверьте работоспособность сайта после изменения настроек, что бы предостеречь себя от неприятностей…

3) Используйте плагин Wp Widget Cache — плагин который позволяет кэшировать виджеты, с чем не справляется плагин Wp Super Cache. О нем я напишу чуть позже, подписывайтесь на бесплатную рассылку уроков в блоке ниже статьи…

4) По желанию можете подключить плагин Wp Offload — с помощью которого можно кэшировать и различные статические файлы, включая изображения. Его я так же буду описывать немного позже… 😉

11. Увеличение скорости загрузки сайта с помощью оптимизации Базы данных.

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

С помощью — вы можете оптимизировать базу данных, и удалить мусор. Как это сделать я написал в прошлой статье…

Несколько мелочей, которые в сумме помогут вам ускорить загрузку сайта:

  1. На главной странице сайта выводите только , не нужно выводить полные статьи…
  2. Очень большие статьи разделяйте на страницы с помощью тега
  3. Не стоит выводить на главной странице больше 5-6 статей…
  4. Не стоит выводить под статьей больше 50 комментариев, пользуйтесь так же переключением страниц между комментариями…
  5. Установите поиск по сайту от Google или Yandex. Сайт будет искать информацию быстрее…

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

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

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

Выбор хорошего хостинга

Выбор хостинга оказывает огромное влияние на скорость сайта. Хороший веб-хостинг это основа, на которой будет стоять ваш сайт. Если вы работаете над повышением скорости загрузки сайта, первым делом обратите внимание на хостинг (даже если сайт не на WordPress).

Существует несчетное количество хостинг-провайдеров, рынок очень конкурентный. Так что стоит уделить немного времени и выбрать хороший хостинг. Чарльз Коста основательно рассмотрел данный вопрос, приведенный ниже список статей поможет вам двигаться в верном направлении и осознанно подойти к выбору хостинг-провайдера:

CDN

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

Кэширование

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

Минификация CSS и JS файлов

В процессе минификации CSS и JS файлы сжимаются до наименьшего размера, повышая тем самым скорость загрузки файлов браузерами. Если вы предпочитаете вручную минифицировать свои CSS и JS файлы, то вам пригодится YUI Compressor. Или можно воспользоваться WP Minify, который сделает всю работу за вас в автоматическом режиме. В некоторых плагинах для кэширования присутствует опция по минификации.

Сжатие изображений

Помимо того, что большие файлы изображений значительно замедляют сайт на WordPress, они еще сильно забивают пропускную способность сети. Изображения это отличный подопытный для оптимизации. Используйте WPMU DEV WordPress Smush API, плагин WP SmushIt поможет уменьшить размер изображений без потери качества. Я сам пользуюсь этим плагином и считаю удивительным то, насколько он снижает размер изображений.

Сжатие сайта

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

Плагин W3 Total Cache крайне популярен для кэширования, но с его помощь можно также сжимать сайты. Воспользоваться данной функцией можно, перейдя: admin page -> Performance -> Browser Cache -> Enable HTTP (gzip) Compression.

Оптимизация базы данных

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

Также как и ваш жесткий диск может стать фрагментированным, базы данных WordPress страдают от того же недуга. Тем не менее, для оптимизации базы данных можно воспользоваться плагином WP-Optimize или WP-DB Manager. С помощью последнего плагина можно не только оптимизировать базу данных, но и установить расписание для регулярной проверки.

Выбор правильных плагинов

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

Отключение пингбеков и трекбеков

По умолчанию, когда другой сайт упоминает о вас, ваш сайт получает об этом уведомление. Такие уведомления называются пингбеки и трекбеки. Их можно отключить: admin page -> settings -> discussion снимите две верхние галочки, как на скриншоте ниже.

Отключение данной функции не навредит вашему сайту.

Выбор правильной темы или темы-фреймворка

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

Оптимизация структуры домашней страницы

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

Включение Keep-Alive

HTTP Keep-Alive это идея использования TCP соединения для посылки и получения множественных HTTP запросов вместо открытия нового соединения под каждый запрос. На вашем хостинге данная функция может быть уже включена, так что сначала узнайте у вашего провайдера. Но если у вас самый обычный аккаунт, скопируйте строку кода ниже в файл.htaccess.

Wordpress в стандартной установке довольно медленный. По умолчанию движок не использует некоторые возможности современного Веба для значительного своего ускорения. Существует целая куча плагинов для оптимизации Wordpress"a. Давайте наведем в них порядок и проведем капитальную оптимизацию.

Прежде чем приступить, посмотрим, что показывает голая установка Wordpress по Pagespeed :

Результат 76 из 100 довольно низкий. Посмотрим, насколько можно увеличить этот показатель.

Серверная часть

Nginx
Если Вы еще не используете Nginx, пора переехать на него. Простое и мощное решение. Конфигурация для работы с поддержкой permalinks и кешированием статики:

Server { server_name wp.com; root /var/www/wp; # путь к WP index index.php; location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; # кеширование статики } location / { try_files $uri $uri/ /index.php?$args; # permalinks } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }

PHP кеш
Если у Вас нет каких-то особых причин, по которым Вы не можете установить APC, включайте его обязательно. Проверяем наличие APC (в ответ получим список настроек APC):

Php -i | grep apc

В версиях PHP после 5.5 есть встроенный модуль opCache, так что APC ставить не прийдется.

Тюнинг Mysql
Wordpress использует InnoDB, а это значит мы можем существенно увеличить производительность MySQL, подстроив ряд параметров (файл my.cnf) под наше железо:

Размер буфера InnoDB лучше поставить в половину доступной оперативной памяти:

Innodb_buffer_pool_size = 256M

Не забываем включить кеширование MySQL:

Query_cache_size = 32M query_cache_limit = 1M

Более расширенная настройка MySQL для Wordpress.

Кеширование

Это наиболее важный пункт. Кеширование может дать значительное ускорение сайта и экономию ресурсов сервера. Для наглядности будем использовать ab от Apache . Проверим стандартную установку Wordpress без кеширования. Запросы направляем через локальную сеть, поэтому задержку ничего, кроме самого Wordpress"a не создает:

Ab -c 10 -n 500 http://wordpress/

Получаем среднее время на запрос около 50мс:

Total transferred: 4183000 bytes HTML transferred: 4074500 bytes Requests per second: 17.62 [#/sec] (mean) Time per request: 567.421 (mean) Time per request: 56.742 (mean, across all concurrent requests) Transfer rate: 143.98 received

Хром показывает среднее ожидание ответа на уровне 150мс (сервер находится в Нидерландах):

WP Super Cache
Этот плагин позволяет включить кеширование буквально в одно действие. Кроме стандартных настроек, он содержит большое количество параметров для тюнинга кеша. Качаем плагин, активируем его в панели управления и включаем кеш:

С включенным WP Super Cache получаем уменьшение среднего времени на запрос в 25 раз(!):

Total transferred: 4293500 bytes HTML transferred: 4146500 bytes Requests per second: 499.01 [#/sec] (mean) Time per request: 20.040 (mean) Time per request: 2.004 (mean, across all concurrent requests) Transfer rate: 4184.61 received

Cреднее ожидание ответа в Хроме уменьшилось в 3 раза:

В качестве серверной альтернативы WP Super Cache можно использовать Varnish . Он позволяет снизить время на обработку запроса еще почти на порядок, но само решение менее гибкое (хорошо подойдет для блогов без элементов динамики).

Стили, скрипты и картинки

Минификация и сжатие
Минификация CSS/JS может сэкономить 10...15% их размера. Для включения минификации статики есть модуль WP Minify . Качайте, активируйте и модуль начнет работать. Gzip позволит уменьшить размер текстовых файлов в несколько раз. В Nginx"e включается так:

Server { ... gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; ... }

Оптимизация картинок
Картинки могут составлять очень большую часть общего размера страницы. Lossless сжатие картинок может сэкономить 30...40% их размера. Это умеет делать модуль EWWW Image Optimizer . Для его работы понадобится установить imagemagick и библиотеку gd:

Apt-get install imagemagick php5-gd

Хорошие практики и опыт

  • Лучше всего выбирать VPS для хостинга Wordpress. На Shared хостинге многое из описанного выше сделать невозможно. Кроме этого, VPS сейчас достаточно дешевый.
  • Проверяйте темы с помощью Pagespeed перед использованием
  • Очищайте корзину
  • Удаляйте старые ревизии постов
  • Удаляйте спам-комментарии
  • Отключайте трекбеки в моменты, когда все становится совсем медленно
  • Раздавайте RSS через feedburner

В результате

У нас получилось голую установку Wordpress разогнать почти в 100 раз по времени генерации страницы (мы включили Varnish) и увеличить показатель по Pagespeed с 76 до 93:

Рано или поздно все начинающие веб-мастера сталкиваются с проблемой скорости загрузки страниц сайта. Владельцы сайтов на платформе WordPress не являются исключением. Спустя месяц-два все сайты на WordPress начинают «тупить», причиной того может стать много факторов. В данной статье мы разберем основные причины и способы как ускорить сайт на wordpress.


Навигация по странице:

10 советов по ускорению загрузки сайта на WordPress

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

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

Давайте перечислим как возможно ускорить сайт на wordpress:

  • gZIP сжатие;
  • уменьшаем css и JavaScript;
  • сокращение размера заголовка отзыва;
  • очистка базы данных от мусора;
  • убрать лишний JavaScript;
  • использовать кэширование для статического контента;
  • расположение css и JavaScript;
  • пользуйтесь поддоменами для паралельного скачивания;
  • откажитесь от ненужных плагинов;
  • выберите быстрый хостинг для своего сайта.

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

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

Как проверить включено ли gzip сжатие

Для того что бы проверить включено ли сжатие на вашем сервере можно воспользоваться сайтом whatsmyip.org который покажет сжимаются ли ваши данные и на сколько эффективно.

Если по результатам проверки вы получите следующее:

Значит ваши данные сжимаются и у вас все правильно работает.

Для формирования страницы мы используем наши каскадные таблицы стилей (CSS) и JavaScript, это все отнимает массу времени для загрузки нашей страницы. Что бы улучшить и ускорить наши стили и скрипты нужно их уменьшить, и придать им минимального размера.

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

Чем больше у нас на загружаемой странице компонентов, таких как:

  • картинки;
  • скрипты;
  • флеш анимации и т.д.

тем медленнее она грузиться. Ведь правило протокола HTTP/1.1 ставит ограничение одновременной загрузки компонентов с одного хоста на уровне 2 штук. Таким образом у наши части страницы грузятся медленно и частями. Решение этой проблемы так же есть, и его мы детально разберем в следующей публикации.

Бывает так, что веб-мастер по незнанию или забывчивости забывает чистить базу данных, которая имеет свойство чрезмерно расти, особенно в WordPress.

Загрязненная БД приведет к огромным задержкам при загрузке, из-за того что количество переборов будет очень велико. Правильно настроена корректировка внесения данных в базу и ее от «шлака» поможет вам сохранить скорость и чистоту, позволит неплохо ускорить сайт на wordpress.

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

Совет 6. Использование кэширования позволит как ускорить сайт на wordpress

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

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

Для кэширования можно использовать , или другой понравившийся вам плагин.

Совет 7. Правильно располагайте ваши css и JavaScript включения.

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

В то же время Google рекомендует опускать все файлы стилей вниз документа, якобы они мешают загрузке контента, по сути так оно и есть. Что же выбрать в данном случае? Этот спор поможет решить небольшой эксперимент. Если у вас «тяжелый» CSS файл, с огромным количеством правил, и при загрузке страницы сайта, все элементы прыгают, тогда размещайте в хедере, если же при расположении подключения стилей в футере ничего такого не происходит, тогда лучше оставить его внизу. Нужно из двух зол выбирать меньшее.

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

Совет 8. Пользуйтесь поддоменами для параллельного скачивания

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

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

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

Представлена отдельно.

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

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

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

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

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

Оптимизация изображений WordPress

Без изображений ваш сайт вряд ли обойдется, поэтому важно, чтобы они были оптимизированы.

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

Удаляйте всю лишнюю информацию из фотографий (дата создания, камера, GPS- координаты и прочее, что можно найти в свойствах файла). С этим вам поможет плагин для оптимизации изображений WordPress WP Smush.it.

Ускорить WordPress помогут CSS-спрайты — техника CSS, которая позволяет объединить все элементы дизайна на странице в одно изображение. В результате вместо того, чтобы загружать множество отдельных изображений, каждый раз делая HTTP-запрос, сайт откроет одно изображение. Использовать CSS-спрайты можно в том случае, если текущая тема вашего сайта их поддерживает.

Существует множество плагинов, которые помогут вам уменьшить размер изображений. Например, EWWW Image Optimizer или уже упомянутый WP Smush.it. Можно использовать и сторонние сервисы для уменьшения размера картинок. Например, сервис Tinyjpg отлично уменьшает размер изображений без потери качества.

Покажем, как обработать все ваши изображения С EWWW Image Optimizer всего в несколько кликов:

После того, как вы установили и активировали плагин, зайдите в администраторскую панель WordPress и перейдите в меню Медиафайлы >> Массовая оптимизация:


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

Если вам нужно оптимизировать изображение вне библиотеки медиафайлов (например, графические элементы активной темы), воспользуйтесь кнопкой “Сканировать и оптимизировать”.


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

Сжатие файлов

Оптимизация сайта WordPress возможна и через сжатие файлов. Если вы пользуетесь хостинговой панелью cPanel, то можете воспользоваться меню “Оптимизировать веб-сайт”.


Пользоваться им очень легко: просто выберите опцию “Сжать все содержимое” и нажмите “Обновить параметры”. Таким образом все файлы вашего сайта сожмутся. Если же вы хотите сжать только определенный тип файлов, то воспользуйтесь опцией “Сжать указанные типы MIME”.

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

Используя.htaccess файл вашего сайта, вы можете настроить период хранения статического контента (CSS, Javascript, изображение и прочее) в браузерах. Это значительно сократит время загрузки вашего сайта для постоянных посетителей.

Откройте.htaccess файл, расположенный в корневой директории сайта, и добавьте следующий код:

ExpiresActive on
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/jpeg "access plus 60 days"
ExpiresByType text/css "access plus 2 weeks"
ExpiresByType image/x-icon "access plus 2 weeks"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType audio/x-wav "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType video/mpeg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType video/x-ms-wmv "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType text/javascript "access plus 2 weeks"
ExpiresByType application/x-javascript "access plus 2 weeks"
ExpiresByType application/javascript "access plus 2 weeks"

Срок хранения можно изменить в зависимости от ваших требований.

Важно: перед внесением любых правок в.htaccess сделайте бэкап этого файла. Если с файлом.htaccess что-то пойдет не так, сайт не будет работать.

Кэширование WordPress

Такие плагины значительно улучшат скорость загрузки страниц. Самые популярные — W3 Total Cache и WP Super Cache. Главное отличие между ними — это то, что W3 Total Cache поддается более гибкой настройке.

Рассмотрим пример настройки W3 Total Cache:

После того, как вы установили плагин, в панели управления WordPress перейдите в меню Плагины >> Установленные >> W3 Total Cache >> Settings.


Важно: если вы являетесь пользователем виртуального хостинга, помните, что все возможные варианты кэширования не должны быть включены одновременно (избегайте использовать опцию Toggle all caching types on or off (at once)). Если Object caching и Database caching включены, они могут вызвать проблемы с использованием ресурсов вашего хостингового аккаунта без улучшения скорости загрузки страницы. Но если ваш сайт находится на VPS или выделенном сервере, то вас это не коснется.

В меню Settings включите следующие опции:

  • Page Cache
  • Minify
  • Browser Cache

И после этого нажмите на кнопку “Save All Settings”.

Используя плагин кэширования для WordPress, сайт будет загружаться быстрее.

Использование CDN

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

Одним из самых популярных сервисов CDN является Cloudflare . Именно его мы и советуем использовать нашим клиентом и предлагаем вместе со всеми пакетами виртуального хостинга.

Все остальные пункты ниже влияют не так влияют на скорость загрузки страницы, как на оптимизацию использования ресурсов и общий пользовательский опыт, поэтому они не менее важны.

Оптимизация домашней страницы

Первое, что люди видят на вашем сайте — это домашняя страница. А если пользователь попал сразу на какую-то другую страницу, то всё равно многие переходят после этого на главную. Несколько советов по оптимизации домашней страницы:

LazyLoad — плагины, которые помогают осуществлять отложенную загрузку изображений. Это актуально для сайтов, на которых изображений очень много. Загрузка изображения начинается только тогда, когда пользователь долистывает до определенного места на странице. Следовательно, если на странице есть изображение в самом конце, а пользователь просто не долистал до этого места, то загрузка изображения не произойдет. Пример такого плагина — jQuery Image Lazy Load.

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

Включение защиты от хотлинкинга

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

Если вы являетесь пользователем cPanel, вы можете воспользоваться встроенной опцией “Защита Hotlink”.


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

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yourdomain\.com/ RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

При помощи этого кода ваш сервер проверяет, откуда именно пришел запрос: если со страниц вашего сайта, то он отдаст изображение пользователю без проблем; если же с чужого сайта – то сервер показывает изображение с ошибкой (nohotlink.jpg – любое изображение, которое вы захотите использовать с этой целью).

Вот и все! Это те базовые опции по оптимизации сайта на WordPress, которые не потребуют от вас много времени, но смогут улучшить работу вашего сайта.

Лучшие статьи по теме