Как ускорить блог на вордпресс. Как мега мощно ускорить свой wordpress блог? Оптимизация изображений с помощью сжатия

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:

Как известно поисковая система Google оценивает сайт более чем по 300-м параметрам, а Яндекс пошел ещё дальше и учитывает более 700 факторов, которые влияют на поисковую выдачу. Большинство из низ не известно, но мы совершенно точно знаем как минимум пару десятков наиболее важных параметров, которые должны быть на высоте, если вы хотите чтобы сайт пробился в топ. Один из таких скорость загрузки вашего ресурса.

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

  • Кеш браузера
  • Код JavaScript и CSS
  • Код HTML
  • Размеры изображений и их «вес»
  • Сжатие gzip
  • Размеры элементов
  • Всплывающие окна
  • Работа сервера
  • Количество элементов на страницу

Начинаем битву за скорость WordPress

Шаг №1. Как проверить скорость загрузки сайта и определить проблемные места?!

Сервисы для анализа сайта

Сервисы для анализа сайта

Для начала мы проверяем свой сайт для этого воспользуемся двумя замечательными бесплатными сервисами. Определение скорости загрузки – Google PageSpeed Tools и анализ сайта PR-CY . Есть и другие, но я думаю это лучшие, они дают наиболее точную оценку.

Используя их, вы поймете, что идеальных сайтов нет! У всех есть своя доля ошибок и проблемных мест.

Шаг №2. Меняем размеры и «вес» изображений на сайте

Как уменьшить изображения

Как уменьшить изображения

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

Уменьшаем размер перед загрузкой на сайт.

Можно менять размер перед «заливкой», для этого применяются графические редакторы или специальные программы. Самый простой откорректировать в банальной «Paint». Уменьшить до нескольких десятков килобайт.

Используем плагины WordPress.

Я пользуюсь именно этим методом в комплексе с первым. Для начала большие изображения уменьшаю в редакторе, а затем они автоматически сжимаются при загрузке на сервер с помощью плагина WP Smush . Он является самым популярным и удобным в обращении. Простой интерфейс и автоматическая работа. Кроме того вы можете сжать уже загруженные изображения до установки данного плагина. Делается это достаточно просто, заходите в библиотеку медиафайлов и возле каждого нажимаете «Smush Now».

При загрузке новых изображений, они корректируются автоматически.

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

Плагины WordPress для сжатия изображений:

  • Плагин WP — EWWW Image Optimizer
  • Плагин WP — TinyPNG / TinyJPG
  • Плагин WP — Resize Image After Upload
  • Плагин WP — ShortPixel Image Optimizer
  • Плагин WP — Kraken Image Optimizer
  • Плагин WP — Imagify
  • Плагин WP — Optimus
  • Плагин WP — CW image optimizer
  • Плагин WP — SEO Friendly Images
  • Плагин WP — Lazy load
  • Плагин WP — Compress JPEG and PNG images
  • Плагин WP — BJ Lazy Load
  • Плагин WP — Prizm Image

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

Шаг №3. Оптимизируем отображение картинок на страницах wordpress. Улучшаем «юзабилити»

Пользователь сам определяет размер

Я думаю не стоит обсуждать, что быстрее загрузится картинка в полном размере или её миниатюра. Ответ очевиден! Но миниатюра не дает возможность рассмотреть ваш скрин или фото в полном объеме. Особенно если на них имеются надписи. Как быть!? Есть золотая середина, увеличение картинок по клику мышки, в этом нам поможет плагин wp — . Уверен он лучший в своем роде, у него вообще нет настроек. Установили – он работает – очень удобно и просто.

Итак что мы делаем. Устанавливаем и активируем плагин Auto-highslide . Все изображения должны отображаться в среднем размере, а в разделе ссылка должно стоять – «Медиафайл» — иначе плагин Auto-highslide не будет работать. Смотрите на скрин ниже.

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

К слову, плагин wordpress — Auto-highslide не доступен для скачивания из админки, вы можете скачать его с нашей группы ВКонтакте в разделе документы . А полная статья о нём .

Шаг №4. Кеширование страниц сайта wp

Настраиваем кеш WordPress

Настраиваем кеш WordPress

Кеширование страниц – это важнейший параметр скорости загрузки сайта. Вы можете иметь ошибки в CSS и JavaScript, но кеш должен быть настроен обязательно. Он способен увеличить скорость загрузки вашего ресурса в несколько раз. Да, да вы не ослышались в несколько раз!

Есть несколько вариантов

Первый – это откорректировать файл.htaccess, но я стараюсь не ковырять код собственных сайтов, чего и вам советую. Лучше доверится специалистам. Однако если вы хотите рискнуть, то в файл.htaccess вставляем следующий код:

FileETag MTime Size

ExpiresActive on

ExpiresDefault «access plus 1 year»

Второй способ , наиболее распространенный – использовать плагин кеширования. Самый простой среди них – это WP Super Cache. Он не конфликтный, простой в настройке и подходит большинству блогов на wordpress.

Скачать WP Super Cache можно из админки. Устанавливаем и активируем.

Настройки WP Super Cache

Всё делаем как на скринах ниже:

И не забывайте сохранять настройки на каждой вкладке!

Есть также и другие плагины wordpress для кеширования:

  • Плагин WP — WP-Cache
  • Плагин WP — Hyper Cache
  • Плагин WP — WP-Cache.Com
  • Плагин WP — WP Rocket
  • Плагин WP — WP Fastest Cache
  • Плагин WP — WP Fast Cache
  • Плагин WP — Wordfence Falcon
  • Плагин WP — W3 Total Cache
  • Плагин WP — Super Static Cache
  • Плагин WP — Really Static
  • Плагин WP — Next Level Cache
  • Плагин WP — Lite Cache
  • Плагин WP — Hyper Cache Extended
  • Плагин WP — Gator Cache
  • Плагин WP — Flexicache
  • Плагин WP — Cachify
  • Плагин WP — AIO Cache
  • Плагин WP — Alpha Cache
  • Плагин WP — Bodi0’s Easy Cache
  • Плагин WP — Zen Cache (formerly Quick Cache)
  • Плагин WP — Quick Cache (Speed Without Compromise)

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

Ускоряем отображение элементов страниц

Шаг №6. Уменьшаем количество HTTP запросов, сжатие gzip

Отличный плагин для ускорения

Отличный плагин для ускорения

Продолжаем ускорять wordpress. Первое что мы делаем в этом разделе – устанавливаем Far Future Expiration Plugin. Это достаточно простой плагин, он уменьшает количество HTTP запросов. Кроме того позволяет использовать gzip сжатие.

Настройки Future Expiration Plugin

Важно!!! Если вы уже используете gzip сжатие с другим плагином, то поставьте галочку Enable Gzip Compression, дабы не было конфликтов. Напомню – если вы установили плагины кеширования, то обратите внимание – они тоже используют gzip. Если у вас стоит W3 Total Cache или WP Super Cache, то галочка также должна стоять в Enable Gzip.

Шаг №7. Оптимизируем CSS, JavaScrit и HTML коды

Как оптимизировать коды на wordpress

При оптимизации кодов и их сокращения варианта два – ковырять блог или установить плагин. Я предложу самый простой из них. Вы уже наверно догадались?! Берем плагин Autoptimize. Он описан в статье .

Устанавливаем, активируем. И сохраняем настройки по умолчанию. Там сложного ничего нет.

У него кстати есть альтернативный вариант – это Better WordPress Minify.

Шаг №8. Как уменьшить время ответа сервера wordpress

Проблема на сервере или на сайте

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

Как решить проблему на сайте.

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

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

Шаг №9. Уменьшаем количество элементов на странице

Делаем сайт простым и понятным

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

То же должно быть и на вашем сайте! Уберите ненужные блоки из сайдбаров, сократите число рубрик, введите иерархию в разделах. В объемных статья добавьте шорткоды, возможно открывающиеся по клику пункты – например как в этой статье. Не используйте длинные HTML коды и скрипты, по возможности смещайте их в низ страницы. По возможности не используйте всплывающие окна – их никто не любит, ни поисковики, ни живые люди!!!

Но есть одно важное уточнение, по мере того как вы будете изменять сайт добавлять что-то новое, новые плагины или элементы меню, сайдбаров и прочего, результаты тестов могут меняться!!!

За сим Всё. Если у вас есть вопросы или дополнения к статье – пишите их в комментариях!

Вконтакте

Ускорение сайта WordPress до максимума. Увеличиваем скорость загрузки сайта.

Как известно поисковая система Google оценивает сайт более чем по 300-м параметрам, а Яндекс пошел ещё дальше и учитывает более 700 факторов, которые влияют на поисковую выдачу. Большинство из низ не известно, но мы совершенно точно знаем как минимум пару десятков наиболее важных параметров, которые должны быть на высоте, если вы хотите чтобы сайт пробился в топ. Один из таких скорость загрузки вашего ресурса. Кроме того сама характеристика скорости делится на несколько пунктов, а именно: Кеш браузера Код JavaScript и CSS Код HTML Время ответа сервера Загрузка видимого контента Размеры изображений и их «вес» Сжатие gzip…

Обзор

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

Однако если ваш сайт установлен на WP, то эта статья будет очень полезна для вас. Я раскрою все секреты, как ускорить сайт на WordPress за 10 шагов. Но прежде, чем приступать к ускорению сайта, давайте посмотрим, какая у нас скорость загрузки страниц?

Несколько отличных сервисов для проверки скорости сайта:

  1. — простой инструмент от Гугл, который показывает все ошибки, мешающие загрузить сайт быстро. Он нам нужен, только для того, что бы узнать основные ошибки для исправлений.
  2. — навороченный инструмент, который наглядно показывает, как загружается каждый элемент вашего сайта и сколько времени на это затрачивается. А так же вы узнаете, как пользователи видят ваш сайт по секундам.

Многие проверяют скорость только главной страницы — это ошибка! Всего 10% посетителей увидят вашу главную страницу, все остальные люди будут читать статьи.

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




В сервисе WebPageTest обязательно нажимайте на кнопку waterfall, что бы получить все данные в форме водопада. Это даст нам данные о TTFB (скорости передачи первого байта от хостинга) и путь рендеринга (когда пользователь получает отображенный сайт).

10 шагов по ускорению WordPress

1. Скорость хостинга — TTFB

Быстрый и качественный хостинг позволяет молниеносно передавать мегобайты данных о вашем сайте пользователям. Но как определить скорость и качество хостинга?

Переходим к анализа скорости сайта на WebPageTest. Стрелочкой я показал, за какой промежуток времени мой хостинг начинает передавать данные (первый байт информации или TTFB).Время составило 0,303 секунды, что достаточно хороший результат. Быстрый хостинг всегда показывает результаты от 0,2 до 0,4 сек — идеальные показатели!

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

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

2. Настройка WordPress

WordPress по какой-то причине передает много лишней информации из-за чего сайт не реально тормозит, особенно при большой посещаемости. Наша цель правильно настроить WP и убрать всё лишнее.

Первые делом переходим в административную панель > «настройки» > «написание» и убираем 2 галочки.Потом переходим во вкладку «обсуждение» и убираем галочки так же с двух пунктов. При желание в этой вкладке можно отменить пункт «показывать аватарку» это дает ускорение страниц на 10%, где есть аватарки.

Последнее, что осталось сделать это защитить сайт от различных атак, которые могут сильно нагружать сервер и заставлять тормозить сайт. А владелец сайта может даже не подозревать, что сайт тормозит из-за постоянных атак.
Плагин All In One WP Security позволит отвести практический любую угрозу от вашего сайта. Он может предотвращать спам в комментариях, поменять страницу входа, установить файрволл, защитить файлы от взлома, защитить базу данных и поменять пароли и доступы к самым нужным файлам.

Ну а если вас заинтересовала тема полной защиты сайта, тогда рекомендую прочитать — .

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

Здравствуйте, уважаемые читатели! Сегодня у нас очень важная и интересная статья из разряда «намотай на ус». Как ускорить 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 для создания своих сайтов совершенно разных тематик и направлений. В результате, на этой системе управления контентом работает практически половина сайтов, в основе которых лежит какая-либо CMS вообще. Сегодня это около 74 млн. сайтов (статистика). И конечно, вопрос о том, как правильно, безопасно и максимально ускорить свой сайт на WordPress является чрезвычайно актуальным для многих.

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

Итак, разгоняем наш любимый WordPress в 2017 году. Поехали!

1. Используйте надежный фреймворк/тему

За каждым WordPress-сайтом лежит тема или фреймворк, и это иногда может приводить к проблемам. Каждая тема написана по-разному, и потому одни зачастую темы лучше, чем другие. Дефолтные WordPress-темы типа Twenty Fifteen, очень быстрые, потому что легковесные.

Будьте осторожны, когда покупаете темы на таких мега популярных сайтах, как ThemeForest и Creative Market. Несмотря на то, что там много великолепных тем, вы должны понимать, что разработчики часто добавляете функции просто, чтоб увеличить продажи. Так что главное — найти правильных разработчиков. И именно о таких мы не раз на страницах этого сайта.

Так же, такие легкие фреймворки, как Thesis Theme framework и Genesis также известны тем, что на их основе разрабатываются быстрые и хорошо написанные темы.

2. Использование кэширования

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

Плагины кэширования

Вот несколько лучших бесплатных и платных плагинов кэширования:

Установка и правильная настройка плагина кэширования может привести к увеличению производительности в 200-300%!

Обход PHP для кэшируемых страниц

Ниже представлена более продвинутая конфигурация Nginx обхода PHP для кэширования страниц. Этот пример оптимизирован для плагина Cache Enabler.

Пример конфигурации Nginx

Set $cache_path $request_uri; # bypass cache if query string not empty if ($query_string) { set $cache_path "nocache"; } # bypass cache for POST requests if ($request_method = POST) { set $cache_path "nocache"; } # bypass cache for admin area if ($request_uri ~ /wp-admin/) { set $cache_path "nocache"; } # bypass cache for logged in users if ($http_cookie ~ (wp-postpass|wordpress_logged_in|comment_author)_) { set $cache_path "nocache"; } location / { try_files /wp-content/cache/cache-enabler/${http_host}${cache_path}index.html $uri $uri/ /index.php?$args; }

Кэширование браузера – добавьте заголовки Expires к WordPress

Вы также можете добавить кэширование браузера, добавив заголовки expires. Заголовки Expires говорят браузеру, должны kb они запросить определенный файл с сервера или они должны захватить их из кэша браузера. Добавляя их, вы можете уменьшить количество HTTP-запросов, которые им нужны. Некоторые плагины кэширования для WordPress позволяют добавить их, но вы также можете просто добавить код в ваш файл .htaccess

# Enable expirations ExpiresActive On # Default directive ExpiresDefault "access plus 1 month" # My favicon ExpiresByType image/x-icon "access plus 1 year" # Images ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" # CSS ExpiresByType text/css "access plus 1 month" # Javascript ExpiresByType application/javascript "access plus 1 year"

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

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

Prefetch обычно используемых доменов

Prefetching – это нечто сходное кэшированию в том смысле, что вы тоже говорите браузеру, типа Chrome, что нужно найти DNS-настройки перед тем, как они на самом деле понадобятся. Благодаря этому «прошиваются» страницы и запросы любых prefetched-доменов, которые еще не кэшируются, и они начинают работать быстрее.

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

Prefetch Google шрифты:

Prefetch Google код (jQuery)

Prefetch Google Analytics

Удаляем Query Strings из статичных ресурсов

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

Отредактируйте ваш файл functions.php , чтоб включить туда функцию, которая удалит query strings.

Function _remove_script_version($src){ $parts = explode("?ver", $src); return $parts; } add_filter("script_loader_src", "_remove_script_version", 15, 1); add_filter("style_loader_src", "_remove_script_version", 15, 1);

Если вы используете плагин кэширования типа W3 Total Cache, то у вас есть опция, которая предотвращает создание query strings. Есть бесплатные WordPress-плагины, которые также могут удалить query strings, и это плагины Query Strings Remover и .

3. Внедрение сети доставки содержимого (Content Delivery Network)

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

Загрузка всех ассетов из WordPress CDN

Убедитесь в том, что вы загружаете даже самые мелкие файлы, типа фавикона, из вашей CDN. Если загружено все из CDN, то создается одно единое соединение. Чтобы твикнуть ваш фавикон, просто киньте его в корневой каталог вашей инсталляции WordPress с помощью FTP, а затем добавить следующее в ваш header.php между тегами head.

Как вы видите из примера ниже, загружено 100% ваших ассетов из CDN.

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

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

Отключение и ограничение количества версий постов в WordPress

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

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

Отключение создания версий WordPress-постов

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

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", false);

Также есть бесплатный маленький плагин, который называется Disable Post Revision . Он делает тоже самое без необходимости копаться в коде.

Ограничение количества сохраненных версий WordPress-постов

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

Define("AUTOSAVE_INTERVAL", 300); // seconds define("WP_POST_REVISIONS", 3);

Удаление старых версий постов из вашей базы данных

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

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

Предупреждение об ограничении WordPress в 100 сраниц

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

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

Решение? Вам нужно начать использовать кастомные типы записей. Вы можете использовать бесплатный плагин типа Post Type Switcher , если у вас много страниц, и вы хотите конвертировать их в кастомные типы записей.

5. Оптимизируйте картинки, используя компрессию без потерь

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

6. Компрессия Gzip

18. Выберете надежный веб-хостинг

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

О наиболее бюджетных и провернных в .