Как ускорить сайт, блог на WordPress — мои грабли

Содержание:

Открыл https://developers.google.com и удивился, как упала оценка некоторых проектов (гугл становится всё придирчивее). Надо ускорять и удалять лишнее.

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

Пообщался со специалистами, поспрашивал сапорт хостингов на предмет оптимальной версии php для скорости работы WP. Не подумайте, что это праздный вопрос. К примеру, 5.2 в своё время давала мне бОльшую скорость и гораздо меньшую нагрузку на хостинг чем 5.4.

По словам знающих людей 7.0 в разы увеличивает скорость wp чем 5.6. Определённо стоит перейти на более свежую версию php. Но 7.0 напрочь вырубала все старые проекты.

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

Отключил все дополнения, вернее перенёс их работу на поддомен на котором поставил старую версию php.

Плагины

Далее стал смотреть плагины. Проблема оказалась у замечательного Advanced Category Excluder. Этот плагин помогает исключить вывод постов из некоторых категорий на главную, в поиск и т.д. Там где нужно прописал исключение категорий сразу в шаблон, а плагин отключил. В итоге на php 7.0 заработали все старые сайты на wp.

Далее WP-SpamFree — крутое решение, отсекает более 90% спама, но уж очень сильно нагружает блог + всяческие дополнительные js вставки.

WP-Syntax — нужен крайне редко, а интеграция в блог для таких случаев крайне бестолковая, добавляет ненужные js. Отключил, код проще давать в текстовых файлах или прямо в текст, если что-то небольшое.

Кэширование

Кэширование у меня конечно уже есть. Но для сайтов что на beget — включил так же Redis.

Выбор был меж сервисом Redis и Memcached. Стукнулся в сапорт по поводу отличия, вот что ответили:

Кстати для обоих случаев надо ставить плагины и оба не работают со старыми версиями php, так что переход был необходим (открытка к тем кто «работает — не трогай!»).

С Redis нагрузка заметно уменьшилась, вот пример одного из аккаунтов:

На два высоких столбца не смотрите — это мои эксперименты и частое удаление кэша — на посещаемых сайтах подобные игрища чреваты высокой нагрузкой.

Скорость тоже заметно подросла. К примеру ранее сайт грузился за 0,24 (уж не знаю чего милисекунды/секунды), то с редис этот параметр упал до 0,09. Хорошо не так ли?

CSS, дополнения

Следующим шагом начал убирать лишние css. Например от плагина пагинации WP-PageNavi — стили можно отключить непосредственно в админке. В идеале должен быть только style.css, в свою очередь оптимизированный и почищенный от неиспользуемых стилей.

Далее кнопки соц. сетей. На некоторых статейниках их роль стремится к нулю. Убрал коды кнопок, включая часть что в header.php, коды агрегаторов.

Обсуждения. Автары — Гугл ругается на отсутствие кэширования. Отключил Gravatar и аватары в целом. Там где можно — убрал древовидные комментарии и из header.php соответственно убрал wp_enqueue_script(‘comment-reply’);

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

Что получил: сайты стали работать намного быстрее, это важно. Гугл так же оценивает изменения в зелёном цвете. Прекрасно.

Этот пост был вам полезен? Подпишитесь на нашу рассылку и получайте то, что не вошло в блог, анонсы и тематические подборки + несколько руководств (сбор подписчиков и продажа информации).
Имя: Email:
  1. Рекомендую не убирать соц. кнопки, а просто ставить сторонний скрипт, загрузив на свой сайт. Я такими пользуюсь: _http://ilyabirman.ru/projects/likely/

  2. Самое интересное, что все это дроч. Ибо на практике нет никакого влияния на позиции и продвижение, никакого роста трафа после не ощущается) все, что грузится быстрей одной секунды — это МГНОВЕННО для юзера. Соответственно не влияет на поведенческие. Откуда и вытекает все вышесказанное. Есть смысл в оптимизации если сайт открывается дольше секунды, или даже двух. Там да.

    • Alex Hodinar:

      По поводу позиций, если речь идёт на цифры менее секунды — спорить не буду, но где-то читал у гугла что в идеале 0,2 секунды не более — хорошо, что более — надо дорабатывать.

      Здесь важно другое: посетителям с поиска — на скорость, если она не уж слишком медленная — действительно плевать. Более того ускорив, даже части секунд по статистике можно потерять по среднему времени просмотра сайта. Но есть постоянная аудитория, десятки, где-то сотни человек (не путать с просто подписчиками на рассылку). Вот для них время загрузки — критично. Очень критично.

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

      • В идеале да, считается что менее 0,2 — счастье. Но на деле эффекта нет) я лишь об этом. Ну в любом случае, таких скоростей можно добиться только кэшированием, не иначе. Особо сложно дело обстоит с интернет магазинами и сервисами. Там не закэшируешь особо.

      • Max:

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

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

        • Alex Hodinar:

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

          Форум — вещь хорошая, но у меня есть чёткие критерии, когда я его включу, но они касаются больше общей посещаемости.

  3. DISE:

    Плагин для редиски — Redis Object Cache? У меня постоянно ошибка выскакивает с ним. Думаю теперь, может тоже другие плагины временно отключить, потом поочерёдно включать. Сильно сложно настраивать его?

    • Alex Hodinar:

      По плагину, после перевода на свежую версию php — всё заработало.

      Настройка простая — включаем плагин, в файле wp-config.php прописываем

      define(‘WP_CACHE_KEY_SALT’, ‘адрес сайта’);
      define(‘WP_CACHE’, true);

  4. Пётр:

    Поддерживаю вопрос на счет плагина Redis, если не сложно расскажите подробнее о настройке и использовании.

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



Раздел: Софт, скрипты, сервисы, Автор: Alex Hodinar
|