Ускорение сайта на WordPress

5 ноября 2019

Содержание

Даже наилучший в мире контент не поможет добавить популярности вашему медленно работающему сайту. Скорость – вот что в приоритете. Ее отсутствие раздражает. И не важно, на какой платформе сайт расположен. WordPress – не исключение.

Эта площадка – одна из самых популярных. Она объединяет свыше 80 млн сайтов (а это приблизительно треть всех веб-порталов). Именно поэтому вопросы оптимизации загрузки настолько актуальны.

ускорение сайта на WordPress

Как проверить скорость вашего WordPress –сайта

Внимательно изучите параметры ресурса, используя тестировщики. При этом очень важно тестировать и перед началом работ, и в конце, после нововведений. Так вы сможете получить данные для анализа. Ведь очень важно понять, какие изменения и как именно повлияли на уровень производительности ресурса.
Ускоряем сайт на WordPress

Заслуживает внимания Google PageSpeed. Это современный мощный инструмент для проверки скорости. Заходим на страницу ресурса, вводим в поле адрес, который нужно протестировать. И буквально через минуту-две получаем детальный отчет.

Обратите внимание: тестировать можно десктопную и мобильную версии.

Методы повышения скорости работы WordPress

Поскольку уровень скорости сайта влияет на его позиции в поисковой выдаче, а также повышение конверсии и ранжирование, важно использовать все возможности для изменения текущей ситуации. Иначе никакой речи о финансовой прибыли не будет.

Выбор фреймворка /качественной темы

Сайты WordPress сконструированы на основании определенного фреймворка или темы. Те имеют много ненужного. Причина вполне понятна. Ведь разработчики буквально «фаршируют» теми всем. И не важно, есть ли в этом необходимость. Цель простая — побольше продаж. Но темы выходят слишком медленными и очень тяжелыми, хотя и с привлекательным визуально интерфейсом.

Кэширование

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

Обеспечить кэширование можно специальными плагинами.

Expire Headers

Увеличить эффект кэширования помогает leverage browser caching и добавление заголовков expire. Некоторые плагины включают прямо в Expire Headers. Активировать опцию можно посредством добавления кода .htaccess.

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

Помимо активации кэширования можно настроить аналогичное и на хостинге. Подобные действия, преимущественно, характерны для сайтов с колоссальной нагрузкой. Среди действенных инструментов в таком случае внимание привлекает Varnish. Лучше, если инструмент будет использован совместно с CDN и кэширующим плагином.

Предзагрузка доменов

Предзагрузка во многом напоминает кэширование. По сути, мы «даем задание» браузеру проверить еще до момента, когда запрашиваются домены, настойки DNS. Браузером каждая страница сканируется, потом запрашиваются незакэшированные адреса. Те в определенный момент будут загружаться более быстро.

Как активировать prefetch (предзагузку)? В таком случае в файл header.php добавьте код между тэгами head. Рассмотрим детально.

Удаляем со статических ресурсов строку запроса

Эта опция оказывает положительный результат по причине того, что окончания файлов могут привести к проблемным ситуациям с кэшированием статики, в особенности, когда присутствует CDN и прокси. Обратите внимание: удалить Query Strings можно по-разному:

  • В файле functions.php добавить удаляющую query strings опцию;
  • Если имеет место использование кэширующего плагина типа W3 Total Cache, для удаления query strings применяйте соответствующие настройки;
  • Для WordPress предусмотрены плагины. Их предназначение — удалить query strings

CDN

CDN весьма положительно воздействует на сайт. При этом совсем неважны его параметры и объем ежедневных посещений. CDN загружает разные статические файлы (к примеру, изображения, Javascript, CSS) с сервера, расположенного регионально ближе к пользователям.

Так снижается период загрузки. CDN, помимо скорости, обладает хорошим воздействием на сайт. Это проявляется в уменьшении числа отказов и повышении показателей конверсии.

На движке WordPress для Content Delivery Network предусмотрены специальные плагины.

Важно: через CDN необходимо загружать большое число файлов, все, в чем есть необходимость, даже если речь идет о самых маленьких – фавиконках.

Более подробно про CDN читайте в этой статье.

Оптимизировать базу данных

Без такой оптимизации сайт будет функционировать очень медленно. Оптимизация в этом случае — удаление устаревших ревизий, редакций записей.

Отключение (лимит) ревизий постов

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

Отключить редакции постов WordPress

Требуется отключить редакции постов? В этом случае добавляйте код в файл wp-config.php. Так получится поменять интервал автоматического сохранения с шестидесяти секунд до пяти минут, а также отключить автоматическое создание ревизий. При этом остается единственная редакция записи — та, что была предыдущей.

Идентичного эффекта можно достичь, используя Disable Post Revision.

Удалить старые редакции записей из базы данных

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

Обратите внимание: новая версия плагина предусматривает включение автоматической очистки (можно задать при этом определенное расписание).

Ограничение на 100 страниц

Планируя структуру веб-сайта, не забывайте: WordPress изначально не создавался для большого количества страниц.

Как решить такую проблему? Используйте кастомные типы постов. Помимо того, установите Post Type Switcher (плагин бесплатный). Он сможет конвертировать значительное число страниц в пользовательские типы записей.

Сжатие для оптимизации страниц

Поскольку около 56% веса всех страниц составляют картинки, без их оптимизации не обойтись для ускорения движка. Максимально доступный уровень сжатия составляет 70% — все индивидуально и зависит от конкретных файлов. Сжимать картинки лучше еще до момента публикации, используя графические редакторы. Или, как вариант, непосредственно на сайте. Для этих целей потребуется установка специального плагина.

Gzip/Brotli

Gzip – модернизированная технология сжатия на уровне сервера перед отправкой браузеру. Проверить, имеется ли на сайте Gzip можно благодаря Check GZIP Compression. В результате сохраняется до 80% трафика и ускоряется скорость. Так же читайте отдельную статью про gzip сжатие

Apache

Планируете настроить сжатие на сервере Apache? В таком случае добавляйте код в файл.htaccess

Nginx

Активировать сжатие можно методом включения в файл настроек nginx.conf следующих инструкций, если вами используется веб-сервер Nginx.

На WordPress доступно Brotli (для сжатия).

Уменьшить количество плагинов

Значительное число плагинов часто становится ключевой причиной медленной работы. Можно ли это исправить? И как именно достичь результата? Все просто: введите ограничение на количество плагинов. И не используйте те, что устарели и уже не поддерживаются своими разработчиками. Среди таковых — WP Performance Profiler.

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

Оптимизация уровня производительности веб-шрифтов

Статистика утверждает, в 2018 году каждый второй сайт использовал нестандартные шрифты. Если сравнивать такие данные с 2011, то отмечается возрастание на 850%.

Отличный уровень производительности обеспечивают шрифты Google. Причина – в использовании для загрузки CDN, формат WOFF. Open Sans – наиболее быстрый из топ-10 наиболее востребованных шрифтов. Не забывайте: отличие между безопасными шрифтами и их аналогами в Google может достигать 200мс. Такой результат становится возможным благодаря скорости загрузки и дополнительных HTTP запросах к серверам Google.

Оптимизация иконок Font Awesome

Уже активно используете Font Awesome? Загрузку можно ускорить, разместив на CDN файлы. В том случае, когда используете тему WordPress с Font Awesome, вам потребуются некоторые правки.

Lazy Load для видео, картинок, Disqus

Lazy loading – новейшая технология загрузки объектов в тот момент, когда в них есть необходимость. Для WordPress элемент не загружается до тех пор, пока пользователем эта страница не прокручивается.

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

Для отложенной загрузки рекомендуем BJ Lazy Load. Этот удобный бесплатный плагин заменяет фреймы и ярлыки на страницах плейсхолдерами. Помимо того, контент он загружает при прокрутке пользователями.

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

Для отложенной загрузки рекомендуем Lazy Load for Videos. Он заменяет кликабельным фото или же превью встроенное видео.

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

Disqus – новейшая система комментирования. Она успешно борется с различного рода спамом. Вместе с тем, Disqus формирует свыше десяти HTTP запросов, что существенно замедляет загрузку. Отменным решением может стать Disqus Conditional Load. Этот плагин откладывает Disqus.

Объединение и минификация Javascript и CSS

Минификация и объединение скриптов, стилей и файлов позволяет существенно ускорить сайт на WordPress.

Минификация

Минификацией является удалением Javascript, HTML, а также CSS лишних символов.

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

Объединение (конкатенация)

Конкатенация – объединение в один сразу нескольких файлов скриптов (и /или/ стилей). Для чего это нужно? Для минимизирования количества HTTP-соединений. Такие действия часто имеют положительный эффект. Но в отдельных случаях замедляют загрузку страницы, по причине того, что есть необходимость загружать большие файлы. Учитывая этот факт, важно в каждом отдельном случае провести тестирование с целью установления эффекта.

Для минификации и конкатенации применяют плагины. Среди числа таковых – WP Rocket.

Уменьшить HTTP запросы

Для оптимизации необходимо сократить HTTP запросы.

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

Граватары

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

  1. Первый – отключить граватары. Установите WP User Avatar. Затем включите «Отключить Граватары и использовать только локальные аватары»
  2. Второй – это Disqus.

Отключение Emoji

Данный скрипт создает дополнительный HTTP-запрос. Если вы не планируете использовать Emoji, лучше от него избавиться.

В инструкции ниже рассмотрим более детально, как именно отключить Emoji и таким образом избавиться от ненужного HTTP запроса.

В «Написании» отключите «convert emoticons».

Первый вариант – специальный бесплатный плагин Disable Emojis. Он отключает emoji.
Второй вариант – специальная функция движка WordPress. Для ее активации нужно добавить в functions.php код:

Отключение на странице скриптов

Для эффективной загрузки вовремя избавляйтесь от ненужных и неиспользуемых скриптов. В этом поможет Gonzalez.

Отключаем Embeds

Wp-embed.min.js – новый скрипт. Он упрощает вставку картинок, а также видео и твитов. Если такая опция не нужна вам, от нее легко можно избавиться.

  • Установите специальный плагин «Disable Embeds»;
  • Добавьте код в файл functions.php

Отключаем комментарии

Неважно, используете вы или нет комментарии, скрипт comment-reply.min.js автоматически подключается. Учитывая то, что это происходит на каждой страницу сайта, все это негативно влияет на скорость сайта. Для того чтобы отключить этот скрипт, добавьте код в файл functions.php.

Отключение хотлинков

Хотлинк – когда какой-то пользователь использует картинку, при этом на нее идет соответствующая ссылка. В итоге создается дополнительная нагрузка на ваш сервер. Не самое хорошее решение. Поэтому лучше от него избавляться. Как? Запретите подобные вещи, добавив код в файл .htaccess:

Отключение Trackback и Pingback

Trackbacks и Pingback – архаизмы , замедляющие загрузку сайтов. Отключите их в настройках обсуждения. Обратите внимание: данное изменение вступит в силу только для новых записей.

Задание размеров изображений

Перед загрузкой задавайте изображениям требуемый формат. Подобные действия помогут сэкономить ресурсы сервера. К тому же они соответствуют советам Google Pagespeed.

Решение проблемы медленной загрузки admin-ajax.php

В WordPress 3.6 представлен WordPress Heartbeat API. Он обеспечивает обмен информацией WordPress с браузером и сервером. Нововведение улучшило процесс автоматического сохранения, контроля ревизий.

WordPress Heartbeat API применяет для AJAX запросов из admin-ajax.php. Это часто приводит к колоссальной нагрузке на процессор и значительному числу вызовов PHP. Можно воспользоваться бесплатным плагином Heartbeat control. Благодаря его функционалу можно задать частоту обращений WordPress heartbeat API.

Настройка MySQL сервера

Настройки MySQL определяются конфигурацией серверного окружения на определенном хостинге, собственно поэтому не существует универсальных рекомендаций для оптимизации MySQL. Как правило, опции MySQL/MariaDB находятся в файле /etc/my.cnf. Необходимо учитывать:

Выбор качественного хостинга

Ни в коем случае не доверяйте шаред-хостингам. Во-первых, они буквально завалены различными сайтами. Наилучшим станет VPS или, как вариант, WordPress хостинг с поддержкой. А еще обязательно сделайте на сайте AMP-страницы, которые легко настроить при помощи плагина.

(2 оценок, среднее: 5,00 из 5)
Loading...

Получай статьи почтой:


Комментарии
  1. Нелли

    Спасибо! Протестирую сегодня отключение Embeds и comment-reply.min.js.

    Еще нашла совет по отключению jquery-migrate.min.js — тоже хочу проверить, надеюсь не сломаю ничего 🙂

    3 декабря 2021 11:33

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




Subscribe without commenting