15.11.2018     0
 

Как я ускорил один из своих сайтов на WordPress в 9 раз, отключив 4 плагина


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

На днях мне показалось, что один из моих сайтов слишком долго грузится. Я проверил его с помощью инструментов разработчика Firefox и ужаснулся: время начала прорисовки (TTFB) – больше 9 секунд, время полной загрузки – около 20 секунд. Это просто кошмар!

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

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

Как это узнать?

Анализ работы плагинов с помощью плагина профилирования P3

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

Раз проблема в плагинах, то, может быть, есть плагин, который отслеживает процесс работы всех остальных плагинах? Оказалось, что есть.

Я поставил плагин профилирования P3 (Plugin Perfomance Profiler). Это довольно старый плагин, который уже не обновляется, но, тем не менее, вполне себе рабочий. За время его работы я обнаружил лишь один существенный недостаток: чтобы запустить его повторно, нужно было очистить кэш (что я выяснил методом проб и ошибок).

Запустил сканирование, и вот что выяснилось: львиную долю тормозов дают 4 плагина, которые я бы никогда в этом не заподозрил.

Вот эти плагины:

  1. [ram] Web Typography Standarts
  2. Pure PHP Localisation
  3. RustoLat
  4. Loco Translate

[ram] Web Typography Standarts – плагин-типограф. Он на лету обрабатывает текст, приводя его к типографскому виду: заменяет чёрточки длинным тире, обычные кавычки типографскими, убирает лишние пробелы и так далее. Вот уж бы не подумал, к тому же, у меня на сайте работает кэширование, и типограф вообще не должен вызывать проблем.

Но нет – с отключенным типографом TTFB снизилось с 9 до 3 секунд!!!

Вдохновлённый успехом, я отключил оставшиеся три плагина.

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

RustoLat – плагин, который позволяет делать ЧПУ для постов. ЧПУ – «человекопонятные урлы», то есть, ссылки, понятные человеку. Используют этот плагин в основном для транслитерации. По умолчанию WordPress делает ссылку для поста прямо из его названия, то есть, если ваш пост называется «Кто убил Лору Палмер», то WordPress даст посту вот такую ссылку: http://site.ru/кто-убил-лору-палмер. Половина на русском, половина на английском, нормально работать не будет, чёрти-что. RustoLat автоматически транслитерирует название поста, выдавая более приличную ссылку: http://site.ru/kto-ubil-loru-palmer

Но, если не лениться, можно самому прописывать ЧПУ в текстовом редакторе WordPress, поэтому плагин я отключил.

Loco Translate – незаменимый плагин локализации сайта. Если у вас англоязычная тема WordPress, то с помощью этого плагина можно перевести её на русский быстро и безболезненно. При этом плагин держать во включенном состоянии постоянно не обязательно, и можно включать его только на время работы над переводом. Поэтому и его я отключил.

Что в итоге? Время полной загрузки сайта сократилось до 3-4 секунд, а TTFB – до 1 секунды. Это время можно (и нужно) уменьшать, но уже другими путями, потому что следующие претенденты на тормоза – это мегаполезный плагин Yoast SEO и счётчик Яндекс.Метрики, с которыми я пока расстаться не готов.

Поэтому я включил более мощное кэширование, но об этом расскажу в следующий раз.

К сожалению, я не сделал скриншот тормозов сайта «до», поэтому можете поверить мне на слово. Или не поверить.

А вот как выглядит скрин итогового отчёта P3 Plugin Perfomance Profiler:

Скриншот отчёта P3

Надеюсь, мой опыт вам поможет.

 

 


Поделиться
Отправить
Класснуть

Об авторе: Михаил Соловьёв

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

Оставить комментарий

avatar
  Подписаться  
Уведомление о