3 min. читать

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

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

В этом руководстве Вы узнаете все: от установки WP-CLI на Linux, macOS и Windows до автоматизации сложных задач обслуживания с помощью скриптов и конфигурационных файлов. Независимо от того, управляете ли Вы одним блогом или десятками клиентских сайтов, освоение WP-CLI коренным образом изменит Вашу работу с WordPress.

Чему Вы научитесь:

  • Как установить и настроить WP-CLI в разных операционных системах
  • Основные команды для управления плагинами, темами, пользователями и контентом
  • Операции с базами данных, включая экспорт, импорт и безопасный поиск-замену
  • Методы автоматизации с помощью скриптов, псевдонимов и заданий cron
  • Лучшие практики, позволяющие избежать распространенных ловушек при работе с терминала

Что такое WP-CLI? (Сначала краткое объяснение)

WP-CLI расшифровывается как WordPress Command Line Interface — это инструмент с открытым исходным кодом, который позволяет Вам управлять сайтами WordPress исключительно из терминала. Вместо того, чтобы входить в wp-admin и перемещаться по меню, Вы выполняете такие команды, как wp plugin update --all, и наблюдаете, как весь Ваш стек плагинов обновляется за считанные секунды.

Проект начался примерно в 2011 году и был создан разработчиками, которые хотели получить более быстрый способ управления WordPress в масштабе. В 2017 году он перешел под официальный зонтик WordPress.org и теперь поддерживается преданной командой разработчиков, включая Алена Шлессера и Даниэля Баххубера.

Вот что Вам нужно знать о WP-CLI:

  • Текущая стабильная версия: Серия WP-CLI 2.x
  • Совместимость с WordPress: Работает с WordPress 5.x — 6.x (и исторически возвращается к 3.7).
  • Требования PHP: PHP 7.4+ или 8.x рекомендуется для безопасности и производительности
  • Экосистема команд: Более 40 родительских команд, охватывающих практически все операции WordPress
  • Основные пользователи: Разработчики, агентства, инженеры DevOps и опытные пользователи, управляющие сложными или многочисленными сайтами.
  • Распространение: Доступен в виде PHAR-файла, через менеджеры пакетов или предустановлен на многих управляемых хостах WordPress.

Основные преимущества использования WP-CLI

Как только Вы поймете, зачем существует WP-CLI, кривую обучения станет гораздо легче оправдать. В этом разделе объясняются конкретные преимущества, благодаря которым этот инструмент стоит Вашего времени.

Экономия времени на повторяющихся задачах
Обновление 20 плагинов через приборную панель WordPress означает 20 загрузок страниц, 20 щелчков мышью и наблюдение за 20 индикаторами выполнения. С WP-CLI Вы запускаете один раз и двигаетесь дальше. Для агентств, управляющих сайтами нескольких клиентов, эта разница превращается в сэкономленные часы каждую неделю.

Массовые и автоматические операции
Рассмотрим сценарий, в котором Вы готовите 15 магазинов WooCommerce к Черной пятнице. Вам нужно обновить плагины, очистить кэш и проверить целостность базы данных на каждом сайте. WP-CLI позволяет Вам написать сценарий всей этой последовательности действий и выполнить его на всех сайтах за несколько минут, а не часов. Основные возможности автоматизации включают:

  • Обновление всех плагинов на нескольких установках с помощью одного скрипта
  • Массовое создание пользователей с заранее определенными ролями
  • Выполнение ночного обслуживания через cron (оптимизация базы данных, очистка переходных процессов)
  • Развертывание идентичных конфигураций WordPress в новых средах

Надежность операций с использованием браузера
Операции с использованием браузера сбиваются по таймауту HTTP. Импорт больших баз данных не выполняется в середине процесса. Операции поиска-замены повреждают сериализованные данные, когда выполняются с помощью необработанного SQL. WP-CLI позволяет избежать всех этих проблем, поскольку он выполняется непосредственно на сервере без ограничений по таймауту, а его команда search-replace корректно обрабатывает сериализованные структуры данных.

Прямой контроль над основными системами WordPress
С одного терминала Вы можете:

  • Экспортируйте и импортируйте базу данных WordPress
  • Измените настройки wp-config.php
  • Проверяйте и запускайте события wp-cron
  • Включение и выключение режима обслуживания
  • Выполните произвольный PHP-код в контексте WordPress

Снижение нагрузки на wp-admin
На загруженных производственных серверах каждая загруженная страница панели администратора потребляет ресурсы. Выполнение операций по обслуживанию через WP-CLI снимает эту нагрузку с веб-сервера, что важно в периоды высокой посещаемости.

Требования к WP-CLI и поддерживаемые среды

Прежде чем устанавливать WP-CLI, Вам необходимо убедиться, что Ваш сервер или локальная среда соответствуют основным требованиям. Хорошая новость заключается в том, что большинство современных WordPress-установок уже соответствуют этим требованиям.

Требования к версии PHP:

  • Минимум: PHP 5.6 (хотя это уже устарело)
  • Рекомендуется: PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 или 8.5 для обеспечения безопасности и производительности в 2026 году

Совместимость с версиями WordPress:

  • Историческая поддержка: WordPress 3.7 и более новые версии
  • Современная цель: WordPress 5.0 — 6.7+ для текущих проектов

Ожидания от операционной системы:

  • Лучшая поддержка: UNIX-подобные системы (Ubuntu 22.04 LTS, Debian 12, CentOS Stream, macOS)
  • Windows: Поддерживается с помощью WSL (подсистема Windows для Linux) или собственной установки PHP

Дополнительные требования:

  • PHP доступен в командной строке (бинарный файл php должен быть в Вашем PATH).
  • cURL или wget для загрузки файла wp-cli.phar
  • SSH-доступ к удаленным серверам (в большинстве тарифных планов управляемого хостинга WordPress он включен по умолчанию)

Многие популярные хостинги, такие как Kinsta, SiteGround и DreamHost, теперь поставляются с предустановленным WP-CLI. WordPress.com также включает WP-CLI для сайтов с включенным SSH-доступом.

Как установить WP-CLI на Linux и macOS

Стандартный метод установки использует официальный файл PHAR (PHP Archive). Этот процесс работает на терминалах Ubuntu, Debian, CentOS, Fedora и macOS.

Шаг 1: Загрузите файл PHAR
Откройте терминал и загрузите файл wp-cli.phar с помощью curl:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

В качестве альтернативы используйте wget:

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Шаг 2: Проверка загрузки (необязательно, но рекомендуется)
Сверьте контрольную сумму SHA-256 с официальным значением, опубликованным в документации по WP-CLI, чтобы убедиться, что файл не был подделан во время загрузки:

sha256sum wp-cli.phar

Сравните полученный результат с контрольной суммой, указанной на официальном сайте WP-CLI.

Шаг 3: Проверка файла PHAR
Убедитесь, что php-файл работает:

php wp-cli.phar --info

Вы должны увидеть результаты, отображающие версию WP-CLI, версию PHP и системную информацию.

Шаг 4: Сделайте его исполняемым и переместите в PATH
Пометьте файл как исполняемый и переместите его в директорию в Вашем системном PATH:

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Команда sudo обычно требуется, поскольку /usr/local/bin — это системная директория. Избегайте установки WP-CLI от имени root, если Вы будете работать с ним в основном от имени обычного пользователя.

Шаг 5: Проверка глобальной установки
Подтвердите, что WP-CLI теперь доступен во всем мире:

wp --info
wp cli version

Вы должны увидеть результаты, подтверждающие версию wp cli, расположение бинарного файла PHP и данные об операционной системе. На этом этапе WP-CLI установлен и готов к работе.

Как установить WP-CLI на Windows

У пользователей Windows есть два основных пути: использовать Windows Subsystem for Linux (WSL) или установить родную Windows. WSL обеспечивает более Linux-подобный опыт и обычно рекомендуется.

Вариант 1: Использование WSL (рекомендуется)
Сначала включите WSL в Windows 10 или 11:

wsl --install

Установите Ubuntu из Microsoft Store, затем запустите терминал Ubuntu. Далее выполните те же шаги по установке Linux, которые были описаны в предыдущем разделе — скачайте файл phar, сделайте его исполняемым и переместите на /usr/local/bin/wp.

Вариант 2: «Родная» установка Windows
Для «родной» установки Вам потребуется установленный PHP для Windows с исполняемым файлом php в PATH Вашей системы.

  1. Загрузите и установите PHP с официального сайта PHP для Windows
  2. Добавьте каталог PHP в переменную окружения PATH в Windows.
  3. Убедитесь, что PHP работает, открыв Command Prompt и выполнив команду php -v

Затем загрузите файл WP-CLI PHAR:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

С 2018 года в Windows по умолчанию включен curl, так что это должно работать без дополнительных настроек. Создайте папку для WP-CLI (например, C:\wp-cli) и переместите туда загруженный файл.

Затем создайте пакетный файл-обертку с именем wp.bat в той же папке:

@echo off
php "C:\wp-cli\wp-cli.phar" %*

Добавьте C:\wp-cli в переменную окружения PATH Вашей системы. Теперь откройте новое окно Командной строки или PowerShell и проверьте:

wp --info

Вы должны увидеть информацию о версии WP-CLI и окружении, подтверждающую, что WP-CLI установлен правильно.

Основы использования WP-CLI и получение помощи

Установив WP-CLI, Вам необходимо понять основную схему команд, прежде чем приступать к конкретным операциям. Все команды WP-CLI имеют следующую структуру:

wp <command> <subcommand> [options]

Команды выполняются из директории установки WordPress — папки, содержащей wp-config.php. Если Вы находитесь в другом месте, Вы можете указать путь с помощью --path=/var/www/html/mysite.

Проверка Вашего окружения
Начните с подтверждения Ваших настроек:

wp --info

Здесь отображается версия WP-CLI, версия PHP, путь к бинарным файлам PHP, операционная система и другие сведения об окружении. Чтобы увидеть только версию WP-CLI:

wp cli version

Изучение доступных команд
Чтобы перечислить все доступные команды wp cli:

wp help

Для получения справки по конкретной команде:

wp help plugin
wp help core update

Вы также можете добавить --help к любой команде:

wp user --help

Вывод справки отображается в виде пейджера, похожего на страницы Unix man. Нажмите q, чтобы выйти.

Первые команды, которые нужно попробовать:

  • wp core version — отображает версию Вашего WordPress
  • wp plugin list — Показывает все установленные плагины WordPress с указанием их статуса
  • wp theme list — показывает установленные темы
  • wp user list — Список всех пользователей на сайте

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

Установка и настройка WordPress с помощью WP-CLI

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

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

  • Имя базы данных: wpsite_db
  • Пользователь базы данных: wpsite_user
  • Пароль: securepassword123
  • Ведущий: localhost

Шаг 1: Скачайте файлы ядра WordPress
Перейдите в нужную Вам директорию установки и скачайте ядро WordPress:

wp core download

Это позволяет получить последнюю версию WordPress. Чтобы указать версию или локаль:

wp core download --version=6.4.2 --locale=fr_FR

После завершения Вы увидите подтверждение того, что WordPress был успешно загружен.

Шаг 2: Создайте wp-config.php
Создайте файл конфигурации с помощью wp config create:

wp config create --dbname=wpsite_db --dbuser=wpsite_user --dbpass=securepassword123 --dbhost=localhost

При этом создается полный wp-config.php с учетными данными Вашей базы данных и автоматически сгенерированными солями безопасности.

Шаг 3: Запустите установку
Теперь установите WordPress, указав данные Вашего сайта:

wp core install --url=https://example.com --title="My New Site" --admin_user=admin --admin_password=strongpassword [email protected]

Вы увидите сообщение «WordPress успешно установлен», и Ваш сайт будет готов к использованию.

Многосайтовая установка
Для многосайтовых сетей WordPress используйте вариант multisite. WP-CLI может настраивать многосайтовые установки с помощью:

wp core multisite-install --url=https://example.com --title="My Network" --admin_user=admin --admin_password=strongpassword [email protected]

Управление темами с помощью WP-CLI

WP-CLI выполняет все операции с темами, не требуя доступа к панели администратора WordPress. Вы можете составлять список, устанавливать, активировать, обновлять и удалять темы прямо из своего терминала.

Список установленных тем
Чтобы просмотреть все установленные на данный момент темы:

wp theme list

Образец вывода:

имястатусобновлениеверсия
двадцать двадцать четыреактивнаяnone1.0
двадцать тринеактивныйnone1.2
astraнеактивныйдоступно4.5.0

Активация темы
Переключитесь на другую тему:

wp theme activate astra

Это немедленно изменит активную тему. Переключение обратно на тему по умолчанию полезно для устранения проблем, связанных с темой:

wp theme activate twentytwentyfour

Установка новых тем
Установите тему из репозитория WordPress.org:

wp theme install astra

Установите и активируйте одной командой:

wp theme install astra --activate

Обновление тем
Обновите определенную тему:

wp theme update astra

Или обновите все темы сразу:

wp theme update --all

Удаление тем
Удалите тему, которая Вам больше не нужна:

wp theme delete twentytwentythree

Управление плагинами с помощью WP-CLI

Управление плагинами — это то место, где WP-CLI экономит больше всего времени. Вы можете выполнять массовые операции, на которые в приборной панели потребовались бы десятки щелчков.

Листинг плагинов

wp plugin list

Образец вывода:

имястатусобновлениеверсия
woocommerceактивнаяnone8.5.1
yoast-seoактивнаядоступно21.0
elementorнеактивныйnone3.18.0

Установка плагинов
Установите плагин по его названию:

wp plugin install woocommerce

Установите и активируйте:

wp plugin install yoast-seo --activate

Активация и деактивация
Активируйте плагин:

wp plugin activate elementor

Деактивируйте плагин (полезно для отладки):

wp plugin deactivate elementor

Деактивируйте все плагины сразу (спасает при отладке «белого экрана смерти»):

wp plugin deactivate --all

Обновление плагинов
Обновите определенный плагин:

wp plugin update yoast-seo

Обновите все плагины:

wp plugin update --all

Вы также можете исключить определенные плагины из массового обновления:

wp plugin update --all --exclude=woocommerce

Обновление и восстановление ядра WordPress

Постоянное обновление WordPress очень важно для безопасности. WP-CLI делает этот процесс прозрачным и контролируемым.

Проверка наличия обновлений

wp core check-update

Обновление WordPress
Обновитесь до последней версии:

wp core update

После обновления ядра рекомендуется обновить схему базы данных:

wp core update-db

Проверка контрольных сумм
Если Вы подозреваете, что Ваш сайт был взломан, Вы можете проверить, не были ли изменены основные файлы:

wp core verify-checksums

Он сравнивает Ваши файлы с контрольными суммами официального репозитория WordPress.

Переустановка Core
Если файлы повреждены, Вы можете принудительно переустановить их без ущерба для Вашего содержимого:

wp core download --force --skip-content

Управление контентом, пользователями и базой данных

WP-CLI позволяет Вам напрямую взаимодействовать с данными Вашего сайта.

Управление пользователями
Список пользователей:

wp user list

Создайте нового администратора:

wp user create newadmin [email protected] --role=administrator --user_pass=securepass123

Обновите пароль пользователя:

wp user update 1 --user_pass=newpassword

Удалите пользователя и переназначьте его контент:

wp user delete 5 --reassign=1

Операции с базой данных
Экспортируйте базу данных в файл:

wp db export backup.sql

Импортируйте базу данных из файла:

wp db import backup.sql

Оптимизируйте базу данных:

wp db optimize

Откройте консоль MySQL, напрямую подключенную к Вашей базе данных WordPress:

wp db cli

Поиск и замена (правильный способ)

Переносить сайт WordPress на новый домен вручную очень рискованно, поскольку данные часто сериализованы в базе данных. Простой поиск и замена в SQL приведет к поломке виджетов и опций темы. WP-CLI правильно обрабатывает сериализацию.

Стандартный поиск-замена

wp search-replace 'http://old-domain.com' 'https://new-domain.com'

Dry Run (Preview)
Всегда проверяйте, что изменится, прежде чем выполнять команду:

wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run

Экспорт с заменой
Вы можете экспортировать базу данных с заменой, сделанной в файле, оставив живую базу данных нетронутой:

wp search-replace 'old.com' 'new.com' --export=migrated-db.sql

Продвинутое обслуживание: Cron и кэш объектов

Управление заданиями Cron
Просмотр запланированных событий:

wp cron event list

Немедленно запустите все необходимые события cron:

wp cron event run --due-now

Управление переходными процессами и кэшем
Очистите кэш объектов:

wp cache flush

Удалите все истекшие переходные периоды:

wp transient delete --expired

Автоматизация заданий с помощью сценариев

Вы можете объединить команды WP-CLI в сценарии Bash для автоматического обслуживания.

Пример: Сценарий еженедельного обслуживания
Создайте файл с именем maintain.sh:

#!/bin/bash
# Update everything
wp core update
wp core update-db
wp plugin update --all
wp theme update --all

# Cleanup
wp transient delete --expired
wp cache flush
wp db optimize

echo "Maintenance complete."

Сделайте его исполняемым (chmod +x maintain.sh) и запустите, чтобы выполнить полное обслуживание сайта за считанные секунды.

Использование WP-CLI удаленно через SSH

Вам не нужно входить на сервер, чтобы выполнять команды, если Вы настроили псевдонимы.

В Вашем локальном файле wp-cli.yml:

@prod:
  ssh: [email protected]/var/www/html
@dev:
  ssh: [email protected]/var/www/html

Теперь Вы можете выполнять команды на удаленном сервере с Вашей локальной машины:

wp @prod plugin list
wp @dev core version

Лучшие практики

  • Всегда создавайте резервные копии: Прежде чем выполнять массовые обновления или команды поиска-замены, запустите wp db export.
  • Используйте Dry Run: Для поиска-замены всегда используйте сначала --dry-run.
  • Не запускайте программу от имени Root: WP-CLI предупреждает Вас, если Вы запускаете программу от имени root. Безопаснее запускать его от имени пользователя веб-сервера (например, www-data) или Вашей конкретной учетной записи.
  • Протестируйте на Staging: Используйте WP-CLI для клонирования Вашего рабочего сайта в staging, протестируйте там свои скрипты обновления, а затем примените их в production.

Заключение

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