Как отладить в WordPress производительность мониторинг проблем и способы их решения


Содержание материала:

Как ускорить сайт на WordPress в 17 раз. Пошаговая инструкция

Представляю наиболее полную инструкцию с способами по ускорению работы сайта на WordPress. Благодаря описанным ниже способам я ускорил загрузку своего сайта с 24,40 секунд до 1,41 секунды. Увеличил скорость загрузки в 17,3 раза! Хороший результат. Чтобы узнать как — читайте полную статью.

Замеры скорости работы сайта я проводил сервисом Pingdom Speed Test. Тестировал главную страницу сайта. Смотрите ниже показатели сайта «до» и «после» улучшений, и короткую и полную инструкцию по ускорению сайта.

Показатели сокрости загрузки сайта

Перед оптимизацией После оптимизации
Время загрузки 24.4 секунды 1.41 секунды
Количество запросов 94 запроса 76 запросов
Размер страницы 3.5 Мб 1.6 Мб

Скриншот замера скорости ПЕРЕД оптимизацией блога:

Скриншот замера скорости после оптимизации и проведенных ниже рекомендаций.
Ссылка на результат теста.

Короткое резюме по ускорению сайта на WordPress

Основное влияние на скорость оказали такие факторы как смена хостинга с использованием SSD дисков, оптимизация изображений, включение плагина кеширования W3 Total Cache, оптимизация БД сайта, удаление старых ревизий, включение сжатия файлов на стороне сервера, включение кеша для статичных файлов на стороне браузера. Далее следует полная развернутая инструкция по ускорению сайта на WordPress.

Полная инструкция как ускорить сайт на WordPress

1. Качественный SSD хостинг, быстрый пинг

Хостинг должен быть на SSD дисках. Желательно чтобы сервера хостинга располагались в вашей географической зоне, на которую ориентирован сайт. Если хостинг будет на SSD, но в США, а ваш блог ориентирован на Россию и страны СНГ, то толку от такого SSD будет мало. Так как будет идти долгий пинг для связи с сервером. Поэтому месторасположение дата центра хостинга также важно. Это важный параметр хостинга — быстрый пинг, отклик серверов. И чтобы хостер не делал оверселлинг услуг. Про тип хостинга — конечно лучше брать как VDS (виртуальный выделенный сервер) с необходимыми для вашего сайта параметрами, вместо обычного shared хостинга. Какую именно конфигурацию VDS выбрать — это зависит от нагрузки которую ваш сайт создает не сервер и от размера его суточной аудитории. Я бы советовал брать минимум 1Gb Ram, 1 ядро процессора и 10 Гб SSD. В начале у меня был VDS на обычных HDD дисках, затем я поменял его на SSD VDS хостинг.

Хостинг «До»:

VPS хостинг FreeHost.com.ua
Размер диска: 30 Gb HDD
Память: 2 Gb RAM
Частота CPU: 2,2 Ghz
Количество CPU: 1
Расположение серверов: Киев, Украина
Стоимость: 12,8 $/месяц

Хостинг «После»:

VDS хостинг от ihor.ru
Размер диска: 20 Gb HDD
Память: 1 Gb RAM
Частота CPU: 2,4 Ghz
Количество CPU: 1
Расположение серверов: Москва, Россия
Стоимость: 250 руб/месяц (примерно 5$/месяц)

По скриншотам теста скорости загрузки сайта, видно что на старом хостинге время ответа сайта достигало 12,3 секунды. Что непомерно много. На новом хостинге от ihor.ru время ответа сайта составляло 1,2 секунды, что в разы быстрее, по сравнению со старым хостингом. На этот показатель повлияли SSD диски, и более лучший дата центр с лучшим и более быстрым каналом.

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

2. Оптимизировать изображения

Проверьте используете ли вы оптимизированные jpg файлы изображений. Которые занимают небольшой размер и при этом обладают хорошим качеством. В Photoshop сохранять такие изображения можно командой Save for Web (Ctrl + Shift + Alt + S), или через функцию export assets если вы используете Photoshop CC. Не стоит сохранят большие непрозрачные картинки в .png формате, он занимает слишком много места, и для этого лучше использовать jpeg формат. Формат png подходит для небольшой графики которая используется в оформлении сайта, в шаблоне, это могут быть изображения кнопок, буллеты, изображения с прозрачным фоном.

Некоторые миниатюры к записям у меня были сохранены в .png формате, и размер изображения достигал 300 Кб. Пересохранив изображения в jpg формат, каждая миниатюра стала занимать 60-90 Кб в среднем. Таким образом вес некоторых изображений уменьшился в 3-4 раза, без потери качества.

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

3. Настройка wp-config.php для ускорения работы сайта на wordpress

Небольшой способ снизить загрузку на хостинг — отредактировать файл wp-config.php, который находится в коревой директории вашего сайта.

Находим в файле wp-config.php строку:

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

4. Настройка Robots.txt — запрет на индексацию ненужным сайтам.

Файл robots.txt регулирует доступ различных поисковых роботов к страницам сайта. Предлагаю добавить следующие строки в файл, сразу же перед директивой Host. Сделаем мы это для того чтобы запретить на сайт вход различным поисковым роботам, грабберам и парсерам, которые могут воровать контент и создавать ненужную нагрузку на хостинг.

Например, помимо роботов от Yandex и Google на сайт также заходит поисковый робот от поисковика Yahoo. Таким кодом можно запретить Yahoo роботу просматривать сайт:

Я прописал следующие запрещающие директивы:

Вот пример моего файла robots.txt

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

5. Настройка файла .htaccess для снижения нагрузки на сервер.

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

Настройка №1. Часто с сайтов копируют информацию вместе с картинками, не изменяя адреса картинок. И когда такое происходит картинки лежащие на нашем хостинге загружаются на других сайтах, и это создает ненужную нагрузку на хостинг.

Следующим кодом можно запретить загружать изображения нашего сайта на сторонних сайтах:

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

Настройка №2. В файле .htaccess можно и следует указать кэширование для некоторых объектов сайта (изображений, css и js фалов) чтобы браузер кешировал их на своей стороне и не загружал их каждый раз. Для этого в .htaccess ниже первого кода добавляем следующий код:

Настройка №3. Включим gzip сжатие страниц перед отправкой их пользователю. Вставим в .htaccess следующий код:

Настройка №4. Ограничение спама в комментариях. Большинство спам комментариев отправляются автоматически. Этим кодом мы запретим напрямую отсылать комментарии минуя форму комментирования. Теперь спам боты не смогу отправлять комментарии.

Настройка №5. Если вы пользуетесь системой FeedBurner, то у вас явно установлены плагины, которые отправляют RSS-контент на сайт FeedBurner. Сегодня вы можете их удалить, потому что перенаправить контент можно и без плагинов, уменьшив нагрузку на хостинг.

ВНИМАНИЕ. Не забудьте в примерах выше заменить адрес yourdomain.ru на адрес своего сайта.

6. Оптимизация базы данных

Важное значение в скорости работы сайта имеет База Данных. При сохранении постов по нескольку раз WordPress создает ревизии записи — состояния постов в разные моменты их редактирования. В результате со временем база данных содержит большое количество ненужных ревизий постов, и их необходимо очищать и оптимизировать. Сделать это можно с помощью плагина Optimize DB. Установить его можно из админки WordPress. Например запустив его на своем сайте я удалили более 1200 ревизий постов. Что значительно улучшило скорость работы БД.

7. Оптимизация кода шаблона (темы)

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

Настройка №1. Найти код, который отвечает за стили в файле header.php:

Внимание. Не забудьте изменить yoursite.ru на ссылку своего сайта.

Настройка №2. Изменить код пинбеков:

Заменить с исправлением yoursite.ru на свою ссылку:

Настройка №3. Изменение кода RSS ленты:

Заменить с исправлением yoursite.ru на свою ссылку:

Настройка №4. Довольно часто в подвале сайта (footer.php), разработчики тем оставляют совершенно ненужные запросы к Базе данных. Например:

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

Некоторые маленькие советы, которые позволят ускорить загрузку сайта:

1) Если ваш сайт не использует комментарии, не стоит их скрывать с помощью плагинов, это создает совершенно ненужную нагрузку. Так как вам комментарии совершенно не нужны, просто удалите следующий код из файла темы (single.php):

2) Старайтесь не использовать внешние скрипты, такие как, комментарии от Вконтакте, различные виджеты социальных сетей. Да, это выглядит красиво и эффектно, но создает приличную нагрузку на сайт. Из примеров могу сказать что мой сайт значительно грузил код веб-визора от ЯндексМетрики, виджет Add.This. Кнопки соц сетей я поменял на отельный JS плагин.

3) Почистите весь код вашего сайта от комментариев, данные комментарии вставляются с помощью тегов и /*код/. Оставьте только нужное, так как сайту приходится тратить лишние силы на их загрузку…

4) Старайтесь размещать все скрипты в конце страницы перед закрвающим тегом

13 плагинов WordPress для ускорения загрузки сайта: как ускорить сайт на WP

Первое, что влияет на впечатление пользователя от сайта — скорость его загрузки. Если сайт не загрузился в первые три секунды, скорее всего пользователь его закроет. Даже если на сайте выстроена идеальная воронка продаж, продумано юзабилити, продается что-то выгодное и полезное, клиент этого не увидит,потому что не дождется загрузки.

Поисковики любят быструю загрузку

Поисковые системы тоже поощряют ускорение загрузки. В Яндексе говорят о том, что более 40% выходят в сеть с 3G-интернетом, так что тяжелые страницы будут загружаться очень медленно. Проблема долгого ответа сервера считается критичной: если среднее время ответа всех страниц дольше трех секунд, вы увидите предупреждение в Яндекс.Вебмастере

Google в июле 2020 запустил алгоритм Google Speed Update, он понижает в выдаче сайты, которые загружаются очень долго. Особенно рискуют интернет-магазины, потому что обычно они функционально перегружены.

Многие владельцы сайтов и SEO-специалисты жаловались на значительную просадку позиций после обновления алгоритма. Сервисы мониторинга позиции не показывали каких-либо значительных изменений:

График изменений по десктопной и мобильной выдаче

Но сайты, которые действительно долго загружались, просели в выдаче. Интересно, что по анализу Барри Шварца, владельца портала Seroundtable, апдейт больше всего навредил сайтам о здоровье:

Результаты анализа Барри Шварца

Пострадали 42% официальных ресурсов медучреждений, частных сайтов о здоровье и фитнесе, ЗОЖ. Причина такого смещения результатов неизвестна, точнее, нет официального ответа, зато есть версии, о которых мы рассказывали в статье «Как продвигать сайты в медицинской тематике».

Даже если ваш сайт далек от темы здоровья, работать над скоростью все равно нужно.

От чего зависит скорость загрузки сайта

Скорость загрузки сайта зависит от нескольких факторов, каждый из них можно ускорить по мере возможностей.

Серверные параметры, хостинг

Время ответа сервера — это время, за которое сеть и сервер вернул первый запрошенный байт HTML-файла. Чем больше это время, тем дольше у пользователя белый экран загрузки вместо сайта. Плохо, если время ответа сервера дольше трех секунд, Яндекс.Вебмастер покажет уведомление о критичной ошибке.

Скорость ответа сервера, верстка, оптимизация CSS и JS влияет на время загрузки основной части сайта.

Часто проблема может быть в том, что не хватает ресурсов хостинга — CPU и скорости дисковой системы. Обычно советуют найти SSD хостинг и использовать сети CDN, чтобы сократить время доставки контента — система выберет ближайший к пользователю сервер.

По словам Джона Мюллера, Google определяет скорость сайта по общей картине, а не по промежуточным этапам. Быстрой загрузки первого байта (TTFB) недостаточно, это не показатель хорошего пользовательского опыта. Важно общее время загрузки и рендеринга, поэтому стоит работать над всеми доступными параметрами.

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

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

Почитать по теме:
«Как ускорить загрузку: оптимизируем код верхней части страницы»: асинхронная загрузка, jQuery, минификация и объединение кода, кэширование и другие способы.

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

Для этого в корневой директории нужно найти файл wp-config.php, в котором найти строку

И заменить ее на такой код:

Вес страницы сайта

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

Об этом в подробностях в статье «Как уменьшить вес сайта и ускорить загрузку страниц»: gzip, brotli, минификация и другие способы.

Редиректы

Редиректы замедляют скорость — сервер устанавливает соединение с одной страницей, получает ответ о перенаправлении и переходит на другую. Если на сайте много 301 редиректов, проверьте по источникам трафика, может, в некоторых случаях стоит заменить ссылку с редиректом на конечную страницу.

Редиректы с HTTP на HTTPS тоже могут тормозить процесс, в этом случае поможет технология HSTS (HTTP Strict Transport Security) — тогда браузер автоматически сделает внутренние редиректы, сразу сделает запрос на HTTPS и перенаправит пользователей на безопасное соединение. Для этого нужно подключить функцию HSTS в личном кабинете хостинга или прописать заголовок HTTP Strict Transport Security. Но советуем сначала протестировать функцию, чтобы убедиться, что все страницы доступны.

Плагины для ускорения загрузки сайта на WordPress

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

Optimize Database

WordPress создает резервные копии записей при сохранении и редактировании, они все хранятся в базе данных. Чтобы улучшить скорость работы, можно оптимизировать БД — провести ревизию с помощью плагина.

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

Фрагмент работы с плагином

Совместим вплоть до 5.2.3 версии WordPress, нужна версия PHP 5.0 или выше.

WP-Optimize

Плагин для очистки базы данных, сжатия изображений и кэширования.

  • удаление резервных копий, спам-комментариев, пингбэков, трекбэков;
  • массовое сжатие изображений в формате PNG, JPG, GIF, BMP и TIF;
  • кэширование: специфический кэш для устройств, предварительная загрузка кэша, расширенные правила исключения для файлов;
  • gzip-сжатие HTML, JavaScript и CSS;
  • настройка автоматических очисток по расписанию.

Ускорение с помощью плагина Пример интерфейса

Работает бесплатно, есть премиум-версия с дополнительными возможностями. Совместим с версиями WordPress от 3.8.

WP Fastest Cache

Плагин создает статические html-файлы с сайта на WordPress и сохраняет их, то есть кэширует страницы.

  • кэширование страниц в браузере для более быстрой загрузки у пользователей, посещавших сайт ранее;
  • gzip-сжатие;
  • оптимизация кода;
  • уменьшение размера файлов css.

Данные работы плагина

Плагин совместим с HTTPS, поддерживает SSL, CDN, Cloudflare. Не работает с режимом Multisite. Совместим с версиями WordPress от 3.3

PageSpeed Ninja

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

  • кэширование страниц в браузере и на сервере;
  • gzip-сжатие файлов;
  • оптимизация порядка, котором будут загружаться стили и скрипты;
  • сжатие изображений;
  • предпросмотр изображений в низком разрешении;
  • и другие действия для ускорения загрузки и облегчения веса страницы.

PageSpeed Ninja предлагает действия по ускорению загрузки

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

Совместим с версиями WordPress от 4.0.1 и выше.

PageSpeed Module

Плагин открывает дополнительные настройки страниц для ускорения загрузки, если на сайте используется веб-сервера с открытым исходным кодом Apache или Nginx.

  • очистка кэша от модулей;
  • включение режим разработчика для обхода кэширования PageSpeed.

Окно настройки плагина

Для работы нужно, чтобы был установлен веб-сервер Apache или Nginx. Плагин совместим с версиями WordPress от 4.4.

Jetpack

Плагин от WordPress.com, он должен работать, чтобы улучшить оформление сайта, обеспечить пользователям безопасную работу, отследить маркетинговые данные. Некоторые оптимизаторы писали, что не видят эффекта, но лучше протестировать самостоятельно.

  • отложенная загрузка изображений для ускорения работы на мобильных устройствах;
  • темы для оформления;
  • поддержка статистики и аналитики;
  • автоматический постинг в соцсети с планированием публикаций;
  • статистика и аналитика сайта
  • Elasticsearch — поиск похожего контента на сайтах;
  • фильтрация спама;
  • ежедневное резервирование;
  • поддержка системы оплаты;
  • двухфакторная аутентификация для входа на сайт;
  • и другие возможности для безопасной работы на сайте и маркетинга.

Некоторые возможности платные, цена зависит от количества подключенных дополнений. Есть бесплатный минимальный тариф.

Загрузка изображений на сайт через плагин

Совместим с версиями WordPress от 5.1, версия PHP от 5.6.

All in One SEO Pack

Плагин работает с ускорением загрузки страниц, но предназначен в целом для автоматизации работы с SEO сайта.

  • поддержка Google AMP для ускорения загрузки мобильных страниц;
  • уведомление Google об изменениях на сайте;
  • автоматическая оптимизация заголовков и генерация метатегов;
  • поддержка Google Analytics;
  • встроенный API, который позволяет дорабатывать плагины под себя;
  • и другая функциональность для SEO.

SEO-меню плагина с модулями

Совместимость с PHP от 5.2.4 версии. Совместим с WordPress от 4.7 версии.

WP Total cache

Плагин справляется с кэшированием HTML-страниц, объединением стилей и скриптов, браузерным кэшированием.

  • тестирование настроек сервера, чтобы подобрать настройки плагина для комфортной работы;
  • импорт настроек, если работаете с несколькими проектами;
  • кэширование страниц и объектов;
  • сжатие CSS и JavaScript;
  • отслеживание работы плагина.

Интерфейс плагина

Нужна версия WordPress 3.2 или выше.

WP Super Cache

Плагин для кэширования HTML-страниц. Не оптимизирует JS/CSS, но с этим справляется следующий плагин из подборки.

  • простое включение и отключение кэширования;
  • настройка сроков и страниц для кэширования;
  • настройка кэширования для мобильной версии;
  • поддержка CDN;
  • сбор статистики по страницам.

Варианты настройки кэширования

Совместим с версиями WordPress от 3.1, минимальное требование — версия PHP 5.2.4 или выше.

Autoptimize

Плагин работает с кодом, скриптами и стилями страницы, ускоряя загрузку. Хорошо справляется в тандеме с предыдущим плагином.

  • оптимизация JavaScript и CSS;
  • исправление кода, блокирующего отображение верха страницы.
  • кэширование и объединение скриптов и стилей;
  • работа с заголовками;
  • перемещение скриптов в нижний колонтитул;
  • упрощение HTML.

Настройки плагина

Совместим с версиями WordPress от 4.0 и выше, версиями PHP от 5.3 и выше.

AMP for WordPress

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

  • преобразование страниц в вид AMP, тогда к URL каждой страницы добавится /amp/;
  • отображение сайта как «Native AMP», тогда у каждого адреса будет только одна AMP-версия URL;
  • обновление кэша по расписанию.

Пример страницы с шаблоном AMP

Поддерживает CDN. Совместим с версиями WordPress от 4.9, PHP от 5.4.

Yandex.News Feed by Teplitsa

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

  • трансляция контента для Яндекс.Новостей;
  • поддержка режима Турбо Страниц.
  • настройка категорий, которые попадут в трансляцию;
  • и другие настройки RSS-ленты для Яндекс.Новостей.

Настройка Турбо-страниц

Совместим с версиями WordPress от 3.9.

Smush Image Compression and Optimization

Плагин уменьшает и сжимает изображения для быстрой загрузки страницы.

  • сжатие изображений при загрузке на сайт;
  • сжатие уже загруженных из любого каталога;
  • установка границ — максимальной высоты и ширины, большие изображения будут сжиматься и подстраиваться под размер;
  • настройка отложенной загрузки;
  • массовая работа с изображениями.

Автоматическое изменение размера

Совместим с версиями WordPress от 4.6, PHP от 5.3 и выше.

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

WordPress.org

Русский

Оптимизация запросов к БД

Вывожу вручную записи в боковой колонке в двух секциях:

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

Получается два тяжёлых запроса вида:

Как оптимизировать такие запросы, так как они замедляют работу сайта.

Стоит посмотреть доклад «7 убийц производительности WordPress» (слайды), там есть альтернатива ORDER BY RAND() .

Принцип тот же, что и в заметке «Оптимизация ORDER BY RAND()».

Спасибо! Буду искать альтернативные методы. Order by — настоящий убийца производительности.

Наблюдение и настройка производительности Monitor and Tune for Performance

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

Наблюдение за базами данных выполняется с целью оценки производительности сервера. The goal of monitoring databases is to assess how a server is performing. Эффективное наблюдение подразумевает регулярное создание моментальных снимков текущей производительности для обнаружения процессов, вызывающих неполадки, и постоянный сбор данных для отслеживания тенденций роста или изменения производительности. Effective monitoring involves taking periodic snapshots of current performance to isolate processes that are causing problems, and gathering data continuously over time to track performance trends.

Постоянная оценка производительности базы данных помогает добиться оптимальной производительности путем минимизации времени ответа и максимального увеличения пропускной способности. Ongoing evaluation of the database performance helps you minimize response times and maximize throughput, yielding optimal performance. Приблизительный сетевой трафик, дисковый ввод-вывод и загрузка ЦП — ключевые факторы, влияющие на производительность. Efficient network traffic, disk I/O, and CPU usage are key to peak performance. Следует тщательно проанализировать требования приложения, понять логическую и физическую структуру данных, оценить использование базы данных и добиться компромисса между такими конфликтующими нагрузками, как оперативная обработка транзакций (OLTP) и поддержка решений. You need to thoroughly analyze the application requirements, understand the logical and physical structure of the data, assess database usage, and negotiate tradeoffs between conflicting uses such as online transaction processing (OLTP) versus decision support.

Мониторинг и настройка производительности баз данных Monitoring and tuning databases for performance

В состав Microsoft SQL Server SQL Server и операционной системы Microsoft Windows входят служебные программы, позволяющие следить за текущим состоянием базы данных и измерять производительность, если это состояние меняется. Microsoft SQL Server SQL Server and the Microsoft Windows operating system provide utilities to view the current condition of the database and track performance as conditions change. Для наблюдения за Microsoft Microsoft SQL Server SQL Server можно использовать целый ряд средств и методик. There are a variety of tools and techniques you can use to monitor Microsoft Microsoft SQL Server SQL Server . Наблюдение за SQL Server SQL Server позволяет решать следующие задачи: Monitoring SQL Server SQL Server helps you:

Определять возможности увеличения производительности. Determine whether you can improve performance. Например, выполняя мониторинг времени ответа для часто используемых запросов, можно определить, требуется ли изменить текст запроса или индексы таблицы. For example, by monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables are required.

Оценивать активность пользователей. Evaluate user activity. Например, выполняя мониторинг пользователей, которые подключаются к экземпляру SQL Server SQL Server , можно определить, правильно ли настроены параметры безопасности, и проверить работу приложений и систем разработки. For example, by monitoring users trying to connect to an instance of SQL Server SQL Server , you can determine whether security is set up adequately and test applications or development systems. Контролируя выполнение SQL-запросов, можно определить, правильно ли они написаны, и проверить результаты, которые они возвращают. For example, by monitoring SQL queries as they are executed, you can determine whether they are written correctly and producing the expected results.

Устранять проблемы или отлаживать компоненты приложений, например хранимые процедуры. Troubleshoot problems or debug application components, such as stored procedures.

Мониторинг в динамической среде Monitoring in a dynamic environment

Изменение этих условий приведет к изменению производительности. Changing conditions result in changing performance. По результатам оценки можно заметить изменения производительности при увеличении числа пользователей, изменении методов доступа пользователей и методов соединения, при увеличении объема содержимого базы данных, изменении клиентского приложения и данных в приложении, а также при усложнении запросов и увеличении объема сетевого трафика. In your evaluations, you can see performance changes as the number of users increases, user access and connection methods change, database contents grow, client applications change, data in the applications changes, queries become more complex, and network traffic rises. С помощью средств контроля производительности можно связывать изменения отдельных показателей производительности с изменениями условий и сложных запросов. Using tools to monitor performance helps you associate changes in performance with changing conditions and complex queries. Примеры: Examples:

Отслеживая время отклика на часто используемые запросы, можно определить, нужно ли изменять запросы или индексы опрашиваемых таблиц. By monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables where the queries execute are required.

Отслеживая выполнение запросов Transact-SQL Transact-SQL можно определить правильность их написания, а также соответствие ожидаемым результатам. By monitoring Transact-SQL Transact-SQL queries as they are executed, you can determine whether the queries are written correctly and producing the expected results.

Отслеживая пользователей, пытающихся подключиться к экземпляру SQL Server SQL Server , можно проверить надежность защиты и протестировать приложения или системы разработки. By monitoring users that try to connect to an instance of SQL Server SQL Server , you can determine whether security is set up adequately and test applications or development systems.

Время отклика — это время ожидания возврата пользователю первой строки результирующего набора в форме визуального подтверждения обработки запроса. Response time is the length of time required for the first row of the result set to be returned to the user in the form of visual confirmation that a query is being processed. Пропускная способность — это общее количество запросов, которые сервер может обработать за единицу времени. Throughput is the total number of queries handled by the server during a specified period of time.

С увеличением числа пользователей растет соперничество за ресурсы сервера, что в свою очередь увеличивает время ответа и уменьшает общую пропускную способность. As the number of users increases, so does the competition for a server’s resources, which in turn increases response time and decreases overall throughput.

10 самых распространенных ошибок, которые делают разработчики на WordPress

Разработчики на WordPress в погоне за быстрыми результатами часто совершают одни и те же ошибки. Перед вами 10 советов, которые помогут с ними бороться.

Включайте режим отладки

Зачем использовать отладку, если код работает нормально? Отладка — это встроенная функция в WordPress, которая поможет отобразить все ошибки PHP, предупреждения и уведомления (включая устаревшие функции). С отключенной отладкой тяжело регистрировать нештатные ситуации, возникающие на сайте, что в конечном итоге может принести массу проблем. Кроме того, ошибки могут привести к существенному снижению скорости открытия страниц. Каждый раз, добавляя новый скрипт или пользовательский код в WordPress, включайте отладку (но не забывайте отключать её при введении новой функциональности в эксплуатацию).

Чтобы активировать режим отладки, нужно отредактировать файл wp-config.php в корневом каталоге установки WordPress:

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

Не добавляйте все скрипты в верхнюю часть сайта

Хотя в WordPress есть множество популярных скриптов, многие разработчики добавляют дополнительные скрипты в wp_head . Это может привести к сильному снижению скорости загрузки страниц.

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

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

9–10 ноября, Москва, беcплатно

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

Создавайте дочерние темы и не меняйте файлы движка

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

Чтобы создать дочернюю тему, поместите файл style.css в подкаталог папки дочерней темы и наполните подобным содержимым:

В приведенном выше примере создается дочерняя тема, основанная на теме «WordPress Twenty Sixteen». Важной строкой этого кода является слово Template , которое должно соответствовать имени каталога родительской темы, с которой вы клонируете шаблон.

Такие же принципы применяйте к основным файлам WordPress: не нужно изменять файлы движка, постарайтесь использовать функции и фильтры CMS так, чтобы ваши изменения не были перезаписаны после обновления. Подключаемые функции позволяют вам переопределить некоторые базовые функции, но этот подход используется всё реже и заменяется фильтрами. С фильтрами достигается тот же результат, что и с подключаемыми функциями: изменение вывода функций WordPress. Не забывайте добавлять в код if ( !function_exists() ) при использовании подключаемых функций, поскольку несколько плагинов, пытающихся переопределить одну и ту же подключаемую функцию без этой оболочки, будут приводить к фатальной ошибке.

Не используйте хардкодинг

Очень часто нам кажется, что проще вставить значение в код напрямую (например, ссылку), но в итоге время, затраченное на отладку и устранение проблем, которые возникают в результате таких действий, сильно возрастает. Лучше всего использовать функцию для генерации нужного нам результата динамически, что принесет меньше проблем в будущем.

Пример: вы переносите сайт с тестовой среды на хостинг с прописанными вручную значениями для всех ссылок (хардкодинг), в итоге вам придётся потратить больше времени на то, чтобы заставить его работать. Поэтому лучше использовать функции, аналогичные представленным ниже, для получения путей к файлам и генерации ссылок:

Другим плохим примером хардкодинга является запись пользовательских запросов. Например, в качестве меры безопасности мы меняем установленный по умолчанию префикс WordPress из wp_ на нечто более уникальное, например, wp743_ . Наши запросы не сработают, если мы когда-нибудь переместим наш сайт на WordPress, поскольку префиксы таблиц могут меняться между средами. Чтобы этого не произошло, мы можем ссылаться на свойства таблицы класса wpdb :

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

Не давайте постоянно индексировать ваш сайт

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

Как показано ниже, в настройках чтения WordPress есть флажок, который гласит: «Попросить поисковые системы не индексировать сайт» (хотя это не гарантирует, что поисковые системы отработают данный параметр):

Поэтому, если вы хотите надёжно предотвращать индексацию вашего сайта поисковыми системами, отредактируйте файл .htaccess и вставьте следующую строку:

Перепроверяйте работоспособность плагинов

Зачем проверять, включена ли функция плагина, если он активен? Конечно, в 99 % случаев это так, однако этот один процент может привести к тому, что ваш сайт будет выводить некоторые ошибки PHP. Чтобы этого не произошло, мы можем проверить, активен ли плагин, прежде чем использовать его функции. Если функция плагина вызывается через фронтенд, то нужно включить библиотеку plugin.php в код, чтобы вызвать функцию is_plugin_active() :

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

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

Не загружайте слишком много ресурсов

Зачем выборочно загружать ресурсы для страниц? Нет веской причины загружать стили и скрипты для плагина, если этот плагин не используется на странице, на которой находится пользователь. Используя плагины только тогда, когда это необходимо, мы сможем существенно ускорить время загрузки страниц. Возьмем, например, сайт WooCommerce, где нам нужно, чтобы плагин загружался только на торговых страницах, что позволит снизить нагрузку на сайт. Для этого следует добавить следующий код в файл шаблона functions.php :

Сценарии также можно удалить с помощью функции wp_dequeue_script ($ handle) через дескриптор, с которым они были зарегистрированы. Аналогично wp_dequeue_style ($ handle) предотвратит загрузку таблиц стилей. Но, если это технически сложно для вас, можно установить Plugin Organizer, который обеспечивает выборочную загрузку плагинов на основе определенных критериев, таких как тип сообщения или имя страницы. Рекомендуется отключить любые кэширующие плагины, такие как W3Cache, чтобы изменения стали заметными.

Не оставляйте панель управления в верхней части сайта

Можно ли оставить панель администратора WordPress видимой для всех? Да, вы можете позволить своим пользователям получить доступ к страницам администратора. Но если вы хотите, чтобы ваш сайт выглядел профессионально, вы должны отключить панель администратора для пользователей и оставить её только для себя:

Этот код нужно вставить в файл functions.php вашей темы. Таким образом, панель будет отображаться только для администратора сайта. Используя current_user_can ($) , можно добавить пользователю любую роль, а также исключить его из панели управления.

Используйте фильтр GetText

Можно использовать CSS или JavaScript для изменения ярлыка кнопки, что с этим не так? Да, можно. Однако вы добавляете лишний код и тратите дополнительное время, чтобы отобразить кнопку, когда вместо этого вы можете использовать один из самых удобных фильтров в WordPress — gettext . Используя этот фильтр совместно с textdomain , мы можем изменять текст до загрузки страницы. Если изменяемый текст находится в теме, найдите строку кода load_theme_textdomain ($ domain) .

На примере WooCommerce рассмотрим, как изменить текст, который появляется для заголовка «Related Products». Вставьте следующий код в файл functions.php вашей темы:

Этот фильтр применяется к переведённому тексту с помощью функций интернационализации __() и __e() , если textdomain определен с помощью вышеупомянутых функций.

Меняйте значения для постоянных ссылок

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

Заключение

Приведённые здесь примеры не являются полным списком допускаемых ошибок при работе с сайтами на WordPress. Не стесняйтесь делиться с нами некоторыми ошибками, которые вы сделали в прошлом, и, что более важно, с любыми извлечёнными уроками, оставив комментарий ниже.

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

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

Ускорение сайта WordPress — задача довольно сложная и нетривиальная, например, если требуются хорошие результаты для PageSpeed Insights. Причин для возникновения сложностей довольно много:

Довольно сложно настроить кэширование. Например, Drupal в этом плане дает гораздо больше возможностей, к тому же из коробки.

Отсутствие встроенных методов асинхронной и отложенной загрузки скриптов.

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

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

Еще куча всякой мелочёвки, которою рассмотрим в процессе. Итак, пора перейти к делу. В данной статье мы рассмотрим ускорение для ПК, а также оптимизацию WordPress для мобильной версии сайта. Кстати, рекомендую не концентрироваться только на PageSpeed Insights, лучше замерять с помощью GTmetrix или Pingdom Tools.

Начало ускорения

Оптимизация WordPress начинается с теста скорости. Тут все довольно просто, есть такие инструменты, как PageSpeed Insights от Google, также Pingdom Tolls, Gtmetrix. Рекомендую использовать все, они покажут, какие слабости есть у сайта. Ниже скриншоты тестов. Вроде все неплохо, за исключением гугловского инструмента. К сожалению, вы запросто можете оказаться в ситуации, что от вас требуют высоких результатов в данном тесте, не понимая даже, что он собой представляет. Конечно, можно улучшить сильнее, но тогда пострадает дизайн. В целом, в мобильной версии у меня от 60 до 64, в ПК от 87 до 93. Когда как. Но в основном проблема заключается в партнерках, счетчиках и частично с файлами js и css. В общем, многое исправить будет нелегко, да и не нужно.

Неоднократно наблюдал, что «зеленые» сайты грузятся визуально долго, а «желтые» прогружаются заметно быстрее. Так что относитесь к результатам инструмента с некоторой долей скептицизма.

Могу с уверенностью сказать, что в мобильной версии высокие результаты часто идут во вред пользователям. Отложенная загрузка всего и вся и чуть ли не голая HTML-страница — единственный путь к заветной сотне. В общем, PSI немного отстал от жизни, голый HTML давно почил в небытие.

Итак, в первую очередь отключаем плагины кэширования. Они будут серьезно мешать в процессе работы. Сжатие тоже рекомендую отключить на уровне хостинга. Если в файле . htaccess прописаны методы cache и сжатия, комментируем их. Теперь поехали. Пришло время разобраться, как ускорить WordPress.

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

Без плагинов

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

Хостинг

Конечно, полноценных тестов делать не доводилось. Но к выбору хостинга стоит отнестись серьезно. Например, раньше сидел на Reg.ru. Не скажу, что хостинг плохой, но есть несколько серьезных минусов, которые меня оттолкнули:

Нет связки Apache + Nginx. А она дает хорошую скорость.

Малое количество процессорной мощности.

Невозможно настроить исходящие письма без костылей в виде плагинов для WordPress.

В общем, вот пара скриншотов для сравнения.

Ресурсы, которые предоставляет Reg.ru

Честно говоря не впечатляет. Одни и те же сайты у меня шустрее работают на Макхост.

Предложение от Макхост.

У Рег.ру я беру тариф Host-0. Ежемесячная оплата — 225 рублей. Как видите, не особо производителен. У Макхост за 249 рублей покупаю тариф Мак-10. Это 12,5% мощности ядра, 300 000 файлов, ну и остальное по списку на скриншоте. Как видите, производительность получается заметно лучше, по крайней мере, хостинг не ругается на перегруз. В целом, Макхост мне показался не идеальным, но заметно шустрее. Единственное, по чему скучаю, — ISP Manager, очень нравится данная панель, но здесь она платная — 290 рублей в месяц. Вроде недорого, но жаба душит. Впрочем, вы можете мне помочь, если будете регистрироваться по реферальной ссылке, то хостинг и ISP окупятся сполна. Как видите, я честно говорю, что ссылка реферальная. Но от регистрации по ней вы ничего не потеряете, зато поможете моей жадной натуре обрести счастье.

Ладно, с хостингом определились, на самом деле выбирайте любой наиболее удобный, где есть поддержка PHP версии 7.3, Apache+Nginx или LSAPI. Не обязательно выбирать то, что предложил я. По крайней мере, наиболее шустрый вариант для первоначальной загрузки — Apache + Nginx. А вот если есть постоянные посетители (причем много), то эффективней окажется LSAPI, ибо он значительно ужимает байты при повторной загрузке и лучше подходит для формирования статического кеша. В любом случае, чистый Apache проигрывает обоим вариантам.

Тестирование сделано не мной. Откуда скрин, вспомнить не получается.

Настройка . htaccess

Сначала необходимо активировать сжатие. Это позволит сократить количество передаваемых данных. Причем многократно. Отвечает за это модуль Apache mod_deflate . В корне сайта должен располагаться файл . htaccess . В него и внесем изменения. Возьмите за правило: пользовательский код можно вносить только после # END WordPress , то, что находится в WP- блоке, CMS может затереть при обновлении.

Итак, добавляем следующее содержимое:

Готово, сжатие активировано. DeflateCompressionLevel отвечает за степень компрессии по шкале от 1 до 9. Чем выше уровень, тем сильнее нагрузка на процессор как сервера, так и клиента. Но сейчас любой компьютер, даже слабенький, справится с задачей, так что можно не переживать. В .htaccess нельзя данную переменную размещать. Только в конфигурации Apache. Так что уточняйте у хостера степень компрессии.

Теперь необходимо включить кеширование на уровне браузера. Для примера выкладываю код с секундами, часами и даже месяцами. Итак, будем редактировать модуль mod_expires.c , внося изменения в тот же файл . htaccess

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

Версия PHP и обновление WP

Хотя в требования версия указана не ниже 5.6.20 , но лучше для WordPress использовать актуальную 7.3 . По сети гуляет множество тестов, которые наглядно демонстрируют, насколько сильно выше производительность у последней версии. Вы получите прибавку от 20 до 100% в зависимости от операции.

Потому, лучше обновить WP и плагины. Если есть серьезно устаревшие, которые давно не актуализировались, то заменить на другие. Но учтите, есть плагины, которые не обновлялись по несколько лет, а с кодом у них все в порядке. Смотрите внимательнее. Кстати, актуальная версия WordPress работает стабильнее и шустрее, чем предыдущая ветка, потому рекомендую не откладывать переход. Чем дольше ждете, тем сложнее будет обновиться.

Контент

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

Картинки, картинки и еще раз медиафайлы

Сколько раз наблюдал несжатые картинки с весом более мегабайта. Когда таких накопится критическая масса, то страница может весить под 15 МБ. Итак, что рекомендуется делать:

Менять размер картинок на оптимальный. Например, 640 X 480 пикселей.

Использовать сжатые форматы. Например, JPEG. PNG весит значительно больше.

Дополнительно сжимать, с помощью утилиты FileOptimizer на компьютере. Также есть плагины, позволяющие сделать это. Тот же Smu с sh. Но я предпочитаю сжимать сначала на компе. Но если есть куча размещенных неоптимизированных изображений, смело ставьте.

Использовать миниатюры и открывать полноразмерную картинку в лайтбоксе.

Так что, позаботьтесь, чтобы на страницах не было ничего «тяжеловесного», особенно изображений. И дополнительно рекомендую воспользоваться функциями ленивой загрузки ( Lazy Load ), кликайте по ссылке, там все подробно описано.

Сеть доставки контента. Фактически, весь статический контент:

предварительно c генерированные html

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

Ускорение сайта WordPress на уровне Back-end

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

Выбор темы

Э то ключевой момент. На самом деле движок WordPress довольно-таки шустрый. Его ругают за то, что из «коробки» ничего нет, но я считаю это правильным. Такой подход дает большую вариативность последующей кастомизации. Поставил плагин для SEO, какой нужно, добавил функционал, который необходим именно для целевого проекта.

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

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

Чем чище тема, тем лучше. Обращайте внимание при выборе платных премиальных тем. Часто разработчики стараются удовлетворить максимально широкие потребности конечного потребителя, так что в них будет понапихано всего и побольше. Например, Avada, JupiterX. Там будут конструкторы тем, разнообразные функции для поддержки встроенных слайдеров, некоторые вообще не будут работать без тяжеловесных плагинов.

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

Плагины

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

Если нужна только одна функция и плагина под нее нет, то тогда есть смысл создать нужный код самому. На самом деле, не важно, куда внесете код. В виде плагина или в functions.php он будет требовать одинаковое количество ресурсов. Перебарщивать с плагинами тоже не стоит. Чем их больше, тем больше ресурсов потребуется на работу с ними, что может заметно замедлить сайт.

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

Оптимизация JS и CSS

Скрипты, порой, основная часть нагрузки на сайт. Каждый скрипт генерирует запросы, имеет определенный вес, соответственно, притормаживает сайт. Многие рекомендуют объединить скрипты в один файл и построить зависимости для него. Это очень сложный метод, способный впоследствии принести массу проблем.

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

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

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

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

Оптимизация CSS

В данном случае все несколько сложнее, чем с JS, для данной задачи лучше использовать плагины, о которых рассказал по ссылке. Но тут все сводится к объединению и минификации файлов стилей. Есть, конечно, и кастомные решения, но в отличии от скриптов, решение с помощью плагина получается гораздо более эффективным.

Оптимизация HTML

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

Перенос скриптов в подвал

Да, убрать скрипты из head и перенести в подвал тоже можно. Достаточно добавить в файл functions.php такой код:

Фактически, все скрипты, расположенные в разделе head будут отключены и подключатся заново в разделе footer . Ничего сложного. Но не всегда это хорошо влияет на сайт. используйте с осторожностью.

Плагины для ускорения WordPress

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

Полетели!

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

Влияет ли слишком много активных плагинов на производительность вашего сайта WordPress?

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

Вот тут и я задумался – а правда ли это так?

Я тоже не люблю, чтобы на сайте было много плагинов, и обычно делаю все кодом, если возможности или знания мне позволяют.

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

Сейчас я вам опишу этот эксперимент, поехали!

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

Вместо того, чтобы спекулировать, я решил провести серию тестов, чтобы определить влияние плагинов на производительность своего сайта. Я объясню, как проводил этот тест, и покажу вам мои результаты, прежде чем обсуждать, что они значат. Давай приступим к работе!

Почему ваши плагины могут повлиять на производительность WordPress

Если использовать простую аналогию, вы думаете о WordPress как об операционной системе (ОС), плагины являются эквивалентом приложений. Как и приложению, плагину нужны ресурсы для запуска, и во многих случаях они даже работают в фоновом режиме, а вы их явно не используете. Простая логика подсказывает, что количество плагинов, которые может запустить веб-сайт WordPress, будет ограничено до того, как его производительность получит существенный удар.

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

Методология тестирования производительности нашего плагина

Если вы используете надежное решение для хостинга, такое как выделенный или виртуальный частный сервер (VPS), у вас будет гораздо больше свободы, когда дело доходит до количества плагинов, которые вы можете использовать. Учитывая это, я решил использовать план общего хостинга для всех наших тестов. В конце концов, они являются наиболее популярным типом веб-хостинга. Если вы используете что-то более мощное, ваши результаты будут заметно лучше моих.

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

  1. Безопасность: Wordfence и Jetpack.
  2. Поисковая оптимизация: Yoast SEO и All In One SEO Pack.
  3. Оптимизация изображения: ShortPixel и Compress JPEG & PNG images.
  4. Контактная форма: Contact Form 7 и Ninja Forms.
  5. Электронная коммерция: WooCommerce и Easy Digital Downloads.

Я выбрал эти категории и плагины, так как они являются одними из наиболее широко используемых. Мы также будем использовать каждый плагин с его настройками по умолчанию. На каждом этапе мы будем проверять, как эти плагины влияют на производительность, каждый раз используя чистую установку WordPress. Прежде чем мы перейдем к этому, мы начнем с базовой линии, используя нулевые плагины.

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

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

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

Как использование слишком большого количества плагинов WordPress влияет на производительность (в цифрах)

Прежде всего, вот первые результаты нашего теста производительности с использованием нового веб-сайта WordPress с нулевыми плагинами:

Без каких-либо плагинов наш сайт WordPress загружается за невероятно быстрые 0,6 секунды. Теперь давайте проверим результаты наших оставшихся двенадцати тестов, охватывающих отдельные плагины и их влияние на производительность:

Результаты теста (в секундах)
Wordfence 0.69 (+11.5%)
Jetpack 0.64 (+6.6%)
Yoast SEO 0.93 (+55%)
All In One SEO Pack 0.9 (+50%)
ShortPixel 0.66 (+11%)
TinyPNG 0.86 (+43%)
Contact Form 7 0.66 (+11%)
Ninja Forms 0.85 (+41%)
WooCommerce 0.78 (+30%)
Easy Digital Downloads 0.71 (+18%)

Эти результаты подтверждают наши утверждения о том, что плагины WordPress могут влиять на производительность. Более того, некоторые категории плагинов выглядят более ресурсоемкими, чем другие. Вначале мы ожидали, что плагины безопасности окажут более существенное влияние на производительность. Однако использование Wordfence только замедлило наш сайт на 11,5%. Jetpack, с другой стороны, едва повлиял на нашу скорость на 6,6%.

В целом, плагины поисковой оптимизации (СЕО) оказывают наиболее существенное влияние на производительность WordPress, что было неожиданным. Фактически, я повторил эти два теста несколько раз и получил схожие результаты. Плагины для электронной коммерции также оказывают огромное влияние на производительность вашего сайта, чего и следовало ожидать, так как они добавляют много функциональности вашему сайту.

Теперь мы знаем, что отдельные плагины могут оказать существенное влияние на производительность WordPress. Тем не менее, я хотел знать, будет ли это снижение производительности линейно или экспоненциально маштабироваться при увеличении количества плагинов. Чтобы понять это, я протестировал пять из указанных выше плагинов (используя по одному из каждой категории). Затем я запустил два дополнительных теста с наборами случайных плагинов, чтобы избежать смещения:

Базовый тест Пять плагинов Десять плагинов Пятнадцать плагинов
Среднее время загрузки (в секундах) 0.6 1,09 (+ 81%) 1 (+ 66%) 1.12 (+ 86%)

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

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

Однако результаты нашего третьего теста совпали с моими первоначальными ожиданиями. Я увидел снижение производительности на 5% между использованием пяти и пятнадцати плагинов. Над этими пятью процентами не стоит смеяться, но я ожидал, что снижение будет гораздо более значительным.

Что наши результаты говорят нам о том, как плагины влияют на производительность WordPress

Подводя итог нашим результатам, количество плагинов, которые вы используете, определенно повлияет на производительность вашего сайта. Однако, согласно моим тестам, производительность не падает линейно после определенной точки.

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

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

И в заключении

Плагины – это, в основном, мини-приложения, которые работают поверх WordPress, и, как и любое другое приложение, они требуют ресурсов. Тем не менее, большинство популярных плагинов WordPress превосходны, когда речь идет об использовании разумного количества ресурсов.

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

Сколько плагинов вы используете на своем сайте WordPress и обнаружили ли вы, что они влияют на его производительность? Поделитесь своим опытом с нами в разделе комментариев ниже!

А я на сегодня с вами прощаюсь – до скорых встреч!

18 способов ускорить любой WordPress сайт

Всем привет, друзья. Самые разные пользователи по всему миру используют сегодня WordPress для создания своих сайтов совершенно разных тематик и направлений. В результате, на этой системе управления контентом работает практически половина сайтов, в основе которых лежит какая-либо CMS вообще. Сегодня это около 74 млн. сайтов (статистика). И конечно, вопрос о том, как правильно, безопасно и максимально ускорить свой сайт на WordPress является чрезвычайно актуальным для многих.

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

Итак, разгоняем наш любимый WordPress в 2020 году. Поехали!

1. Используйте надежный фреймворк/тему

За каждым WordPress-сайтом лежит тема или фреймворк, и это иногда может приводить к проблемам. Каждая тема написана по-разному, и потому одни зачастую темы лучше, чем другие. Дефолтные WordPress-темы типа Twenty Fifteen, очень быстрые, потому что легковесные.

Будьте осторожны, когда покупаете темы на таких мега популярных сайтах, как ThemeForest и Creative Market. Несмотря на то, что там много великолепных тем, вы должны понимать, что разработчики часто добавляете функции просто, чтоб увеличить продажи. Так что главное — найти правильных разработчиков. И именно о таких мы не раз писали на страницах этого сайта.

Так же, такие легкие фреймворки, как Thesis Theme framework и Genesis также известны тем, что на их основе разрабатываются быстрые и хорошо написанные темы.

2. Использование кэширования

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

Плагины кэширования

Вот несколько лучших бесплатных и платных плагинов кэширования:

Установка и правильная настройка плагина кэширования может привести к увеличению производительности в 200-300%!

Обход PHP для кэшируемых страниц

Ниже представлена более продвинутая конфигурация Nginx обхода PHP для кэширования страниц. Этот пример оптимизирован для плагина Cache Enabler.

Пример конфигурации Nginx

Кэширование браузера – добавьте заголовки Expires к WordPress

Вы также можете добавить кэширование браузера, добавив заголовки expires. Заголовки Expires говорят браузеру, должны kb они запросить определенный файл с сервера или они должны захватить их из кэша браузера. Добавляя их, вы можете уменьшить количество HTTP-запросов, которые им нужны. Некоторые плагины кэширования для WordPress позволяют добавить их, но вы также можете просто добавить код в ваш файл .htaccess

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

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

Prefetch обычно используемых доменов

Prefetching – это нечто сходное кэшированию в том смысле, что вы тоже говорите браузеру, типа Chrome, что нужно найти DNS-настройки перед тем, как они на самом деле понадобятся. Благодаря этому «прошиваются» страницы и запросы любых prefetched-доменов, которые еще не кэшируются, и они начинают работать быстрее.

Вы можете использовать prefetch для доменов в WordPress, добавив синтаксис домена в ваш файл header.php между тегами . Этот процесс не блокируются и будет включаться только тогда, когда возможно. Вот распространенные примеры.

Prefetch Google шрифты:

Prefetch Google код (jQuery)

Prefetch Google Analytics

Удаляем Query Strings из статичных ресурсов

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

Отредактируйте ваш файл functions.php, чтоб включить туда функцию, которая удалит query strings.

Если вы используете плагин кэширования типа W3 Total Cache, то у вас есть опция, которая предотвращает создание query strings. Есть бесплатные WordPress-плагины, которые также могут удалить query strings, и это плагины Query Strings Remover и Remove Query Strings From Static Resources.

3. Внедрение сети доставки содержимого (Content Delivery Network)

Неважно насколько крупная у вас WordPress-инсталляция или, как много трафика вы получаете, вы все равно выиграете от внедрения сети доставки содержимого (CDN). CDN берет все ваши файлы (CSS, Javascript, картинки) и доставляет их на сервер ближе к посетителю, что уменьшает время загрузки. Кроме скоростного бонуса сеть доставки содержимого также может создать положительное впечатление от вашего сайта, улучшить его ранжирование, увеличить время, которое ваши посетители проводят на сайте, улучшить конверсию и даже SEO.

Загрузка всех ассетов из WordPress CDN

Убедитесь в том, что вы загружаете даже самые мелкие файлы, типа фавикона, из вашей CDN. Если загружено все из CDN, то создается одно единое соединение. Чтобы твикнуть ваш фавикон, просто киньте его в корневой каталог вашей инсталляции WordPress с помощью FTP, а затем добавить следующее в ваш header.php между тегами head.

Как вы видите из примера ниже, загружено 100% ваших ассетов из CDN.

4. Оптимизация базы данных WordPress

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

Отключение и ограничение количества версий постов в WordPress

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

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

Отключение создания версий WordPress-постов

Чтоб отключить создание версии постов в WordPress, вам нужно добавить следующий код в ваш файл wp-config.php. Таким образом вы сначала измените интервал авто сохранения по умолчанию с 60 секунд на 5 минут, а затем и вовсе отключите создание версий записей. По умолчанию останется одно авто сохранение на пост.

Также есть бесплатный маленький плагин, который называется Disable Post Revision. Он делает тоже самое без необходимости копаться в коде.

Ограничение количества сохраненных версий WordPress-постов

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

Удаление старых версий постов из вашей базы данных

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

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

Предупреждение об ограничении WordPress в 100 сраниц

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

Страницы имеют свое иерархическое древо. Так что все, что касается страниц, заканчивается загрузкой всего иерархического древа страниц в зоне бэкенда. Это нужно, чтоб установить, как эта страница связана с другими. Когда мы имеет дело с записями, то здесь нет связи с другими записями, и присутствуют только данные связанной записи, так что здесь не нужно будет столько всего загружать. Помните, что по своей сути WordPress – это блоговая платформа.

Решение? Вам нужно начать использовать кастомные типы записей. Вы можете использовать бесплатный плагин типа Post Type Switcher, если у вас много страниц, и вы хотите конвертировать их в кастомные типы записей.

5. Оптимизируйте картинки, используя компрессию без потерь

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

Optimus – это плагин, который нацелен именно на компрессию картинок без потерь: он может убрать до 70% веса изображений. Вы можете установить его и автоматически сжимать ваши картинки во время их загрузки. Почитать об оптимизации картинок можно еще вот здесь.

6. Компрессия Gzip

Gzip – это еще один вид компрессии, который сжимает веб-страницы, CSS и javascript на уровне сервера перед тем, как послать их в браузер.

Apache

Вы можете включить компрессию, добавив следующий код в ваш файл .htaccess.

Nginx

Вы можете включить конверсию, добавив следующее в ваш файл nginx.conf .

7. Сократите количество WordPress-плагинов

Очень важно придерживаться необходимого количества плагинов, установленных на вашем сайте, так как слишком большое и бездумное количество плагинов часто ведет к замедлению работы сайта. Но перед тем, как тупо удалять плагины, попытайтесь определить, какие именно тормозят ваш сайт (если тормозят). После того, как вы проведете такой анализ, решите, действительно ли вам так нужны проблемные плагины, или можно добиться тех же результатов другими способами. Всегда помните о том, что один «кривой» или давно не обновляемый плагин может стать проблемой гораздо большей чем несколько десятков исправно работающих.

P3 (Plugin Performance Profiler)

P3 – это бесплатный WordPress-плагин, который поможет вам увидеть, какие плагины затормаживают работу вашего сайта, а именно он показывает:

  • Время загрузки каждого плагина
  • Общее количество активных плагинов и время загрузки страницы
  • Влияние каждого плагина на скорость загрузки страницы
  • Количество MySQL запросов (на уровне страницы)
  • Сравнение сканирований

Заметим: сейчас плагин не совместим с PHP7.

WP Performance Profiler

WP performance profiler – это недорогой (всего 9$) премиальный WordPress-плагин, созданный специально для того, чтоб вы могли измерить производительность ваших WordPress-плагинов на более продвинутом уровне, чем это делает P3.

И конечно же — после того, как анализ проведем, плагины-измерители можно удалить или просто отключить.

8. Оптимизируйте производительность Web-шрифтов

57% веб-сайтов сейчас использует кастомные шрифты, и это 850% прирост с 2011. Мы заметили, что важно использовать только те шрифты, которые действительно нужны и такие форматы, как WOFF и WOFF2.

В наших тестах Google шрифты показали себя хорошо, так как они используют собственный CDN и придерживаются форматов WOFF. Open Sans стал самым быстрым из 10 самых популярных шрифтов. Если вы хотите ускориться и при этом использовать Google-шрифты, то лучшая комбинация для WordPress это Open Sans и веб-безопасный Arial.

Важно отметить, что разница между Google-шрифтом и веб-безопасным шрифтом составляет 200 миллисекунды. Она складывается из времени загрузки шрифта и дополнительного запроса HTTP к серверам Google.

Также вы можете перенести ваши Google Шрифты на собственный CDN.

Вы также можете шагнуть еще дальше в сторону base64, закодировав ваши шрифты в файл CSS, а затем поместив их в localStorage. Нативный кэш браузера обновляется быстро, особенно, на мобильных девайсах. Так что если вы сохранились на localStorage, то файлы кэшируется очень быстро.

Мы рекомендуем вам обратить внимание на localFont tool: вы можете быстро перетащить ваши WOFF-шрифты в этот инструмент, и он закодирует их в base64, а затем даст вам файлы CSS и Javascript, чтоб использовать их на вашем WordPress-сайте.

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

Когда дело касается популярного Font Awesome, то у нас есть парочка опций, которые помогут ускорить эти иконки. Если ваша тема уже включает Font Awesome, то вам нужно будет немного поработать над ней.

Вариант 1 – используйте Font Awesome CDN на хостинге с открытым исходным кодом

Первый метод – это версия Font Awesome CDN на хостинге. Этот проект находится на хостинге от KeyCDN, и вы сможете воспользоваться преимуществом более чем 25-ти серверов, на которых есть бесплатные HTTP/2 и CORS. Просто используйте этот код, вклеив его в файл header.php вашего WordPress между тегами .

Затем вы сможете использовать иконки Font Awesome везде на вашем WordPress –сайте с помощью тега и названия иконки.

Вариант 2 – Хостингование Font Awesome на вашем собственном CDN (рекомендуется)

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

Первое, что нужно сделать, это убедится в том, что ваш файл Font Awesome загружен согласно первоначальному CSS-пути. В случае этого варианта, пока вы используете файл Font Awesome CSS, как загружаемый из CDN, это будет файл шрифтов. Вот пример того, как это используется на странице:

Ссылка на ваш файл Font Awesome, использующий CDN URL, должна выглядеть как сниппет
, отображенный ниже.

Вот и все, теперь ваши иконки Font Awesome загружаются супербыстро!

10. «Лениво» загружающиеся картинки, видео и Disqus

Ленивая загрузка – это такой концепт, который предполагает отсроченную загрузку контента, подгружая только ту часть, которая видна пользователю. В WordPress это обычно означает то, что объект не загрузится, пока пользователь не прокрутит страницу вниз или пока не использует событие on-click. Вы можете загрузить таким образом любой контент, начиная от картинок и заканчивая видео и даже системой комментирования Disqus.

Ленивая загрузка изображений

Для ленивой загрузки картинок есть хороший бесплатный плагин под названием BJ Lazy Load. Этот плагин заменяет все изображения постов, миниатюры, граватары и айфреймы контента вместилищами картинок и загружает контент, по мере приближения к окну браузера. Также он работает с текстовыми виджетами. Если вы используете плагин кэширования WP Rocket, то можете воспользоваться его опцией ленивой загрузки.

Ленивая загрузка видео

Для ленивой загрузки ваших видео есть бесплатный плагин, который называется Lazy Load for Videos. Он заменяет видео с Youtube и Vimeo кликабельными привью-картинками.

Ленивая загрузка Disqus

Disqus – это великолепная система комментирования, которая отсекает практически 99% спама. Но дефолтный плагин Disqus создает 10+ HTTP запросов, которые неплохо тормозят ваш сайт. К счастью есть плагин Disqus Conditional Load, который отсекает все эти HTTP-запросы первоначальной загрузки. Теперь этот плагин дружествен к SEO, а это значит, что Google будет индексировать ваши комментарии.

11. Минификация и объединение CSS и Javascript

Когда мы говорим о скорости загрузки WordPress-сайта, минификация и объединение файлов могут сыграть здесь важную роль.

Минификация

Минификация ресурсов означает удаление ненужных символов из ваших файлов HTML, Javascript и CSS. Удаляются следующие не нужные для загрузки файлов символы:

  • Пробельные символы
  • Знаки полной строки
  • Комментарии
  • Разделители

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

Объединение

Объединение – это процесс комбинирования ваших файлов CSS и Javascript в один файл, целью которого является снижение количества HTTP запросов. Иногда можно даже снизить время загрузки файлов. В зависимости от сайта можно ускорить загрузку страниц, применив параллельные загрузки. Так что тут нужно тестировать все способы, чтоб узнать, что именно лучше сработает для вашего сайта.

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

Большинство плагнов кэширования сейчас предлагают эти опции, но также есть другие бесплатные легковесные решения: Better WordPress Minify и Autoptimize. Также, когда мы говорим о позиционировании CSS иJavascript в WordPress, то лучше всего поместить CSS наверх, а javascript вниз. Заметим: если мы говорим об объединении HTTP/2, то сейчас оно не так важно, как раньше.

12. Уменьшение количества Misc HTTP запросов

Нам очень важно уменьшить количество HTTP-запроcoв, которые производит WordPress. Сейчас мы решим проблему граватара и лишних запросов, которые требуются для загрузки emoji

Граватары

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

Вот вам несколько вариантов решения проблемы

Решение 1 – Отключить пользовательские граватары

Не идеальное решение, но оно сработает, если для вас реально важна скорость загрузки сайта.

Чтоб сделать это, установите бесплатный плагин WP User Avatar. А затем в его меню кликните “Disable Gravatar and use only local avatars.” Затем выберете дефолтный аватар

Решение 2 – Disqus быстрее

Второй вариант заключается в ленивой загрузки Disqus. Это может показаться странным, так как добавление файла javascript, плагина и внешнего призыва обычно выливается в лишнее время загрузки. Но Disqus все-таки работает быстрее благодаря уменьшенному количеству HTTP запросов.

Отключение Emoji

В WordPress 4.2 появилась дополнительная поддержка emoji. И, к сожалению, это означает появление дополнительного файла javascript wp-emoji-release.min.js?ver=4.3.1 в «шапке». Благодаря этому создается ненужный дополнительный HTTP-запрос.

Отключаем emoji, чтоб избавиться от дополнительного HTTP-запроса.

Сначала откроем настройки Публикации в WordPress и убедимся в том, что убрана галочка с “преобразовывать смайлики” в разделе «форматирование».

Способ 1 – WordPress-плагин

Установите бесплатный плагин Disable Emojis. Этот плагин отключает новую функциональность emoji в WordPress 4.2.

Способ 2 – WordPress функция

Если вы не хотите устанавливать лишний плагин, просто возьмите код из плагина, который описан выше и вклейте его в нижнюю часть файла functions.php.

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

Обычно мы пытаемся избавиться от лишних плагинов, но есть плагин, называемый Gonzalez, который позволяет вам отключить ненужные скрипты и не дать им загрузиться на страницах всего сайта. Плагин не бесплатный, но стоит своих денег, если вы хотите подбавить немного газку. Например, Contact Form 7 – это великолепный WordPress-плагин, но по умолчанию он загружает свой скрипт на каждой странице. А с помощью этого плагина это можно легко отключить, чтоб плагин загружался только на контактной странице.

Отключение Embeds

Начиная с WordPress 4.4, происходит загрузка нового скрипта wp-embed.min.js , который позволяет вам просто вклеивать видео, картинки, твиты и т.д. К примеру, WordPress автоматически превратит URL в YouTube-вклейку и предоставит живое привью в визуальном редакторе. Многие люди эту функцию не используют, тем более, что мы всегда можете захватить код для вклейки с YouTube или Twitter. Большая проблема этой функции заключается в том, что она загружает скрипт на каждой странице. Давайте посмотрим, как можно отключить этот скрипт.

Вариант 1 – WordPress-плагин

Установите WordPress-плагин Disable Embeds. Вот что делает этот плагин:

  • Не позволяет другим вклеивать что-то в ваш сайт
  • Не позволяет вам вклеивать что-то с подозрительных сайтов
  • Отключает все JavaScript, родственные этой функции

Вариант 2 – Функция WordPress

Или вы можете кинуть следующий кусок кода в нижнюю часть вашего файла functions.php .

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

Когда бы вы не использовали древовидные комментарии в WordPress, скрипт comment-reply.min.js включается на каждой странице и записи. Если вы хотите отключить комментарии или используете сторонние системы комментирования типа Disqus, то вам не нужно загружать этот скрипт на каждой странице.

Чтоб отключить этот скрипт, вы можете кинуть следующий код в нижнюю часть вашего файла functions.php .

13. Отключение хотлинкинга

Хотлинкинг –это включение в веб-страницу изображений или других объектов с чужого сервера. Это значит, что когда кто-то посещает свой сайт, то изображения загружаются с вашего сервера, скрадывая вашу пропускную способность. Вы можете отключить хотлинкинг, добавив данный код в ваш файл .htaccess , не забыв вписав туда ваш домен.

14. Отключение пингбэков и трекбэков

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

Вы можете отключить пингбэки и трекбэки в секции «Обсуждение» в WordPress. Заметим: применяется только к новым записям.

Чтоб отключить пингбэки старых записей, вы можете использовать массовое редактирование записей, а для пингов включить “Do Not Allow.” (Запретить)

15. Определите габариты картинок

Большинство из вас, вероятно, видело следующую рекомендацию от Google Pagespeed:

…Предположение по оптимизации: “Сжав и изменив … вы сможете сохранить 5.8 KB (51%).”

Эта рекомендация говорит о том, что размеры изображения были изменены браузером. Например, возможно, вы загрузили картинку шириной 500px, но ширина колонки, в которую оно должно быть помещено, всего 400px. В результате, благодаря CSS, размер картинки был уменьшен до 400px, чтоб изображение соответствовало колонке. Это может стать проблемой для большого количества тем, так как разработчики пересматривают размеры изображений, используя CSS.

Лучше всего загружать картинки в WordPress, используя правильные параметры изначально. Иногда для этого нужно подрезать картинки в Photoshop, Paint или Gimp, перед тем, как вы загрузите их на ваш сайт.

16. Решаем проблему медленного admin-ajax.php

In WordPress 3.6 был представлен WordPress Heartbeat API, который позволяет WordPress устанавливать связь между браузером и сервером. WordPress Heartbeat API использует admin-ajax.php, чтоб осуществлять AJAX-обращения из веб-браузера. Вы, вероятно, можете наблюдать это во время проведения скоростного теста. Это может стать причиной активного использования CPU и возникновения множества PHP-обращений. К примеру, если вы оставили админку открытой, то запросы POSTбудут непрестанно посылаться к этому файлу на регулярной основе.

Есть бесплатный плагин для WordPress, который называется heartbeat control и позволяет контролировать то, как часто используется WordPress heartbeat API.

Заметим: есть много сторонних разработчиков, которые сейчас используют этот файл. Если вы заметили задержки, это может быть связано с тем, что плагин использует admin-ajax.php. Xтоб разобраться в этом, вы можете прогнать ваш сайт через инструмент тестирования скорости, определить, где находится обращение admin-ajax.php и открыть данные записи.

Затем вы можете сказать по названию “action” какой плагин его использует. В этом примере у нас “get_shares_count”, что указывает на социальный плагин с выключенным кэшированием. Если включить кэширование, то использование admin-ajax.php прекращается.

17. Настройка MySQL

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

  • tmp_table_size
  • query_cache_type
  • query_cache_size
  • query_cache_size
  • join_buffer_size
  • max_heap_table_size

Очень полезный инструмент – это скрипт MySQL Tuner. Он доступен только для чтения, и не делает каких-либо изменений в настройках. Он позволяет вам обозреть производительность сервера и дает некоторые базовые рекомендации, которые должны помочь улучшить ситуацию. Вот еще несколько инструментов, которые вы также можете использовать:

18. Выберете надежный веб-хостинг

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

О наилучших решениях вы можете прочитать тут

О наиболее бюджетных и провернных в этой статье.

24 полезных трюка для ускорения работы WordPress и повышения производительности

4 min

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

В отличие от других «X лучших плагинов для WordPress кэширования» или общих «X советов по ускорению WordPress», эта статья представляет собой всеобъемлющее руководство по оптимизации производительности WordPress.

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

Чтобы упростить задачу, мы создали оглавление, которое поможет вам пройтись по нашему главному руководству по ускорению работы вашего сайта WordPress.

Оглавление

Основы производительности WordPress

  • Почему скорость важна для вашего сайта WordPress?
  • Как проверить скорость вашего сайта WordPress?
  • Что замедляет ваш сайт WordPress?
  • Важность хорошего хостинга WordPress

Ускорение WordPress в простых шагах (без кодирования)

  • Установите плагин кеширования WordPress
  • Оптимизируйте изображения для скорости

Рекомендации по оптимизации производительности WordPress

  • Держите ваш сайт WordPress обновленным
  • Оптимизировать фоновые процессы
  • Использовать выдержки на домашней странице и в архивах
  • Разделить комментарии на страницы
  • Используйте сеть доставки контента (CDN)
  • Не загружайте аудио / видео файлы прямо в WordPress
  • Используйте тему, оптимизированную для скорости
  • Используйте более быстрые плагины

Тонкая настройка WordPress для скорости (Advanced)

  • Разделить длинные посты на страницы
  • Уменьшить количество внешних HTTP-запросов
  • Уменьшить количество вызовов базы данных
  • Оптимизировать базу данных WordPress
  • Ограничение редакций постов
  • Отключить Hotlinking и Leeching вашего контента
  • Используйте Lazy Loading, если необходимо
  • Использовать брандмауэр веб-сайта уровня DNS
  • Исправить ошибки HTTPS / SSL без плагина
  • Используйте последнюю версию PHP

Почему скорость важна для вашего сайта WordPress?

Исследования показывают, что с 2000 по 2020 год средняя продолжительность внимания человека упала с 12 до 7 секунд.

Что это значит для вас как владельца сайта?

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

Медленный сайт означает, что пользователи могут покинуть ваш сайт еще до его загрузки.

Согласно исследованию StrangeLoop, в котором участвовали Amazon, Google и другие крупные сайты, задержка загрузки страницы в 1 секунду может привести к потере конверсий на 7%, уменьшению количества просмотров страниц на 11% и снижению удовлетворенности клиентов на 16%.

Кроме того, Google и другие поисковые системы уже начали наказывать медленные сайты, подавляя их в результатах поиска, что означает снижение трафика для медленных сайтов.

Подводя итог, если вы хотите больше трафика, подписчиков и доходов от вашего сайта, то вы должны сделать свой сайт WordPress БЫСТРОМ!

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

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

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

Однако обычный пользователь, который посещает ваш сайт впервые, может не иметь такого же опыта.

На самом деле, пользователи в разных географических точках будут иметь совершенно другой опыт.

Вот почему мы рекомендуем вам тестировать скорость вашего сайта с помощью такого инструмента, как тест скорости WordPress от IsItWP.

Это бесплатный онлайн-инструмент, который позволяет вам проверить скорость вашего сайта.

После того, как вы запустите тест скорости вашего сайта, вы можете спросить, на какую скорость сайта я должен рассчитывать?

Хорошее время загрузки страницы составляет менее 2 секунд.

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

Что замедляет ваш сайт WordPress?

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

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

Основными причинами медленного веб-сайта WordPress являются:

  • Веб хостинг — Если ваш сервер веб-хостинга не настроен должным образом, это может повлиять на скорость вашего сайта.
  • Конфигурация WordPress — Если ваш сайт WordPress не обслуживает кэшированные страницы, он будет перегружать ваш сервер, в результате чего ваш сайт будет работать медленно или полностью зависать.
  • Размер страницы — В основном изображения, которые не оптимизированы для Интернета.
  • Плохие плагины — Если вы используете плохо закодированный плагин, это может значительно замедлить ваш сайт.
  • Внешние скрипты — Внешние сценарии, такие как реклама, загрузчики шрифтов и т. Д., Также могут оказать огромное влияние на производительность вашего сайта.

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

Важность хорошего хостинга WordPress

Ваш хостинг WordPress играет важную роль в производительности сайта. Хороший провайдер виртуального хостинга, такой как Bluehost или Siteground, предпримет дополнительные меры для оптимизации работы вашего сайта.

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

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

Мы рекомендуем WPEngine в качестве нашего предпочтительного поставщика управляемого хостинга WordPress. Они также самые популярные в отрасли. (Смотрите наш специальный купон WPEngine).

Ускорение WordPress в простых шагах (без кодирования)

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

Но не волнуйтесь, вы не одиноки. Мы помогли тысячам пользователей WordPress улучшить производительность WordPress.

Мы покажем вам, как вы можете ускорить свой сайт WordPress всего несколькими щелчками мыши (без необходимости кодирования).

Если вы можете указать и щелкнуть, то вы можете сделать это!

Установите плагин кеширования WordPress

Страницы WordPress являются «динамическими». Это означает, что они создаются на лету каждый раз, когда кто-то посещает сообщение или страницу на вашем сайте.

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

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

Вот почему мы рекомендуем каждому сайту WordPress использовать плагин кэширования. Кэширование может сделать ваш сайт WordPress в 2–5 раз быстрее.

Вот как это работает.

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

Как вы можете видеть на графике выше, когда пользователь заходит на ваш сайт WordPress, ваш сервер получает информацию из базы данных MySQL и ваших файлов PHP. Затем он объединяет все это в HTML-контент, который предоставляется пользователю.

Это долгий процесс, но вы можете пропустить его, если вместо этого используете кеширование.

Существует множество хороших плагинов для кэширования WordPress, но мы рекомендуем использовать плагин WP Rocket (премиум) или WP Super Cache (бесплатный).

Ознакомьтесь с нашим пошаговым руководством по установке и настройке WP Super Cache на вашем сайте WordPress. Это не сложно настроить, и ваши посетители заметят разницу.

Многие хостинговые компании WordPress, такие как Bluehost и SiteGround, также предлагают решения для кэширования.

SiteGround SuperCacher

Если вы используете SiteGround, войдите на хостинг cPanel и включите SuperCacher в разделе «Инструменты улучшения сайта».

После этого вам нужно будет установить и активировать плагин SG Optimizer в WordPress для управления настройками SuperCacher.

Bluehost Caching

Если вы используете Bluehost, перейдите к Мои сайты »Производительность раздел для включения кеширования.

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

Бонус: Вы можете комбинировать плагины для кэширования с брандмауэром веб-приложений, таким как CloudFlare или Sucuri, для максимального повышения производительности.

Оптимизируйте изображения для скорости

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

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

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

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

В WPBeginner мы используем только два формата изображения: JPEG и PNG.

Теперь вы можете быть удивлены: какая разница?

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

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

Итак, как мы решаем, какой формат изображения выбрать?

  • Если наша фотография или изображение имеют много разных цветов, то мы используем JPEG.
  • Если это более простое изображение или нам нужно прозрачное изображение, тогда мы используем PNG.

Большинство наших изображений в формате JPEG.

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

Как видно из диаграммы, используемый вами формат изображения может ОГРОМНО повлиять на производительность веб-сайта.

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

Рекомендации по оптимизации производительности WordPress

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

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

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

Держите ваш сайт WordPress обновленным

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

Как владелец веб-сайта, вы несете ответственность за обновление вашего сайта, темы и плагинов WordPress до последних версий. Невыполнение этого требования может сделать ваш сайт медленным и ненадежным, а также сделать вас уязвимыми для угроз безопасности.

Подробнее о важности обновлений читайте в нашей статье о том, почему вы всегда должны использовать последнюю версию WordPress.

Оптимизировать фоновые процессы

Фоновые процессы в WordPress — это запланированные задачи, которые выполняются в фоновом режиме вашего сайта WordPress. Ниже приведены некоторые примеры фоновых задач, которые выполняются на сайте WordPress:

  • Задачи плагина WordPress Backup
  • WordPress cron вакансии для публикации запланированных сообщений
  • WordPress Cron задания для проверки обновлений
  • Поисковые системы и другие сканеры, пытающиеся получить контент

Такие задачи, как задания cron для запланированных публикаций и обновлений, оказывают минимальное влияние на производительность веб-сайта.

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

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

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

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

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

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

Использовать выдержки на домашней странице и в архивах

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

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

Чтобы ускорить загрузку архивных страниц, вы можете настроить на своем сайте показ выдержек вместо полного содержимого.

Вы можете перейти к Настройки »Чтение и выберите «Для каждой статьи в ленте, показать: Сводка» вместо «Полный текст».

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

Разделить комментарии на страницы

Получаете много комментариев к вашим блогам? Поздравляем! Это отличный показатель заинтересованной аудитории.

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

WordPress поставляется со встроенным решением для этого. Просто зайдите в Настройки »Обсуждение и установите флажок рядом с опцией «Разбить комментарии на страницы».

Для получения более подробных инструкций см. Наше руководство о том, как разбивать комментарии на страницы в WordPress.

Используйте сеть доставки контента (CDN)

Помните, как мы упоминали выше, что пользователи в разных географических точках могут испытывать разное время загрузки на вашем сайте?

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

Например, допустим, у вашей веб-хостинговой компании есть свои серверы в США. Посетитель, который также находится в Соединенных Штатах, обычно видит более быстрое время загрузки, чем посетитель в Индии.

Использование сети доставки контента (CDN) может помочь ускорить время загрузки для всех ваших посетителей.

CDN — это сеть, состоящая из серверов по всему миру. Каждый сервер будет хранить «статические» файлы, используемые для создания вашего сайта.

Эти статические файлы включают неизменяемые файлы, такие как изображения, CSS и JavaScript, в отличие от ваших страниц WordPress, которые являются «динамическими», как объяснено выше.

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

Вы можете увидеть, как это работает в этой инфографике.

Мы используем рекомендуем использовать StackPath CDN. Мы использовали MaxCDN на всех наших веб-сайтах, которые теперь также являются частью StackPath.

Он хорошо работает с веб-сайтами WordPress и дополняет существующие плагины кеширования WordPress для еще более быстрой загрузки.

Не загружайте аудио / видео файлы прямо в WordPress

Вы Можно напрямую загружайте аудио и видео файлы на ваш сайт WordPress, и он автоматически отобразит их в проигрывателе HTML5…

Но вы никогда не должны делать это!

Размещение аудио и видео будет стоить вам пропускной способности. С вашей веб-хостинговой компании может взиматься сверхнормативная плата, или они могут даже полностью закрыть ваш сайт, даже если ваш план предусматривает «неограниченную» пропускную способность.

Размещение больших файлов мультимедиа также значительно увеличивает размер резервной копии и затрудняет восстановление WordPress из резервной копии.

Вместо этого вам следует воспользоваться услугами хостинга аудио и видео, такими как YouTube, Vimeo, DailyMotion, SoundCloud и т. Д., И позволить им позаботиться о тяжелой работе. У них есть пропускная способность для этого!

WordPress имеет встроенную функцию вставки видео, поэтому вы можете копировать и вставлять URL своего видео прямо в пост, и он будет вставлен автоматически.

Узнайте больше о том, как это работает, в нашем руководстве по встраиванию видео в WordPress.

Если вы создаете веб-сайт подкастов с WordPress, то мы рекомендуем хостинг-сервис подкастов Blubrry для лучшей производительности.

Используйте тему, оптимизированную для скорости

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

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

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

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

Используйте более быстрые плагины

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

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

Ниже приведены некоторые из наших выборов для наиболее распространенных категорий плагинов WordPress.

  • WPForms — Самый быстрый и самый удобный плагин для контактной формы для WordPress.
  • Soliloquy — если вы хотите добавить слайдеры на свой сайт, то Soliloquy — лучший плагин для слайдеров WordPress с точки зрения производительности и возможностей.
  • Envira Gallery — Плагины фотогалереи также могут замедлять WordPress. Мы запустили тесты и обнаружили, что Envira Gallery — самый быстрый плагин для фотогалереи для WordPress.
  • Shared Counts — плагины для социальных сетей загружают дополнительные скрипты и не так элегантно. Shared Counts — это один из самых быстрых плагинов для социальных сетей для WordPress.

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

Тонкая настройка WordPress для скорости (Advanced)

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

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

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

Разделить длинные посты на страницы

Читатели, как правило, любят посты в блоге, которые длиннее и глубже. Более длинные сообщения даже имеют тенденцию занимать более высокие места в поисковых системах.

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

Вместо этого рассмотрите возможность разделения ваших более длинных постов на несколько страниц.

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

Для получения более подробных инструкций см. Наш учебник по разбиению на посты — как разбить посты WordPress на несколько страниц.

Уменьшить количество внешних HTTP-запросов

Многие плагины и темы WordPress загружают все виды файлов с других сайтов. Эти файлы могут содержать сценарии, таблицы стилей и изображения из внешних ресурсов, таких как Google, Facebook, службы аналитики и т. Д.

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

Но если ваши плагины делают много таких запросов, то это может значительно замедлить ваш сайт.

Вы можете уменьшить все эти внешние HTTP-запросы, отключив скрипты и стили или объединив их в один файл. Вот руководство по отключению CSS-файлов и JavaScript ваших плагинов.

Уменьшить количество вызовов базы данных

Примечание. Этот шаг носит более технический характер и требует базовых знаний о файлах шаблонов PHP и WordPress.

К сожалению, существует множество плохо закодированных тем WordPress. Они игнорируют стандартные практики WordPress и в итоге делают прямые вызовы базы данных или слишком много ненужных запросов к базе данных. Это действительно может замедлить работу вашего сервера, если вы слишком много работаете.

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

В этом примере каждый раз, когда вы видите это начало нового вызова базы данных:

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

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

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

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

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

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

Посмотрите наше руководство о том, как оптимизировать и очистить базу данных WordPress для повышения производительности.

Ограничение редакций постов

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

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

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

Отключить Hotlinking и вымывание вашего контента

Если вы создаете качественный контент на своем сайте WordPress, то печальная правда в том, что он, вероятно, рано или поздно будет украден.

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

Просто добавьте этот код в ваш файл .htaccess, чтобы заблокировать хотлинкинг изображений с вашего сайта WordPress.

Примечание. Не забудьте изменить wpbeginner.com на свой собственный домен.

Вы также можете проверить нашу статью, показывающую 4 способа предотвращения кражи изображений в WordPress.

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

Используйте Lazy Loading, если необходимо

Если вы добавите много изображений, несколько видео-вставок и фото-галерей в свои записи в блоге, то ваш сайт может выиграть от ленивой загрузки.

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

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

Для изображений, фреймов и видео вы можете использовать плагин Lazy Load by WP Rocket. Для комментариев WordPress см. Наше руководство о том, как лениво загружать комментарии в WordPress.

Использовать брандмауэр веб-сайта уровня DNS

Плагин брандмауэра WordPress помогает блокировать атаки методом подбора, попытки взлома и вредоносные программы. Однако не все плагины брандмауэра одинаковы.

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

Вот почему мы рекомендуем использовать брандмауэр уровня DNS, такой как Sucuri или Cloudflare. Эти брандмауэры блокируют вредоносные запросы еще до того, как они попадают на ваш сайт.

Исправить ошибки HTTPS / SSL без плагина

Если вы переключаете свой сайт на HTTPS / SSL, вполне вероятно, что вы можете столкнуться с ошибками смешанного содержимого.

Самый простой способ это исправить — установить плагин, такой как Really Simple SSL. Однако проблема заключается в том, что эти плагины сначала перехватывают все URL-адреса, а затем меняют их на HTTPS перед отправкой в ​​браузеры пользователя.

Это оказывает небольшое, но заметное влияние на производительность. Вы можете уменьшить это, вручную исправляя все URL. Подробнее читайте в нашей статье о том, как исправить распространенные проблемы SSL в WordPress.

Используйте последнюю версию PHP

WordPress в основном написан на языке программирования PHP. Это язык на стороне сервера, что означает, что он установлен и работает на вашем хостинг-сервере.

Все хорошие хостинги WordPress используют самую стабильную версию PHP на своих серверах. Однако, возможно, что ваша хостинговая компания использует немного более старую версию PHP.

Более новый PHP 7 в два раза быстрее, чем его предшественники. Это огромный прирост производительности, которым должен воспользоваться ваш сайт.

Вы можете увидеть, какую версию PHP использует ваш сайт, установив и активировав плагин Version Info.

После активации плагин покажет вашу версию PHP в нижней части вашей панели администратора WordPress.

Если ваш веб-сайт использует версию ниже PHP 7, попросите вашего хостинг-провайдера обновить его для вас. Если они не могут этого сделать, то пришло время найти новую хостинговую компанию WordPress.

Это оно! Мы надеемся, что эта статья помогла вам узнать, как улучшить скорость и производительность WordPress.

Идите и попробуйте эти методы. Не забудьте проверить скорость вашего сайта до и после внедрения этих лучших практик. Вы будете удивлены, что эти изменения повысят вашу производительность WordPress.

Если вам понравилась эта статья, подпишитесь, пожалуйста, на наш канал YouTube для видеоуроков WordPress. Вы также можете найти нас на щебет и фейсбук.

Пост 24 Полезные приемы для ускорения работы WordPress и повышения производительности впервые появился на WPBeginner.

Как в WordPress ускорить админ-панель?

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

Как в WordPress ускорить админ-панель?

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

Способ 1. Отключение объектного кеша

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

Обычно сама процедура включения и отключения этого вида кеша осуществляться в плагинах кеширования. Рассмотрим это на примере W3 Total Cache – мощного и одного из самых популярных плагинов кеширования. Если на Вашем WordPress-сайте используется это решение, то существует большая вероятность, что причина именно в нем.

Плагин имеет огромное количество настроек. Но избыток функционала имеет как свои позитивные, так и негативные стороны, особенно для начинающего WordPress-пользователя. Так, дополнительные параметры кеширования могут фактически замедлить работу Вашего сайта.

Для отключения кеша объектов в плагине W3 Total Cache следует в админ-панели перейти в раздел Performance -> General Settings, где в блоке Object Cache деактивировать одноименную опцию, после чего нажать кнопку Save Settings & Purge Caches.

Способ 2. Поиск и отключение медленных плагинов

Общеизвестно, что плагины WordPress призваны дополнить необходимым функционалом Ваш сайт на основе этого “движка”. Часто среди них попадаются и такие, работа которых существенно влияет на общую производительность сайта, включая и его админ-часть. Если в случае с отключением кеша объектов проблема не решилась, то вполне вероятно, что все дело в одном или нескольких активных плагинах.

Наиболее простой способ – это поочередное отключение плагинов и проверка результата. К числу “тяжелых” плагинов можно отнести, например, Broken Link Checker , Jetpack .

Способ 3. Проверка активной темы

Все WordPress-темы имеют основной конфигурационный файл functions.php, в котором подключаются все необходимые для них функции и элементы управления. Часто случается, что этот файл содержит некорректный код, который может нарушить работу сайта. Для этого существует простое решение – активировать одну из стандартных WordPress-тем, которые по умолчанию присутствуют в свежеустановленной копии “движка”.

Способ 4. Уменьшение частоты запросов к серверу

В WordPress, начиная с версии 3.6, существует специальный механизм, называемый Heartbeat API . Он используется для периодического (каждые 15-120 секунд) опроса сервера на предмет новых данных с целью их использования на стороне клиента (браузера). Heartbeat API используются для:

  • автоматического создания ревизий записей страниц;
  • блокировки записей/страниц для других пользователей во время их редактирования для других редакторов сайта;
  • обновление данных о том, что пользователь все еще находится в админ-части сайта (в Консоли или на странице редакции записей).

Безусловно, этот функционал очень важен, особенно для сайтов с несколькими авторами и администраторами. Однако он также может стать причиной “подтормаживания” админ-части и значительного увеличения нагрузки на сервер.

Если Вы являетесь единственным автором и администратором своего сайта, то функцию периодического опроса сервера можно либо полностью отключить, либо снизить его частоту. Для этого довольно удобным инструментом является бесплатный плагин Heartbeat Control .

Во-первых, плагин нужно установить и активировать, после чего в админ-панели перейти в раздел Настройки -> Heartbeat Control Settings.

Чтобы вообще отключить обращения к серверу, нужно в настройке Heartbeat Behavior выбрать значение Disable Heartbeat и нажать кнопку Сохранить изменения. Если Вы все же решили не отключать полностью эту функцию, то наиболее рекомендуемой является установка частоты до 60 секунд. Для этого в настройке Heartbeat Behavior следует выбрать Modify Heartbeat, перетянуть ползунок до появления необходимого значения и указать плагину, что это действие будет применимо к админ-части (настройка WordPress Dashboard в разделе Locations).

Способ 5. Замена свежей копии ядра WordPress

Еще один возможный способ ускорить работу админ-панели WordPress – загрузить на сайт свежие копии файлов в системных каталогах wp-admin и wp-includes. Для этого нужно перейти на официальный сайт WordPress, скачать по ссылке свежую его копию и заменить соответствующие папки.

Топ-пост этого месяца:  Как создать круг в CSS и редактировать его
Добавить комментарий