WP Экспресс

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

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

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

Вступление

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

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

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

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

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

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

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

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

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

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

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

SqQQE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие

11 Комментов

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

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

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

  4. Очередная тема «писанная вилами» — скажу про свой опыт, коротко: знакомая попросила помочь — после очередного обновления темы сайт стал очень сильно тормозить и вылетать. Прочитала в интернете что из-за плагинов. Вообщем поставил я ей плагин для проверки нагрузки — диаграмки и все такое…. Было пару плагинов которые после проверки действительно грузили сайт — постоянное обращение к базе данных шло. И «проверочный» плагин показывал их как самое зло. Но интересно другое — сам проверочный плагин, про себя показывал что он основное зло))) Т.е. «грузил» сайт сильнее чем все установленные плагины вместе (около 20-ти штук). Так что хрен знает…. Когда у меня спрашивают что я думаю по поводу данных моментов, я отвечаю — применяй наш любимый способ для Вордпресс — тыкай пальцем в небо….

    1. История интересная, но каким образом она опровергает то, что написано в статье?

      1. Так она и не опровергает — и не подтверждает. Я и отметил что «это писано вилами» — скажем так — год назад все только говорили о мощном грузилове на блог если он весь в плагинах, статистику, цифры, графики приводили…. Сейчас я наблюдаю обратную тенденцию.

  5. Дмитрий, а вы используете или использовали плагин для вставки тэга ремаркетинга google? Можете посоветовать..?

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Back to top button