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

Опубликовано: 01.09.2018

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

Функционал Malina fitness Минск

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



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


МОТИВАЦИЯ! Мышцы, функционал! Взрывная тренировка на турниках!

Вступление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код разделяется на отдельные «порции». Это лучшее, что вы можете сделать с большим проектом, поскольку это все упрощает. Разместив отдельные части функционала по плагинам, мы создаем такие «порции». А как вы знаете, каждый плагин имеет свою поддержку и это сильно упрощает отслеживание любой проблемы. Если что-либо ломается, то вы можете просто отключить плагин. На примере той же контактной формы – что будет, если она сломается? Скорее всего, потянет за собой и весь сайт. И если у вас нет специальных навыков, то возникнут большие проблемы. В случае если такой функционал осуществляется плагином, будет достаточно его просто отключить. Дождетесь починки плагина или подыщете другой, аналогичный. Если вам будет нужно сменить тему (а для WordPress это вполне обычная процедура), весь ваш встроенный функционал потеряется. Если же все ваши шорткоды находятся внутри плагинов, достаточно будет их просто переподключить. Разве это не плюс в сторону плагинов? Плюс однозначный. Плагины могут обновляться и совершенствоваться отдельно от темы. В случае, когда вы добавили улучшения в тему, то обновлять нужно будет все целиком. Часто вы встречали пользователей постоянно добавляющих что-то в настройки style.css или functions.php ? В этом случае невозможно обновить тему и получить улучшения без переноса последних, вручную. Если все улучшения в плагинах, пользователю ничего делать не надо, кроме обновления плагина из консоли.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rss