email
forum

Оптимизация производительности ВордПресс

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

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

1. Инструменты для аудита сайта и проверки

Мы используем Apache JMeter для нагрузочного тестирования и Google Performance Audit для проверки оптимизации сайта в Google Chrome. Этих инструментов вполне достаточно для оптимизации вашего сайта на WordPress.

1. Хостинг и обвязка

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

Кроме этого хостинг должен поддерживать актуальную версию PHP 7.3+ для максимальной производительности и модули кэширования APСu/Memcache.

2. Кэширование

Кэширование значительно ускоряет работу сайта. Использование кэша делает загрузку страниц быстрой и значительно улучшает показатели поисковой оптимизации в глазах поисковых роботов. Есть много плагинов для подключения кэширования в WordPress, мы используем WP SuperCache. Если ваш проект использует выделенный сервер VPS, то выбор шире и заметно лучше — varnish и redis через Redis Object Cache.

3. Скрипты

Основная проблема WordPress это тяжелые скрипты, особенно при использовании «visual composer editor» или плохо сделанных тем, например Claue. Тяжелые скрипты вызывают медленную загрузку страниц, визуальные проблемы с производительностью и ошибки с кодом 500, пока сервер не переварит предыдущие запросы. Выход один — писать руками и не использовать «visual composer» либо использовать нормальные темы, тот же Flatsome.

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

Довольно частая проблема у интернет магазинов с использованием модуля Woo Commerce. Нам встречались фотографии товара весом в 4 Мб каждая при оптимальном размере 100 Кб. Добиться минимального размера фотографий довольно просто:

5. Отложенное исполнение JavaScript

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

Обычная загрузка

1
2
3
document.addEventListener('DOMContentLoaded', function() {
    alert(«создание сайта в Москве»);
});

Отложенная загрузка

1
2
3
4
5
document.addEventListener('DOMContentLoaded', function() {
    (function($) {
        alert(«Техническое сопровождение сайта в Москве и СПб»)
    })( jQuery );
});

6. Оптимизация MySQL

Крайне маловероятно, что у вас получится выполнить оптимизацию MySQL, если вы используете shared хостинг. Если у Вас VPS — отлично, есть отличный мануал по оптимизации MySQL под нагруженные проекты на WordPress.

оптимизация производительности wordpress

7. Не работайте на боевой сервере

Совет из раздела «Капитан Очевидность», но все же. Visual Studio Code и PHPStorm позволяют быстро править исходный код сайта на лету через SSH. В Outlooker изменения сначала вносятся на локальном тестовом сервере и после тестирования заливаются на боевой.

Чаще всего мы используем следующую схему:

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

8. Копипаста кода

Нельзя копипастить код из интернета в слепую. Прежде чем взять код из интернета нужно проверить что он выполняет (включая приоритет скрипта на исполнение в function.php), сколько ему лет, прочитать комментарии и замечания к кейсу. А затем потестить на тестовом сервере.

Запись опубликована: 30.10.2019