10Web Booster — это плагин оптимизации скорости для улучшения общей эффективности работы любого сайта. 10Web Booster поможет вам сосредоточиться непосредственно на фронтенде вашего сайта, оставив нам заботы об оптимизации эффективности WordPress.
- Кэширование Страниц
- CSS & HTML Minification & Compression
- JS Minification and Compression
- Ленивая загрузка Изображений
- Замена Шрифтов
- Ленивая загрузка iFrame и Видео
- 7. Каковы практические достижения 10Web Booster?
- 8. Как 10Web Booster влияет на показатель отказов?
- 9. Сколько времени занимает оптимизация?
- Плагин Autoptimize для оптимизации WordPress
- Возможности Autoptimize:
- Установка и настройка Autoptimize
- Быстрая WordPress тема GeneratePress
- Тема WordPress Astra-супербыстрая
- В заключение
- Устанавливаем дополнительные меры защиты
- Настраиваем кеширование
- Подключаем CDN
- Отключаем лишние опции WordPress
- Настраиваем резервное копирование
- Определяем требования к функционалу
- Разбираем самые популярные плагины кеширования
- WP Super Cache
- WP Fastest Cache
- W3 Total Cache
- Swift perfomance
- Заключение
- Рекомендации
Кэширование Страниц
Кэш — это краткосрочное хранилище с быстрой скоростью извлечения, в котором сохраняются копии недавно использовавшихся данных и ресурсов, которые вы посещали. Кэш значительно увеличивает скорость и эффективность работы страницы за счет загрузки часто используемых данных, создания копии ресурсов и временного хранения их в более легкодоступном месте хранения, откуда данные могут быть извлечены на порядок быстрее при повторном посещении пользователем ресурса. Таким временным местом может быть браузер, веб-сервер или даже оригинальный веб-сервер, который также хранит копии ресурсов, которые вы посещали, в различных форматах. Когда вы обновляете данные на сайте, сохраненные копии также пересматриваются и обновляются.
CSS & HTML Minification & Compression
Минификация и объединение CSS и HTML — это процедура уменьшения размера файла всего на несколько байт. Важность этого обусловлена тем, что большие файлы требуют использования большего объема ресурсов, что может замедлить время загрузки сайта.
JS Minification and Compression
Сжатие больших JS-кодов является стандартной практикой. Сжатие JS-кода, то есть удаление всех лишних пробелов, комментариев и других компонентов, которые делают код читаемым и понятным, сокращает время загрузки JavaScript, непосредственно улучшая скорость работы WordPress. Комбинируя JS-скрипты, мы также можем минифицировать файлы, еще больше сокращая время их выполнения.
Ленивая загрузка Изображений
Изображения зачастую задействуют больше всего ресурсов на странице, увеличивая скорость работы страницы. С помощью технологии ленивой загрузки изображений вы можете отложить загрузку всех изображений на вашей странице, кроме тех, которые в данный момент может видеть посетитель сайта. Этот метод позволяет существенно снизить время загрузки и значительно улучшить все основные показатели скорости загрузки. 10Web Booster гарантирует, что все используемые им алгоритмы ленивой загрузки работают идеально и не конфликтуют с темами и плагинами. 10Web Booster также использует ленивую загрузки при загрузке фоновых изображений.
Замена Шрифтов
Уменьшение и оптимизация загрузки веб-шрифтов еще один фактор, который может помочь получить хорошую оценку от Core Web Vitals и, таким образом, улучшить общее ранжирование в Google. Пользовательские шрифты используют дополнительные ресурсы для загрузки, после чего на вашей странице отображаются выбранные вами шрифты, и, конечно, это занимает время и добавляет те самые драгоценные миллисекунды к скорости вашей страницы. 10Web Booster предоставляет функцию замены отображения шрифта на сайте (функция font-display: swap). Эта технология позволяет сначала отображать стандартный шрифт, таким образом, позволяя сразу загрузить вашу страницу, а затем меняет шрифт, установленный по умолчанию на выбранный вами шрифт, как только будет загружены данные о пользовательском шрифте. Этот метод замены сокращает время загрузки страницы и позволяет избежать проблем FOUT или Flash of Unstyled Text («мелькание неоформленного текста») и FOIT или Flash of Invisible Text («мелькание невидимого текста»).
Ленивая загрузка iFrame и Видео
iframe и видео весят еще больше, чем изображения, поэтому они влияют на скорость работы страниц еще больше. Благодаря использованию функции ленивой загрузки iframe и видео мы можем гарантировать, что контент, до которого еще не может увидеть пользователь, не повлияет на скорость страницы. Загрузка этих элементов откладывается до тех пор, пока пользователь не прокрутит страницу вниз до этого контента. Как и в случае с функцией ленивой загрузки изображений, ленивая загрузка iframe и видео улучшает все показатели Core Web Vitals.
Когда запускается автоматическая оптимизация главной страницы, происходит тестирование каждого из 4 режимов. Затем мы сравниваем результаты, и, как вы могли догадаться, режим, получивший наивысшую оценку и одновременно никак не повлиявший на работоспособность вашего сайта, будет установлен по умолчанию.
«Вы можете выбрать любой из следующих четырех уровней и управлять этими уровнями для каждой отдельной страницы на вкладке «Пользовательские правила» (Custom rules) в панели управления 10Web. Мы предоставляем лучший инструмент для оптимизации скорости работы страниц, который подходит для любого сайта WordPress и ваших целей.
- Режим Standard:
— Использует различные стандартные методы оптимизации скорости. - Режим Balanced:
— Все технологии оптимизации Режима Standard + Критический CSS - Режим Strong:
— Все методы оптимизации в Режиме Standard + Задержка JS. - Режим Extreme:
— Все методы оптимизации в Balanced Mode + Задержка JS.
-
- CSS & HTML Minification & Compression
- Кэширование Страниц
- JS Minification and Compression
- Image Optimization
- Ленивая загрузка Изображений
- Замена Шрифтов
- Конвертация Изображений в Формат WebP
- Ленивая загрузка iFrame и Видео
- Изменение Размера Изображений в Зависимости от Устройства
-
7. Каковы практические достижения 10Web Booster?
- 10Web Booster стал популярен благодаря тому, что автоматизирует процесс достижения:
Automated 90+ PageSpeed
Optimized Core Web Vitals
Higher search engine rankings
Up to 7% boost in conversions
Up to 40% boost in visitor engagement
Up to 53% mobile traffic engagement boost
-
8. Как 10Web Booster влияет на показатель отказов?
- Скорость страницы- среднее время загрузки 1,5 секунды, поэтому с 10Web Booster о показателе отказов не может быть и речи. Мы лучше, чем просто хорошо, в буквальном смысле. Хорошо — это в среднем 2 секунды на загрузку, что означает в среднем 4 секунды на загрузку, чтобы вызвать отказ. С лучшим оптимизатором скорости веб-сайта 10Web Booster вам не придется беспокоиться о скорости страниц WordPress.
-
9. Сколько времени занимает оптимизация?
- Оптимизация скорости работы WordPress обычно занимает всего несколько минут.
Еще один важный момент, на который следует обратить внимание, заключается в том, что этот плагин относительно дорог по сравнению с другими плагинами оптимизации скорости и кэширования, и наиболее важным аспектом является то, что они не предлагают возмещение. Это похоже на мошенничество. Я настоятельно рекомендую купить любой другой плагин вместо этого. Скоро выложу подробный обзор на YouTube.
https://www.youtube.com/watch?v=MHrR3Ejuomk&t=1s
Автооптимизация (Автоматическая оптимизация ВордПресс) — для вас. В наши дни скорость загрузки сайта имеет решающее значение для нашего успеха.
Поисковые системы, такие как Google и Яндекс, да и другие, позволят вам получить гораздо больше результатов, если ваш веб-ресурс быстрее и доступнее, чем ваши конкуренты.
Зная это, вам не кажется трудом выбрать для своего сайта подходящую тему WordPress, которая следует по этим принципам — быстро и доступно.
А такие в каталоге есть. Об этом будет сказано дополнительно, к основной сегодняшней теме поста — оптимизация сайта WordPress с помощью плагина Autoptimize.
Этот плагин делает ваш сайт быстрее за счет оптимизации CSS, JS, изображений, шрифтов Google и многого другого. В том числе и кеширование страниц вашего сайта.
Поскольку я продолжаю развивать свой блог, скорость и доступность являются двумя дополнительными факторами, стоящими почти всем, что я делаю. От минимизации происходит и стилей, до удаления ненужного кода. Ускорение и повышение эффективности – один из моих главных приоритетов на данный момент.
В этой статье будут приведены некоторые советы по оптимизации скорости загрузки страниц WordPress, которые вы можете использовать на своем сайте прямо сейчас. Мы можем сделать несколько вещей, которые помогут вам еще больше повысить оптимизацию загрузки вашего сайта на ВордПресс. А именно, уменьшите количество CSS и JS-файлов, загружаемых при каждой возможности страницы. И это будет иметь огромное значение для скорости загрузки страниц на сайте.
Плагин Autoptimize для оптимизации WordPress
Autoptimize — это бесплатный плагин для оптимизации WordPress. Помимо оптимизации HTML, CSS и JavaScript, Autoptimize также включает в себя функции оптимизации , ориентированные на другие аспекты современных сайтов WordPress. Плагин работает с кодом, скриптами и стилями страницы, ускоряя загрузку. Хорошо справляется в тандеме с плагином кэширования.
Autoptimize — это отличный плагин. В нем есть все, что нам нужно, он делает процесс оптимизации невероятно простым. Плагин Autoptimize может объединять, минимизировать и кэшировать скрипты и стили. По умолчанию вставлять CSS в заголовок страницы (но также может откладывать), перемещать и откладывать скрипты в нижний колонтитул и минимизировать HTML.
Возможности Autoptimize:
- Оптимизация JavaScript и CSS;
- Исправление кода, блокирующего отображение верха страницы.
- Кэширование и объединение скриптов и стилей;
- Работа с заголовками;
- Перемещение скриптов в нижний колонтитул;
- Упрощение HTML.
Параметры «Extra» позволяют оптимизировать шрифты Google и изображения ( Autoptimize включает оптимизацию изображений на «лету» (с поддержкой форматов WebP и AVIF) и CDN через ShortPixel), асинхронный не агрегированный JavaScript. Удалять основные эмоции (emoji) WordPress и многое другое. Таким образом, он может улучшить производительность вашего сайта, даже если уже используется HTTP / 2! Доступен обширный API, позволяющий адаптировать Autoptimize к конкретным потребностям каждого сайта WP.
Установка и настройка Autoptimize
Как настроить Autoptimize для сайта WordPress? Вы можете установить плагин стандартным способом. Перейти в панель админки вашего сайта. Перейдите в раздел плагины — Добавить новый. Искать плагин по названию Autoptimize. Нажмите кнопочку Установить.
После установки и активации плагина у вас будет доступ к странице администратора, где вы сможете включить оптимизацию HTML, CSS и JavaScript. По своему вкусу вы можете начать просто включать их все, или, если вы более осторожны, по одному.
Я предлагаю/рекомендую выбрать такие основные настройки плагина Autoptimize:
Не забывайте сохранять изменения. Во вкладке Images (оптимизация изображений). Сделайте свой сайт значительно быстрее, просто отметив несколько флажков для оптимизации и отложенной загрузки изображений, включая поддержку формата WebP!
Вкладка — Дополнительные возможности оптимизации. Если вы не используете смайлики на своем сайте, тогда нет смысла загружать скрипты для них.
Хотя автоматическая оптимизация поставляется без каких-либо гарантий, в целом она будет работать безупречно, если вы её правильно настроите.
Если ваш блог WordPress не работает нормально после включения автоматической оптимизации, вот несколько советов по выявлению и решению таких проблем с помощью дополнительных настроек:
- Если все работает, но вы заметили, что ваш блог работает медленнее, убедитесь, что у вас установлен плагин кэширования страниц (WP Super Cache или аналогичный), и проверьте информацию о размере кэша (решение этой проблемы также влияет на производительность для не кэшированных страниц) в этом часто задаваемом вопросе.
- В случае, если ваш блог выглядит странно, т. е. когда макет испорчен, возникает проблема с оптимизацией CSS. Попробуйте исключить один или несколько CSS-файлов из процесса оптимизации. Вы также можете заставить CSS не агрегироваться, заключив его в теги noptimize в вашей теме или виджете или добавив имя файла (для внешних таблиц стилей) или строку (для встроенных стилей) в список исключений.
- В случае, если некоторые функции на вашем сайте перестанут работать (карусель, меню, поисковый ввод.), вы, скорее всего, столкнетесь с проблемами оптимизации JavaScript. Измените «Агрегатный встроенный JS» и/ или «Принудительный JavaScript в голове»?» настройки и повторите попытку. Исключая ‘js/jquery/jquery.min.js’ из оптимизации и при необходимости активируя Добавить обертку try/catch) также может помочь. В качестве альтернативы для технически подкованных — вы можете исключить определенные сценарии из обработки (перемещения и/ или агрегирования) с помощью Autoptimize, добавив строку, которая будет соответствовать нарушающему Javascript, или исключив ее из файлов шаблонов или виджетов путем переноса кода между тегами noptimize. Идентификация нарушающего JavaScript и выбор правильной строки исключения могут быть методом проб и ошибок, но в большинстве случаев проблемы оптимизации JavaScript могут быть решены таким образом. При отладке проблем с JavaScript консоль ошибок браузеров является наиболее важным инструментом, который поможет вам понять, что происходит.
- Если вашей теме или плагину требуется jQuery, вы можете попробовать либо заставить все в голове и/ или исключить jquery.min.js (и jQuery-плагины, если это необходимо).
- Если вы не можете заставить работать оптимизацию CSS или JS, вы можете, конечно, всегда продолжать использовать два других метода оптимизации.
- Если вы попробовали советы по устранению неполадок, приведенные выше, и вы все еще не можете заставить CSS и JS работать вообще, вы можете запросить поддержку на форуме поддержки WordPress Autoptimize.
Теперь, когда все вышеперечисленное сделано, вы можете проверить показатели скорости сайта.
Когда вы устанавливаете больше плагинов и добавляете контент, то эти оценки будут меняться. Имейте в виду, что качество вашего хостинга / сервера играет большую роль в скорости вашего сайта.
Если вы считаете производительность важной, вам следует использовать один из плагинов для кэширования страниц. Некоторыми хорошими кандидатами для дополнения Autoptimize являются, например, WP Super Cache (настройки читайте тут), Hyper Cache, Comet Cache или KeyCDN Cache Enabler.
Быстрая WordPress тема GeneratePress
GeneratePress — это легкая тема WordPress, созданная с акцентом на скорость и удобство использования. Очень удобно использовать GeneratePress в качестве основы для создания веб-сайтов или блога.
Если вы используете компоновщики страниц, GeneratePress — тема для вас. Шаблон полностью совместим со всеми основными конструкторами страниц, включая Beaver Builder и Elementor.
Проверенный HTML, встроенные структурированные данные schema.org и молниеносное время загрузки. Некоторые из многочисленных функций включают интеграцию микроданных, 9 областей виджетов, 5 местоположений навигации, 5 макетов боковой панели, раскрывающиеся меню (щелчок или наведение) и предустановки цвета навигации.
Тема бесплатная, установка стандартная из каталога вордпрес.орг. Уже тестировал её, с контентом и плагинами — результат на лицо (смотрите скриншоты теста PageSpeed Insights). Хочу перейти на неё.
Тема WordPress Astra-супербыстрая
Тема Astra — это быстрая, полностью настраиваемая и красивая тема, подходящая для блога, личного портфолио, бизнес-сайта и витрины WooCommerce. Шаблон очень легкий (менее 50 КБ на внешнем интерфейсе) и предлагает беспрецедентную скорость.
Созданная с учетом SEO, Astra поставляется с интегрированным кодом Schema.org и готова к использованию Native AMP, поэтому поисковым системам понравится ваш сайт. Тема WP предлагает специальные функции и шаблоны, поэтому шаблон отлично работает со всеми конструкторами страниц, такими как Elementor, Beaver Builder, Visual Composer, SiteOrigin, Divi и т. д.
Авторы шаблона Astra посмотрели на GeneratePress и создали почти такую же
тему, с таким же функционалом, но с другим названием. Молодцы, а чего теряться, это же всё для нас. А мы и не против.
Установить представленную бесплатную тему можно также из админки сайта.
В заключение
Плагин Autoptimize — отличный вариант для пользователей WordPress, желающих повысить производительность сайта. Благодаря базовым функциям, таким как оптимизация HTML и CSS, и более продвинутым, таким как интеграция CDN и возможность указывать директивы preconnect и preload, Autoptimize имеет все необходимое для оптимизации производительности веб-интерфейса вашего сайта WordPress.
Оптимизация и скорость загрузки сайта WordPress — это то, над чем надо работать постоянно и искать решение для этого. Оптимизация и ускорение веб-ресурса всегда должны быть приоритетом. Нам всегда есть чем заняться. О, да!
Устанавливаем дополнительные меры защиты
Зачем вам спорткар, если у него не закрываются двери? Так же всё обстоит и с WordPress-сайтами, на которые по разным оценкам приходится около 80% всех атак на CMS: как бы привлекательна ни была высокая скорость работы, сначала нужно позаботиться о безопасности. Мы не будем останавливаться на очевидных советах вроде важности регулярного обновления системы и плагинов до актуальных версий — об этом вы наверняка знаете и без нас, — но расскажем об одном из лучших способов обеспечить сайт на WordPress дополнительными мерами защиты. Плагин iThemes Security, ранее известный как Better WP Security, — это комплексное решение, которое разом справляется с рядом задач:
- Распознаёт уязвимости других плагинов и определяет устаревшие версии ПО;
- Обнаруживает и сообщает администратору об изменениях в файлах;
- Сравнивает файлы ядра с текущей версией WordPress;
- Предупреждает об использовании старых паролей;
- Определяет и блокирует вредоносных пользователей;
- Обеспечивает резервное копирование баз данных;
- Позволяет настроить двухфакторную аутентификацию.
Всего в плагине предусмотрено более 30 мер защиты. Недостаток лишь в том, что многие из них доступны в платной версии плагина iThemes Security Pro. Последняя обойдётся в $48 за годовую лицензию на один сайт, $77 — за 10 сайтов или $120 — за любое количество.
Настраиваем кеширование
Долгосрочное хранение постраничного или транзитного кеша в WordPress по умолчанию не предусмотрено. А жаль: кеширование в разы ускоряет передачу пользователям запрашиваемых данных. Очевидно, это хорошо сказывается и на отношении к сайту поисковиков, и на поведенческих факторах. Помимо того, оно снижает нагрузку на сервер, так как ему не приходится больше раз за разом выполнять одни и те же операции. Простой способ добавить эту технологию на WordPress-сайт — установить плагин WP Super Cache. Он заменяет динамический HTML сайта статической версией и затем выдаёт её пользователям, что и сокращает время загрузки контента. В плагине предусмотрено всё нужное для повышения скорости работы сайта, в том числе разные механизмы обработки данных на выбор пользователя — так, например, Apache mod_rewrite обходит стороной все медленные и требовательные к ресурсам PHP-скрипты.
Помимо того, что плагин совершенно бесплатный, у него есть и другое важное преимущество — наличие поддержки CDN на выбор пользователя благодаря интеграции с OSSDL CDN off-linker. Для этого достаточно изменить URL-адреса файлов (кроме .php) в папках wp-content и wp-includes на сервере таким образом, чтобы они указывали на другое имя хоста.
Подключаем CDN
Если WP Super Cache позволяет кешировать файлы WordPress-сайта, то сеть доставки контента ускоряет их передачу до пользователей. Это происходит благодаря тому, что с помощью CDN статические данные передаются не с основного сервера, а с кеш-серверов, распределённых по миру. Таким образом, нужные файлы пользователи получают с ближайших к ним точек присутствия сети CDN-провайдера, что ускоряет загрузку сайта, уменьшает нагрузку на сервер и сокращает количество расходуемого трафика.
Подключить CDN можно как с помощью OSSDL CDN off-linker, встроенного в WP Super Cache, так и другим простым способом — установив плагин G-Core Labs CDN. Детальная настройка работы сети доставки контента с его помощью займёт 15 минут. Для этого после установки достаточно указать персональный домен из личного кабинета G-Core Labs в настройках плагина, а затем выбрать типы файлов и папок, которые вы хотите раздавать через сеть доставки контента. Расширение автоматически настроит замену существующих статических ссылок на CDN и эффективно ускорит доставку контента: для этого в сети используются решения на основе процессоров Intel Xeon Scalable второго и третьего поколения, а точки её присутствия расположены более чем в 100 городах по всему миру, что обеспечивает время загрузки сайта в пределах 20–30 миллисекунд.
Отключаем лишние опции WordPress
После того, как кеширование всего, что можно кешировать, настроено, а всё, что можно доставлять через CDN, через неё и доставляется, хорошо бы избавиться от всего лишнего. Для решения этой задачи предназначен плагин Perfmatters, который позволяет оптимизировать работу WordPress без изменения кода и файла functions.php.
В настройках плагина предусмотрен длинный перечень возможностей CMS, которые можно включать и отключать одним кликом. Скажем, если вы не добавляете на страницы сайта emojis, то к чему вам их поддержка — отключите её, чтобы сократить общее количество HTTP-запросов и размер страницы. А если вам не нужны редакции страниц трёхлетней давности, то и хранить их нет смысла — сократите их число до нужного количества с помощью Perfmatters. Подобных настроек в плагине предусмотрены десятки: от изменения интервалов автосохранений до отключения комментариев и поддержки Google Maps на страницах, где их нет.
Настраиваем резервное копирование
Что бы ни произошло с сайтом, если у вас есть бэкап — всё поправимо. Желательно только, чтобы бэкап был не годичной давности. Как раз таки для избежания таких проблем и предусмотрены плагины для настройки резервного копирования. Понятно, что справиться с этой задачей можно и вручную или средствами хостинг-провайдера. Однако, плагины — простое решение, которое позволяет автоматизировать весь процесс копирования за несколько минут. Одним из лучших среди них считается UpdraftPlus, это расширение установлено на трёх с лишним миллионах сайтов, а среди его пользователей такие компании и организации, как Cisco, Microsoft и NASA.
Бесплатная версия плагина позволяет сохранять полные копии ресурса и затем выгружать их на локальный диск или в удобное облачное хранилище — для этого в нём предусмотрена поддержка Dropbox, Google Drive и других сервисов. Также резервные копии можно отправлять по FTP и SFTP, а настройка расписания позволяет автоматизировать не только процесс резервного копирования, но и сохранение копий в удобное хранилище. Платная версия плагина — UpdraftPremium — обойдётся в $70 за лицензию на два сайта, но разработчики предлагают и другие планы с «оптовыми» ценами.
Но дьявол, как обычно, кроется в деталях. В интернете есть самые разные обзоры и сравнения плагинов кеширования. И за столько лет кто-то же должен был выдать идеальный рецепт? Но нет. Все эти обзоры сводятся к тезису: «мы сделали 10 одинаковых сайтов, установили плагины с дефолтными настройками и смотрим, где страница загрузилась быстрее». При этом все забывают, что нюансов при оптимизации кеширования вагон и маленькая тележка. Похоже, эта статья первая, которая примет во внимание реальное поведение пользователей на сайте, вместо сравнения скорости загрузки одной страницы в тепличных условиях.
Используя бестселлеры с Themeforest или, те же конструкторы, вроде Elementor, WP Backery и прочие, сайт обречен на 5-15 секунд TTFB (time for first byte, время ответа сайта) при загрузке КАЖДОЙ страницы. С одной страницы может быть несколько сотен обращений к базе данных, выполняться большое число php-функций, подключаться множество библиотек. Естественно, что такая скорость недопустима, она влечет за собой понижение в поисковой выдаче, «отказы» посетителей, сливы бюджетов на рекламу и так далее. С этим нужно что-то делать.
Я никогда шибко оптимизацией WordPress не заморачивался, потому что в моей практике сайты, которые требуют космической скорости работы, делали не на WordPress, а на Yii2 или Laravel. Для WP я использовал околодефолтные настройки плагина WP Super Cache, подсмотренные на Stackoverflow. Правда со временем начали появляться проблемы. Что-то приходилось «колхозить», где-то пробовать другие плагины. Но каждый раз появлялись всё новые и новые «косяки».
В какой-то момент я просто устал от постоянного «колхозинга» и решил найти идеальное решение. Я занимался этим больше месяца, тестируя разные плагины, разные настройки на разных сайтах, чтобы найти идеальный рецепт.
В статье речь пойдёт о собственных наблюдениях, об особенностях каждого плагина для кеширования WordPress, о том, что заявлено, а что имеем по факту, и конечно, подборе идеальных настроек и устранении проблем. Материала получилось много, на 21 страницу, поэтому я решил разделить его на две части. Первая будет посвящена обзору и выводам, так сказать «для гуманитариев». Во второй части
будут приведены настройки и доработки плагинов, а также более подробное пояснение их работы, так сказать «для технарей».
Забегая вперед, скажу, что идеального рецепта (идеальных настроек) не существует. В первую очередь необходимо четко сформулировать свои требования к функционалу и понять принципы работы того или иного плагина. Этим мы сегодня и займемся.
Определяем требования к функционалу
- Автокеширование. Сайты приходится периодически обновлять, выкладывать новости, менять текст, картинки и т.д. Кеш-копия страниц в этом случае хранится определённое время, а после обновления страниц сайта необходимо заново создавать кеш-файлы. В этом случае часть пользователей, ровно, как и поисковых роботов, будут видеть насколько долго загружаются некоторые страницы сайта. Чтобы этого избежать, плагины предлагают механизм автоматического кеширования. В этом случае плагин самостоятельно производит обход сайта и сам создает закешированные копии страниц. Важно, чтобы этот механизм у плагина работал без сбоев.
-
Игнорирование части запросов URL-адреса. Большинство рекламщиков используют для отслеживания эффективности своих рекламных кампаний UTM-метки (или другие GET-параметры). В этом случае они добавляют в адрес страницы ряд запросов, которые никак не влияют на логику работы сайта. Например, у нас есть страница товара, который мы рекламируем: https://www.site.com/landing-page/, но пользователь, перешедший на неё из рекламы, увидит адрес следующего формата: https://www.site.com/landing-page/?utm_source=yandex&utm_medium=cpc&utm_campaign=promo&utm_content=banner&utm_term=i-wan-to-buy-something&yclid=93473892748392743473829.
Естественно, сайт о существовании этой страницы даже не догадывается, и кэш под неё не существует. Он будет создан в момент перехода пользователя по этой длинной ссылке. Но даже, если рекламщик не будет добавлять UTM-метки, то Яндекс Директ, Google Ads или иные рекламные системы будут подставлять свои метки для отслеживания (например, yclid, gclid). Значения таких меток будут всегда разными, соответственно, сайт будет воспринимать их как абсолютно разные страницы. В итоге, мы получаем ситуацию, когда каждый пользователь, привлеченный с помощью рекламы, видит, насколько медленно работает сайт, а хранилище кеша пухнет от кучи мусорных файлов, которые никогда больше не будут задействованы.
Поэтому, плагин кеширования должен учитывать существование некоторых GET-параметров, которые необходимо исключать из URL-адреса страницы при попытке найти подходящий кеш-файл или же создать новый.
-
Возможность использования PHP-функций. Это может прозвучать странно, ведь само по себе кеширование подразумевает предотвращение исполнения PHP-скриптов или работу с БД, но только не в моём случае.
Поэтому я сделал свою кастомную систему для аналитики заявок на сайте, которая работает через PHP, а не через JavaScript и не позволяет никаким данным потеряться. И именно здесь появляются проблемы, когда большинство кеширующих плагинов не позволяет при первом визите пользователя запустить нужный PHP-код, который сохранит полную информацию об источнике и характеристиках визита.
Разбираем самые популярные плагины кеширования
Как я уже говорил выше, идеального рецепта не существует, и необходимо разобраться в логике работы того или иного плагина и выбрать наиболее подходящее решение для каждого конкретного сайта. Во второй части
статьи я подробнее рассматриваю популярные плагины для кеширования WordPress, их проблемы и предлагаю методы решения этих проблем. Здесь я обобщу все плюсы и минусы каждого из плагинов.
WP Super Cache
- Плагин совершенно бесплатный.
- Плагин может работать как в режиме mod_rewrite, так и в режиме PHP. Режим работы PHP-based позволяет исполнять PHP-скрипты в том числе на закешированных страницах.
- Быстрая скорость загрузки закешированных страниц: 30-40 мс* в режиме mod_rewrite, 60-80 мс в режиме PHP.
- Работа плагина не нагружает сайт, пока происходит кеширование.
- Процесс автоматического фонового кеширования сайта работает стабильно.
- Автоматическое фоновое кеширование не очищает сразу все файлы, давая возможность быстро получать старые кеш-копии страниц, в то время как новые еще генерируются.
WP Fastest Cache
- Бесплатная версия полностью покрывает весь функционал, который требуется от плагина кеширования.
- Быстрая скорость загрузки закешированных страниц (30-40 мс*);
- Работа плагина не нагружает сайт, пока происходит кеширование.
- Процесс автоматического фонового кеширования сайта работает стабильно;
- Автоматическое фоновое кеширование не очищает сразу все файлы, давая возможность быстро получать старые кеш-копии страниц, в то время как новые еще генерируются.
- Плагин позволяет учитывать рекламные GET-параметры в адресной строке (такие как UTM-метки и gclid). Это позволяет моментально отдать пользователю уже существующую кеш-копию страницы без GET-параметров.
- Плагин имеет функционал в том числе для оптимизации контента на сайте: минификация HTML/CSS/JS, объединение CSS и JS-файлов, Lazy loading изображений
W3 Total Cache
- Плагин может работать как в режиме mod_rewrite, так и в режиме PHP. Режим работы PHP-based позволяет исполнять PHP-скрипты на закешированных страницах.
- Плагин позволяет указать произвольный перечень GET-параметров, которые необходимо игнорировать при обработке запроса.
- Феноменальная скорость загрузки страниц: 25-30 мс* в режиме mod_rewrite, 30-40 мс* в режиме PHP-based.
- Феноменальная скорость загрузки страниц с GET-параметрами: 30-40 мс* в режиме mod_rewrite, 40-50 мс* в режиме PHP-based.
- Плагин имеет функционал для оптимизации контента на сайте: минификация HTML/CSS/JS, объединение CSS и JS-файлов, Lazy loading изображений.
- Не требует вмешательства в исходный код плагина.
Swift perfomance
- Плагин позволяет указать произвольный перечень GET-параметров, которые необходимо игнорировать при обработке запроса.
- Плагин может работать как в режиме mod_rewrite, так и в режиме PHP. Режим работы PHP-based позволяет исполнять PHP-скрипты в том числе и на закешированных страницах.
- Неплохая скорость загрузки закешированных страниц: 200-300 мс* в режиме PHP, 30-40 мс* в режиме mod_rewrite. При этом скорость загрузки страниц, содержащих GET-параметры в URL-адресе, всё равно будет 200-300 мс*, даже при использовании mod_rewrite.
- Плагин имеет функционал для оптимизации контента на сайте: минификация HTML/CSS/JS, объединение CSS и JS-файлов, Lazy loading изображений, а также оптимизация и сжатие изображений.
- Автоматическое фоновое кеширование не очищает сразу все файлы, давая возможность быстро получать старые кеш-копии страниц, в то время как новые еще генерируются (но не всё так просто, смотрим минусы).
- Не требует вмешательства в исходный код плагина.
В ходе своего исследования я также успел поработать с WP Rocket и LiteSpeed Cache, в которых разочаровался почти сразу и не посчитал нужным расписывать подробно все их преимущества и недостатки, их я упоминаю во второй части статьи.
Заключение
Без сомнения, наиболее высокую скорость загрузки показал плагин W3 Total Cache. Он работает быстро и в классическом режиме, и в режиме PHP, да и страницы с GET‑параметрами загружает быстрее всех. Но для меня критичной стала проблема отсутствия автоматического фонового кеширования, которое бы обновляло файлы кеша, не снося их полностью, а заменяя постепенно. Плагин, конечно, не требует доработок, и имеет все необходимые настройки, но в период обновления кеша, пользователи, попадающие на сайт, видят медленную загрузку, а при большом трафике на сайте это становится критичной проблемой. Его лучше использовать на статичных сайтах без автокеширования.
Большие надежды я возлагал на Swift Perfomance. Он имеет все необходимые настройки, не требует доработок, да и распространяется платно, а ведь платный плагин должен оправдывать вкладываемые в него средства? Но он разочаровал полностью, нестабильные механизмы автокеширования, недоработанный механизм ручного обновления кеша, высокая нагрузка на сервер при кешировании – все эти недостатки свели на нет его преимущества. Если бы я регулярно не мониторил его работу, может быть и не заметил бы этих недостатков. На текущий момент я его не использую ни на одном из проектов.
WP Super Cache был бы идеальным вариантом, если только на сайты с ним не вести рекламу. Как только на сайте появляются любые GET-параметры, необходимо дорабатывать исходный код плагина, чтобы устранить эту проблему. А при частом обновлении сайта с большим количеством страниц это становится настоящим геморроем, ведь если мы не хотим, чтобы некоторая часть пользователей с рекламы видела медленную загрузку после проведения автокеширования, то необходимо придумывать дополнительные методы обхода страниц с GET-параметрами. Чаще проще установить плагин, который всё это умеет из коробки. К недостаткам WP Super Cache можно также отнести отсутствие работы с оптимизацией контента на сайте (минификация HTML/CSS/JS, объединение CSS и JS-файлов, Lazy loading изображений, а также оптимизация и сжатие изображений), но это на любителя, плагин кеширования по факту не должен этим заниматься, все эти настройки нужно тестить, у других плагинов не все они работают адекватно.
Закрывает эти проблемы плагин WP Fastest Cache, который прекрасно умеет работать с GET-параметрами. Хотя он всё равно требует доработок. Лично мне не сложно внести небольшие изменения в код плагина, чтобы познакомить его с метками типа yclid и разрешить использовать PHP.
Вот и получается, что идеального рецепта не существует. Понимая проблемы плагинов и разобравшись в настройках из второй части статьи, каждый сам сможет подобрать себе плагин под конкретный тип сайта. Мои же рекомендации, следующие:
Рекомендации
- На сайтах, на которых почти никогда не вносятся изменения (например, лендингах), рекомендую использовать W3 Total Cacheбез автокеширования, т.к. он показывает самую высокую скорость загрузки, отлично будет работать с рекламой и не требует доработок. Правда, если уж пришлось внести изменения на статичный сайт, нужно не забыть вручную обновить кеш.
- На сайтах, где изменения вносятся часто (например, корпоративных сайтах), рекомендую использовать WP Fastest Cache, он отлично работает с фоновым автокешированием и GET-параметрами, правда не со всеми. Чтобы вести рекламу на сайт, например, из Яндекса, необходимо внести небольшое изменение в исходный код, т.к. плагин не знает метку yclid.
- Если на сайт точно не планируется вести рекламу или загружать какие-либо страницы с GET-параметрами (например, блог), то можно использовать и WP Super Cache, и WP Fastest Cache, кому как удобней. W P Super Cache настроить чуть проще и быстрей.
- Если очень хочется вести рекламу на сайт, но очень не хочется дорабатывать плагины, то можно использовать W3 Total Cache с автокешированием и мириться с временной медленной загрузкой сайта в период обновления кеша. А также помнить, что чем больше страниц на сайте и выше трафик, тем выше шанс, что большое количество пользователей увидит медленную загрузку.
Это переписанная и структурированная статья из моего телеграм-канала « digital на минималках», где я делюсь опытом в бизнесе, инструкциями, рассказываю, как удешевить свои вложения в digital, рассуждаю на небанальные темы, немного бомблю и делюсь мемчиками (осторожно, нецензурная речь). Решил, что подобное объемное исследование будет интересно не только подписчикам моего канала.