Как ускорить сайт на Wordpress

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

Тема оптимизации Wordpress сайтов с целью заставить их работать быстрее не нова.
Первое и самое главное здесь — включить кеш на стороне сервера. Также рекомендуется использовать CDN для кеширования при доставке контента. Разберем подробнее: что, где и как кешировать.



Для примера установим чистый Wordpress на сервере отечественного хостера. Время генерации одной страницы со старта без каких-либо плагинов достигает полсекунды. Полная загрузка страницы у пользователя из Европы занимает около 1 сек., в США (запад) — 2.2 сек., в Австралии — 2.8 сек. Цифры получены следуя этой инструкции и на основе данных загрузки сайта из разных уголков мира с помощью сервиса Webpagetest.

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

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


Слабым местом многих сайтов являются тяжеловесные запросы к базе данных MySQL. В Wordpress они зачастую генерируются установленными плагинами.

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

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

Идем дальше — кеширование в PHP. Во всех последних версиях начиная с 5.5 здесь по дефолту включено расширение OPcache. Таким образом, скомпилированный код автоматически сохраняется в памяти для максимально быстрого его исполнения.

Результатом работы упомянутых выше MySQL запросов и PHP скриптов является сгенирированный HTML код, который отдается пользователю в качестве веб-страницы. Если этот HTML временно (до внесения изменений в контент) сохранять на сервере и отдавать его пользователям без обращения к PHP и MySQL — скорость загрузки такой страницы будет наименьшей. По такому принципу работает большинство Wordpress плагинов кеширования. Они сохраняют уже сгенерированную HTML страницу как файл и отдают ее за сотые доли секунды.

Среди кеш-плагинов по числу установок лидирует бесплатный WP Super Cache. После его установки, включаем кеширование и жмем «Обновить»:



Работающий плагин добавляет в конце HTML кода закешированых страниц информацию о времени их создания:

<!-- Cached page generated by WP-Super-Cache on 2021-02-24 17:51:50 -->

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

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


Помимо исполняемых на сервере PHP скриптов и MySQL запросов, движок Wordpress содержит и статические файлы: картинки, стили, шрифты, яваскрипты. Скорость загрузки таких файлов зависит от их размера и того, насколько географически далеко от них находится пользователь.

Касаемо размеров файлов, — за этим всегда нужно следить. Не стоит ждать от картинки в несколько мегабайт быстрой загрузки на мобильном интернете.

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

Подключим CDN к своему сайту. Для этого, к примеру, зарегистрируемся на BunnyCDN и, указав лишь емейл, сразу получим на тест 1Тб бесплатного мирового трафика.

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



Создав зону, в конце выбираем «Wordpress» и следуем короткой инструкции по включению плагина кеширования:



Результат


После включения плагина кеширования и подключения CDN скорость загрузки страницы сайта снизилась до полусекунды для Европы и почти до секунды для США и Австралии. Посетители, определенно, будут довольны, а просмотров станет больше.

Таким образом, в нашем примере чистый Wordpress без картинок пользователи по всему миру стали загружать в среднем в 2 раза быстрее. Для сайтов, нафаршированных картинками, стилями и яваскриптами, выгода будет еще существеннее.
Источник: https://habr.com/ru/post/544122/


Интересные статьи

Интересные статьи

Недавно на проекте интегрировал модуль CRM Битрикса c виртуальной АТС Ростелеком. Делал по стандартной инструкции, где пошагово показано, какие поля заполнять. Оказалось, следование ей не гаран...
Всем привет. В преддверии старта курса «Компьютерное зрение» подготовили для вас полезный перевод. Читать дальше →
В 1С-Битрикс: Управление сайтом (как и в Битрикс24) десятки, если не сотни настраиваемых типов данных (или сущностей): инфоблоки, пользователи, заказы, склады, форумы, блоги и т.д. Стр...
Компании переполнили рынок товаров и услуг предложениями. Разнообразие наблюдается не только в офлайне, но и в интернете. Достаточно вбить в поисковик любой запрос, чтобы получить подтверждение насыще...
Вчера Апелляционный суд 9-го округа США принял решение (pdf), что скрапинг публичных сайтов не противоречит закону CFAA (Computer Fraud and Abuse Act). Это действительно важное решение. Суд не...