К основному содержимому

WP-CLI: управление WordPress из командной строки

WordPress · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «WP-CLI: управление WordPress из командной строки»

WP-CLI — официальный инструмент командной строки для WordPress. С его помощью можно управлять плагинами, темами, пользователями и базой данных прямо из SSH, без браузера.

Установка WP-CLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# Проверить
wp --version
# WP-CLI 2.10.0

Основные команды

Обновления

# Обновить WordPress core
wp core update

# Обновить все плагины
wp plugin update --all

# Обновить все темы
wp theme update --all

# Обновить всё сразу
wp core update && wp plugin update --all && wp theme update --all

Плагины и темы

# Установить плагин
wp plugin install wordfence --activate

# Деактивировать плагин
wp plugin deactivate contact-form-7

# Список плагинов
wp plugin list

# Удалить плагин
wp plugin delete hello-dolly

Пользователи

# Создать администратора
wp user create admin2 admin2@example.com --role=administrator --user_pass=SecurePass123!

# Сменить пароль
wp user update admin --user_pass=NewPassword456!

# Список пользователей
wp user list --role=administrator

База данных

# Экспорт БД
wp db export backup-$(date +%Y%m%d).sql

# Импорт БД
wp db import backup.sql

# Поиск и замена URL (при миграции!)
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables
💡 wp search-replace автоматически обрабатывает сериализованные данные PHP — безопаснее ручного SQL UPDATE.

Полезные команды для отладки

# Очистить кэш
wp cache flush

# Регенерировать миниатюры
wp media regenerate --yes

# Проверить и восстановить БД
wp db check
wp db repair

# Получить/установить опцию
wp option get siteurl
wp option update blogname "Мой сайт"
КомандаЧто делает
wp core updateОбновление WP до последней версии
wp plugin update --allОбновление всех плагинов
wp db exportРезервная копия БД
wp search-replaceСмена URL при миграции
wp cache flushОчистка кэша

Частые ошибки при работе с WP-CLI

Почти все ошибки WP-CLI объясняются тремя причинами: неверный путь, права root и разные PHP для CLI и веба.

Error: This does not seem to be a WordPress installation.

WP-CLI ищет файл wp-load.php в текущей директории и выше по дереву. Если команда запущена не из корня сайта, укажите путь явно: wp --path=/var/www/example.com/public_html core version.

Error: YIKES! It looks like you're running this as super user (root).

WP-CLI по умолчанию блокирует запуск от root — изменения владельца файлов от root ломают права для пользователя PHP-FPM. Если вы точно понимаете риск (например, в контейнере с единственным пользователем), добавьте флаг --allow-root. В остальных случаях переключитесь на пользователя сайта: sudo -u www-data wp core version --path=....

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted

Команда wp search-replace на большой базе (десятки тысяч строк postmeta) упирается в лимит памяти PHP CLI — он задаётся отдельно от лимита PHP для веб-сервера, в своём php.ini для CLI-режима. Временно поднимите лимит: php -d memory_limit=512M $(which wp) search-replace ....

WP-CLI или админка: когда что использовать

ЗадачаWP-CLIwp-admin
Массовое обновление 50+ плагиновСекунды, один скриптКлик по каждому или Bulk actions в браузере
Разовая правка текста на страницеНеудобноБыстрее
Автоматизация в CI/CDЕдинственный вариантНедоступно
Работа при отключённом фронтендеРаботает всегдаНедоступна при критической ошибке сайта

Главное преимущество WP-CLI — он обращается к WordPress Core напрямую, минуя HTTP и браузер, поэтому работает даже когда сайт отдаёт белый экран или 500-ю ошибку.

Когда WP-CLI не подходит

На части тарифов виртуального хостинга SSH-доступ вообще не выдаётся — тогда WP-CLI недоступен физически, см. SSH-доступ на хостинге cPanel для проверки, какие тарифы его поддерживают. PHP CLI и PHP для веб-сервера на некоторых конфигурациях — это разные бинарники с разными версиями и настройками php.ini: команда может отработать под PHP 8.3 в CLI, а сайт при этом висит на PHP 7.4 в вебе, и поведение будет отличаться. Для разовой правки одной страницы или проверки одного плагина открыть админку почти всегда быстрее, чем вспоминать синтаксис команды.

Как проверить результат

После массовых изменений через WP-CLI проверяйте не только «команда завершилась без ошибок», но и реальное состояние сайта:

# Проверить, что WordPress установлен и доступен
wp core is-installed; echo "Код выхода: $?"

# Общая информация об окружении
wp cli info

# Проверить состояние сайта после массовых изменений
wp plugin list --status=active
wp option get siteurl

Код выхода 0 после wp core is-installed подтверждает, что инсталляция цела. Ненулевой код в скрипте автоматизации — сигнал остановить выполнение и не запускать следующие шаги (например, деплой) на сломанном сайте.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке