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

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

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

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

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

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

Возможные проблемы с обратными прокси, такими как Varnish и Nginx

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

Как работают обратные прокси-серверы?

Обратные прокси, такие как Varnish и Nginx , обрабатывают данные между клиентом пользователя и Интернет-сервером. Когда поступает запрос для одной из страниц сайта, веб-сервер должен запустить службу PHP, которая вызывает базу данных и затем обеспечивает вывод для страницы, а статические ресурсы должны отображать страницу.

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

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

Как правило, очистка кеша по умолчанию выполняется Основные вызовы WordPress (которые затем отслеживают события) & — когда сообщение обновляется, когда добавляется комментарий, когда создается сообщение и т. д.

Конечно, если вы пропустили важный обратный вызов при реализации используемого обратного прокси-сервера, могут возникнуть проблемы. < / p>

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

Возможные проблемы с обновлением WordPress

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

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

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

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

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

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

Проблемы с Плагины WordPress для интернет-магазинов

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

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

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

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

Если кеширование всего, что связано с онлайн-торговлей, вам не подходит & — потому что вы явно теряете преимущество в скорости & — теоретически есть более сложный способ обойти это: указать с помощью Edge Side Includes (ESI), какие части ваших страниц не должны кэшироваться.

Теоретически вы можете просто обернуть HTML-код этих элементов тегами:

 & lt; esi: include & gt; Динамическое содержимое & lt; esi: remove & gt; 

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

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

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

Проблемы с плагинами оценки

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

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

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

Проблемы с плагинами кэширования полной страницы

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

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

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

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

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

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

Это добавляет большое количество URL-адресов. Теперь представьте, все ли эти URL-адреса преобразованы в файлы HTML. в какой-то папке (обычно загрузки ) на веб-сервере. Когда у вас есть тысячи файлов в одном каталоге, даже списком этих файлов трудно управлять, мы сейчас говорим о Linux

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

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

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

Memcached и проблемы, которые он вызывает

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

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

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

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

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

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

Спрайты: Да, они тоже могут быть проблемой

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

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

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

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

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

Угрозы, возникающие в результате минимизации CSS и JavaScript минимализации и JavaScript.

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

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

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

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

GZIP:. Здесь не должно быть проблемой, но мы можем улучшить его

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

Это, хотя и быстро, не так быстро, как работа непосредственно из appache сервера. Все, что вам нужно сделать, это установить mod_deflate (спросите у хостинг-провайдера, доступен и — это должно быть, потому что она написана в большинстве стандартов) и добавить несколько строк .htaccess : <предварительно> addutputfilterbytype текст выкачать / равнину AddOutputFilterByType выкачивает Текст / HTML AddOutputFilterByType выкачивает Текст / XML AddOutputFilterByType выкачивает Текст / CSS AddOutputFilterByType выкачивает Application / XML ADDOUTPUTFILTERBYTEPE DEFLATE Применение / XHTML + XML AddOutputFilterByType выкачивает Application / RSS + XML AddOutputFilterByType выкачивает Применение / JavaScript AddOutputFilterByType выкачивает Application / X-JavaScript

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

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

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

 

Оцените статью