WPNICE - ваш сайт о WordPress

Функционал. Плагины против тем.

Привет, уважаемые читатели. Сегодня хочу представить вам  вольный, но достаточно точный по сути, перевод великолепной аналитической статьи о том, влияют ли отрицательно плагины на производительность WordPress сайта. В основе перевода статья с авторитетного WordPress ресурса — wp.tutsplus. От себя добавлю только, что готов подписаться под каждым словом. Настоятельно рекомендую к прочтению.

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

Вступление

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

Но есть два основных фактора, которые оказывают нулевое влияние на общую производительность сайта:

  1. Количество плагинов (совершенно серьезно)
  2. Используется ли функционал внутри темы или как самостоятельный плагин.

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

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

Распространённые заблуждения

Размещать функционал полезнее в теме, чем в плагине.

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

Нет, не правильно, и вот причина:

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

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

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

Код в шаблонах выполняется лучше, чем в плагинах.

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

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

Отсюда возникает еще один вопрос – могут ли темы быть лучшим выбором для выполнения кода, чем плагины?

Ответ – нет, не могут.

Основные причины, по которым плагины предпочтительнее

Теперь зададимся вопросом — плагины лучше чем темы, для выполнения кода? В большинстве случаев – да. И вот почему.

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

Все это приводит к вопросу о том, насколько плохо иметь большое количество всевозможных плагинов. Не вызовет ли проблем множество кусков функционала размещенных в большом количестве разных плагинов? Что произойдет когда у вас будет 10, 20 или 40 плагинов? Не слишком ли?

Нет, не слишком.

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

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

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

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

Ключевой момент, который необходимо помнить:

На производительность не влияет количество плагинов. Влияние оказывает тип плагина и его качество.

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

И наконец, последнее, что нужно запомнить – плагины зло только в том случае, если они плохо написаны. Сами по себе они не плохие.

О том, как проверить влияние плагинов на ваш сайт — читайте в этом материале.

Особо сомневающимся так же, рекомендую почитать еще вот эту статью на на wpmag.ru

Оригинал статьи здесь.