WP-CLI — это мощный инструмент командной строки для управления WordPress через терминал. Он позволяет выполнять множество задач быстрее и удобнее, чем через админ-панель. В этой статье мы разберем, как использовать WP-CLI для оптимизации сайта на WordPress, автоматизации рутинных операций и решения конкретных проблем.
Что такое WP-CLI и зачем он нужен для оптимизации WordPress
WP-CLI (WordPress Command Line Interface) — это набор команд, с помощью которых можно управлять сайтом WordPress через консоль. Основные преимущества WP-CLI заключаются в скорости, возможности автоматизации и доступа к функциям, не всегда доступным через GUI.
Оптимизация сайта — частая задача, которая включает очистку базы данных, управление плагинами, обновления, экспорт/импорт данных и другие операции. WP-CLI позволяет делать это быстро и без лишних кликов.
Для работы с WP-CLI нужен доступ к терминалу (SSH) на сервере, где размещен сайт.
Преимущества WP-CLI для оптимизации
- Автоматизация рутинных задач с помощью скриптов
- Быстрое выполнение команд без загрузки интерфейса
- Возможность работать с большим количеством сайтов через терминал
- Доступ к расширенным функциям, например, массовое удаление ревизий или оптимизация базы данных
Установка WP-CLI и проверка работоспособности
Если WP-CLI еще не установлен, его можно скачать и установить вручную. Самый простой способ — загрузить phar-файл и сделать его исполняемым:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
wp --infoПосле этого команда wp станет доступна глобально, и вы сможете выполнять команды из корня сайта WordPress.
Чтобы проверить, что WP-CLI работает с вашим сайтом, перейдите в папку с WordPress и выполните:
wp core versionВы увидите текущую версию WordPress.
Оптимизация базы данных с помощью WP-CLI
Одна из самых востребованных операций — очистка и оптимизация базы данных для ускорения работы сайта. WP-CLI позволяет выполнять эти задачи с помощью команды wp db.
Оптимизация таблиц базы данных
Чтобы оптимизировать все таблицы базы данных WordPress, выполните:
wp db optimizeЭта команда запускает SQL-запросы для оптимизации таблиц, уменьшая фрагментацию и повышая производительность.
Очистка ревизий и автосохранений
Ревизии постов и автосохранения занимают место в базе и могут замедлять сайт. WP-CLI позволяет массово их удалить.
wp post delete $(wp post list --post_type='revision' --format=ids) --forceЭта команда сначала получает список ID ревизий и удаляет их принудительно.
Удаление спам-комментариев и мусора
Для удаления всех комментариев в статусе спам:
wp comment delete $(wp comment list --status=spam --format=ids) --forceТакже можно удалить все комментарии в статусе «ожидает модерации»:
wp comment delete $(wp comment list --status=hold --format=ids) --forceУправление плагинами и темами через WP-CLI
WP-CLI позволяет быстро устанавливать, активировать, деактивировать и обновлять плагины и темы, что экономит время.
Установка и активация плагина
Чтобы установить и активировать плагин, например, "Wordfence Security":
wp plugin install wordfence --activateЕсли плагин уже установлен, команда обновит его:
wp plugin update wordfenceМассовое обновление всех плагинов и тем
Для обновления всех плагинов:
wp plugin update --allДля обновления всех тем:
wp theme update --allАвтоматизация задач с помощью WP-CLI и скриптов
Вы можете создавать bash-скрипты, которые будут запускать WP-CLI команды и выполнять комплексные задачи по оптимизации.
Пример скрипта для очистки базы и обновления плагинов
#!/bin/bash
cd /var/www/wptour.ru
wp db optimize
wp post delete $(wp post list --post_type='revision' --format=ids) --force
wp comment delete $(wp comment list --status=spam --format=ids) --force
wp plugin update --all
wp theme update --all
Этот скрипт можно запускать вручную или по расписанию через cron для регулярной оптимизации.
Создание собственной команды WP-CLI для специфических задач
Для расширения функционала WP-CLI вы можете создавать свои команды на PHP. Например, команда для очистки всех транзиентов, которые могут замедлять сайт.
Пример: команда wptour-clear-transients
Создайте файл wp-cli-commands.php в папке с плагином или темой и добавьте:
<?php
if ( defined('WP_CLI') && WP_CLI ) {
WP_CLI::add_command('wptour-clear-transients', function() {
global $wpdb;
$count = $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%'" );
WP_CLI::success("Удалено {$count} транзиентов.");
});
}
Затем зарегистрируйте этот файл в wp-cli.yml или загрузите через плагин. После этого команда доступна как:
wp wptour-clear-transientsРезюме и рекомендации по использованию WP-CLI
WP-CLI — незаменимый инструмент для разработчиков и администраторов WordPress, позволяющий эффективно оптимизировать сайт, управлять плагинами и темами, автоматизировать задачи и создавать собственные команды.
Для максимальной пользы рекомендуем:
- Регулярно оптимизировать базу данных через
wp db optimize - Удалять ревизии и спам-комментарии с помощью команд WP-CLI
- Обновлять все плагины и темы без лишних кликов
- Автоматизировать повторяющиеся задачи с помощью bash-скриптов и cron
- Разрабатывать собственные расширения WP-CLI под нужды вашего проекта
Используйте WP-CLI, чтобы сделать управление WordPress быстрее, удобнее и эффективнее.