Как удалить и заблокировать плагин в WordPress: практическое руководство

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

Почему важно блокировать повторную активацию плагина

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

Блокировка активации плагина помогает:

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

Рассмотрим, как это реализовать на практике.

Удаление плагина стандартными средствами WordPress

Для удаления плагина через админку нужно:

  1. Перейти в раздел «Плагины» → «Установленные плагины».
  2. Отключить нужный плагин, если он активен.
  3. Нажать «Удалить» под названием плагина.

Однако этот способ не защитит от повторной установки или активации. Для этого нужны дополнительные меры.

Как заблокировать активацию плагина с помощью кода

Самый надёжный способ — использовать фильтр plugin_action_links_{plugin_file} и хук pre_current_active_plugins для контроля активации и отображения плагина в админке.

Пример функции для блокировки активации конкретного плагина:

function wpconfig_ru_block_plugin_activation($plugins) {
    $blocked_plugin = 'akismet/akismet.php'; // Путь к плагину, который нужно заблокировать
    if (isset($plugins[$blocked_plugin])) {
        unset($plugins[$blocked_plugin]); // Убираем плагин из списка активных
    }
    return $plugins;
}
add_filter('pre_current_active_plugins', 'wpconfig_ru_block_plugin_activation');

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

Чтобы полностью запретить активацию плагина, можно использовать хук plugin_action_links и проверять попытку активации:

function wpconfig_ru_prevent_plugin_activation($plugin, $network_activation) {
    $blocked_plugin = 'akismet/akismet.php';
    if ($plugin === $blocked_plugin) {
        wp_die('Активация этого плагина запрещена администратором сайта.');
    }
}
add_action('activate_plugin', 'wpconfig_ru_prevent_plugin_activation', 10, 2);

Такой подход выведет ошибку и не позволит активировать плагин.

Удаление файлов плагина из файловой системы

Для полной очистки рекомендуется удалить папку плагина из /wp-content/plugins/. Это можно сделать через FTP, SSH или панель хостинга. Однако без блокировки активации через код или административный контроль плагин может быть вновь загружен.

Использование плагинов для управления доступом к плагинам

Если вы хотите более гибко управлять доступом к плагинам, можно использовать специализированные плагины, например:

  • Clearfy Pro — позволяет ограничить права администраторов и отключить некоторые плагины на уровне интерфейса.
  • WPRemark — для создания заметок и предупреждений, которые можно использовать для информирования команды о блокировках.

Такие плагины помогут систематизировать управление плагинами и усилить безопасность.

Как проверить, что плагин действительно заблокирован

После внедрения блокировок рекомендуется проверить:

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

Можно дополнительно использовать WP-CLI для проверки состояния плагинов через командную строку:

wp plugin status akismet
wp plugin deactivate akismet
wp plugin delete akismet

Советы по безопасности и управлению плагинами

Чтобы избежать проблем с нежелательными плагинами:

  • Ограничьте доступ к админке только доверенным пользователям.
  • Используйте контроль версий и резервные копии перед изменениями.
  • Регулярно обновляйте WordPress и плагины.
  • Используйте фильтры и хуки для контроля состояния плагинов.

Так вы повысите устойчивость сайта к ошибкам и уязвимостям.

Пример комплексного решения для wp-config.php

Можно добавить в wp-config.php проверку и блокировку активации плагинов:

define('WP_DISABLE_PLUGIN_ACTIVATION', true);

if (defined('WP_DISABLE_PLUGIN_ACTIVATION') && WP_DISABLE_PLUGIN_ACTIVATION) {
    add_action('activate_plugin', function($plugin) {
        $blocked_plugins = ['akismet/akismet.php', 'hello-dolly/hello.php'];
        if (in_array($plugin, $blocked_plugins)) {
            wp_die('Активация данного плагина запрещена.');
        }
    });
}

Это позволит централизованно управлять списком запрещённых плагинов.

Как создать собственный REST API endpoint в WordPress: подробное руководство
08.11.2025
Как удалить виджеты из сайдбара в WordPress: практическое руководство
11.01.2026
Как удалить доверие в WordPress: защита сайта и улучшение безопасности
20.05.2025
Как создать собственный тип записи (Custom Post Type) в WordPress с примерами кода
14.01.2026
Как добавить поддержку WebP в WordPress: бесплатные и коммерческие решения
26.12.2025