«Сайт стал тормозить, а мы ничего не меняли» — с этой фразы начинается примерно каждое второе обращение на техническую поддержку. Когда мы открываем список плагинов, там обычно тридцать, сорок, а иногда и семьдесят расширений. Часть из них давно не используется, часть дублирует друг друга, а пара-тройка стоит «на всякий случай». Каждый такой плагин по отдельности выглядит безобидно, но вместе они превращают быстрый сайт в медленный. Разберёмся, как именно лишние плагины влияют на скорость, как найти виновников и как безопасно навести порядок.
Почему количество само по себе не главное
Сразу оговоримся: нет волшебного числа, после которого сайт обязательно начинает тормозить. Один плохо написанный плагин может замедлить сайт сильнее, чем двадцать аккуратных. Но чем больше расширений, тем выше вероятность, что среди них окажется проблемный, и тем сложнее его найти. Кроме того, растёт поверхность атаки: каждый плагин — потенциальная уязвимость, а каждое обновление — шанс на конфликт.
Поэтому правильный вопрос звучит не «сколько плагинов можно», а «зачем здесь каждый из них и сколько он стоит в плане ресурсов».
Как плагины замедляют сайт: пять механизмов
Чтобы понимать, что искать, полезно знать, через какие каналы расширения влияют на производительность.
1. Лишние стили и скрипты на каждой странице
Плагин слайдера подключает свои файлы на всех страницах, хотя слайдер есть только на главной. Плагин формы грузит скрипты валидации на страницах без форм. Плагин социальных кнопок тянет внешние ресурсы. В итоге браузер посетителя скачивает и обрабатывает сотни килобайт кода, который на этой странице не нужен.
2. Тяжёлые запросы к базе данных
Блоки «похожие записи», счётчики просмотров, сложные фильтры и статистика внутри WordPress делают запросы к базе при каждом открытии страницы. На небольшом сайте это незаметно, но с ростом количества записей запросы становятся всё медленнее.
3. Раздувание базы
Многие плагины пишут в базу журналы, временные данные и настройки, которые подгружаются при каждом запросе. Особенно коварна таблица опций: если в ней скапливаются мегабайты автозагружаемых данных от давно удалённых расширений, WordPress читает их на каждой странице.
4. Фоновые задачи
Планировщик WordPress запускает задачи по расписанию: проверки, рассылки, синхронизации, сканирования. Несколько плагинов с частыми задачами создают постоянную фоновую нагрузку, которую хостинг может ограничить.
5. Внешние запросы
Некоторые плагины при загрузке админки или страниц обращаются к своим серверам: проверить лицензию, загрузить новости, показать рекламу. Если сервер разработчика отвечает медленно, ваш сайт ждёт вместе с ним.
Признаки того, что у вас лишние плагины
- Админка открывается заметно медленнее, чем публичная часть сайта.
- В панели WordPress висят баннеры с предложениями купить расширенную версию сразу от нескольких плагинов.
- В списке есть отключённые плагины, которые не трогали месяцами.
- Есть по два плагина в одной категории: два SEO, два кэша, две формы.
- Никто в команде не может объяснить, зачем установлен тот или иной плагин.
- Хостинг присылает уведомления о превышении нагрузки на процессор.
- После каждого обновления что-нибудь ломается.
Совет от студии: отключённый плагин не замедляет сайт, но его файлы остаются на сервере. Если в них есть уязвимость, злоумышленник может обратиться к ним напрямую. Поэтому неиспользуемые плагины нужно не отключать, а удалять.
Как найти виновника: порядок диагностики
Мы проводим диагностику по одной и той же схеме. Её можно повторить самостоятельно, если есть тестовая копия сайта.
- Зафиксируйте исходные показатели. Замерьте время ответа сервера и полную загрузку для трёх-четырёх типовых страниц: главной, страницы услуги, записи блога, карточки товара. Сохраните результаты.
- Установите инструмент профилирования. Есть отладочные плагины, которые показывают количество и время запросов к базе, а также какой компонент их создал. Включайте их только на тестовой копии или на короткое время.
- Посмотрите на загрузку ресурсов. Во вкладке «Сеть» инструментов разработчика браузера видно, какие файлы грузятся и из каких папок плагинов они берутся.
- Отключайте по одному. На копии сайта последовательно отключайте плагины и замеряйте скорость. Так виден реальный вклад каждого.
- Проверьте таблицу опций. Узнайте общий объём автозагружаемых данных и найдите записи, оставшиеся от удалённых плагинов.
- Проверьте расписание задач. Специальный плагин или консольная команда покажет все задачи планировщика и их частоту.
Чем заменить типичные «лишние» плагины
Многие расширения решают задачи, которые давно закрываются иначе. Вот частые примеры из нашей практики.
| Плагин ради… | Чем можно заменить |
|---|---|
| Кнопки «Наверх» | Несколько строк CSS и JavaScript в дочерней теме |
| Вставки кода счётчиков | Шаблон дочерней темы или функция в файле functions |
| Колонок и кнопок в тексте | Штатные блоки редактора |
| Ленивой загрузки картинок | Встроенная функция WordPress |
| Отключения эмодзи и лишних заголовков | Пара фильтров в коде темы |
| Социальных кнопок с внешними скриптами | Простые ссылки на шаринг без сторонних библиотек |
| Отдельного плагина под каждый тип редиректа | Один менеджер редиректов или правила на сервере |
Важно: перенос функций в код темы оправдан, только если тема дочерняя и правки задокументированы. Иначе вы просто перенесёте проблему из одного места в другое, и следующий разработчик не поймёт, откуда что берётся.
Как безопасно удалять плагины
Удаление тоже может навредить. Плагин мог создавать шорткоды, которые после удаления превратятся в видимые скобки в тексте страниц, или хранить данные, на которые завязан другой функционал. Поэтому действуем аккуратно.
- Сделайте полную резервную копию файлов и базы.
- Поищите в базе шорткоды удаляемого плагина и решите, чем их заменить.
- Отключите плагин на тестовой копии и пройдитесь по ключевым страницам и сценариям: формы, корзина, оплата, личный кабинет.
- Удалите плагин через админку, а не просто стерев папку: так у него будет шанс корректно удалить свои данные.
- Проверьте, не остались ли в базе его таблицы и опции, и удалите их вручную, если они больше не нужны.
- Сбросьте кэш и повторите замеры скорости.
Как не допустить повторения
Порядок важно не только навести, но и поддерживать. Мы советуем закрепить в команде несколько простых правил: новый плагин ставится сначала на тестовую копию, его назначение записывается в короткий реестр (что делает, кто установил, от чего зависит), а раз в несколько месяцев реестр сверяется с фактическим списком. Права на установку плагинов лучше оставить только у одного ответственного администратора, а не у всех редакторов. Тогда сайт не будет снова обрастать случайными расширениями.
Чего ждать после чистки
Результат зависит от исходного состояния. На сайтах, где мы удаляли полтора-два десятка лишних расширений и чистили базу, время ответа сервера обычно сокращается в разы, админка начинает открываться без задержек, а обновления перестают приносить сюрпризы. Побочный эффект — снижение рисков взлома и упрощение дальнейшей поддержки. Если хотите доверить такую ревизию специалистам, загляните в раздел технической поддержки: аудит плагинов входит в стандартные работы по оптимизации.
Вывод
Лишние плагины замедляют сайт не магическим образом, а вполне конкретно: дополнительными файлами на каждой странице, тяжёлыми запросами, раздутой базой, фоновыми задачами и внешними обращениями. Найти виновников можно последовательными замерами на тестовой копии, а заменить многие расширения — штатными средствами WordPress или несколькими строками кода в дочерней теме. Главное правило простое: на сайте должен остаться только тот плагин, для которого вы можете назвать конкретную задачу. Всё остальное — балласт.