WP-CLI для диагностика производительности WordPress

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

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

Для установки WP-CLI на VPS или локальную систему Linux, выполните действия ниже:

  • Скачайте WP-CLI с Github с помощью следующей команды:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Подтвердите успешность загрузки с помощью команды:

php wp-cli.phar --info
OS:	Linux 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
Shell:	/bin/bash
PHP binary:	/opt/cpanel/ea-php80/root/usr/bin/php
PHP version:	8.0.19
php.ini used:	/opt/cpanel/ea-php80/root/etc/php.ini
MySQL binary:	/usr/bin/mysql
MySQL version:	mysql  Ver 14.14 Distrib 5.7.38, for Linux (x86_64) using  EditLine wrapper
SQL modes:	ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
WP-CLI root dir:	phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	phar://wp-cli.phar/vendor
WP_CLI phar path:	/root
WP-CLI packages dir:	
WP-CLI global config:	
WP-CLI project config:	
WP-CLI version:	2.6.0

Теперь вам необходимо установить wp-cli.phar, как исполняемый файл. Впишите:

chmod +x wp-cli.phar

Для завершения установки, переименуем и переместим WP-CLI, чтобы файл был виден в системе:

mv wp-cli.phar /usr/local/bin/wp

Теперь WP-CLI установлен, вы можете начать работу с контентом вашего WordPress через CLI.

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

Команда представленная ниже показывает информацию о версии WP-CLI:

wp --info

Эта команда необходима для получения списка команд WP-CLI и его документации:

wp help
или так
/usr/local/bin/wp --allow-root --help

К примеру, если вы хотите больше узнать о команде comment, впишите:

wp help comment
wp --allow-root --help comment

php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin list

Во-первых, найдите сам плагин yoast:

php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin search "yoast"

yoast первый в списке, смотрим его slug и устанавливаем

php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin install wordpress-seo --activate
wp --allow-root package install wp-cli/profile-command

Обновление профиля wp Вы можете обновить до последней версии пакет с помощью этой команды

wp package update --allow-root

Эта команда показывает этапы загрузки WordPress. Вы получите эту таблицу с подробной информацией. В основном ваш фокус должен быть на столбце time.

wp --allow-root --path=/home/regary/public_html/ profile stage
  • В общем, вы хотите, чтобы ваш cache_ratio быть высоким, более 70%
  • Как правило, вы хотите, чтобы cache_hits был больше, чем cache_misses
  • Ваш query_time должен быть низким

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

wp --allow-root --path=/home/regary/public_html/ profile stage bootstrap

Обычно предпочитают использовать флаг -all для команды stage

wp --allow-root --path=/home/regary/public_html/ profile stage --all

Можно использовать флаг —spotlight для фильтрации нулевых значений для упрощения чтения:

wp --allow-root --path=/home/regary/public_html/ profile stage --all --spotlight

Вывести функции, вызываемые в wp хуках на конкретном сайте:

wp --allow-root --path=/home/regary/public_html/ profile hook wp

Вы можете даже имитировать загрузку для определенного URL-адреса на сайте с помощью флага url:

wp --allow-root --path=/home/regary/public_html/ profile hook --all --spotlight --url=https://dieg.info/vps-hosting/

Теперь вы можете диагностировать проблемы, запустив команды профиля wp до и после деактивации плагинов, сравнив результаты wp-профиля до и после.

wp plugin deactivate plugin-name

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

Выполнить запрос в базу данных WordPress:

wp db query "SELECT COUNT(*) FROM wp_posts;"
+----------+
| COUNT(*) |
+----------+
|     512 |
+----------+

Полный экспорт и импорт базы данных WordPress:

$ wp db export wordpress.sql
Success: Exported to wordpress.sql
$ wp db import wordpress.sql
Success: Imported from wordpress.sql

Сгенерировать десять записей:

$ wp post generate --count=10 --post_type=post
Generating posts  100%[=======================================] 0:01 / 0:01

Сгенерировать десять записей с контентом от сервиса loripsum.net:

$ curl http://loripsum.net/api/5 | wp post generate --post_content --count=10
Generating posts  100%[=======================================] 0:01 / 0:01

Одна из самых мощных возможностей утилиты WP-CLI это интерактивная консоль WordPress. Интерактивная консоль — незаменимая вещь при отладке кода.

$ wp shell
wp> $p = get_post( 32065 );
wp> $p->post_title;
string(45) "WordPress в командной строке с помощью WP-CLI"

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

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

Обзор игрового хостинга Realms Hosting: Minecraft, RUST, Counter-Strike. PQ VPS сервера в 28+ странах.