TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4426 9.15K
Продолжаю тему с Wordpress. Покажу несколько практических примеров с wp-cli. Напомню для тех, кто не читал предыдущие публикации по этой теме. Это консольный инструмент для управления CMS Wordpress. Его удобно использовать для различных прикладных задач. Ниже я покажу несколько практических примеров использования.

Утилиту wp-cli можно установить напрямую на сервер, где работают сайты. Если они в контейнерах, то удобнее запускать рядом контейнер wordpress:cli сразу в составе docker compose. По своей сути это скрипт на php, как и сам движок Wordpress.

Устанавливаем на сервер:

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

Или запускаем сразу из контейнера в составе docker compose:

# docker-compose run --rm wp-cli wp --info

Разберу прикладной пример анализа производительности WP. Не всегда бывает просто узнать, почему он внезапно начал тормозить. В общем случае нужно запустить профилирование php чем то наподобие xhprof или xdebug и смотреть, в чём проблема. Но это длинный путь, для того чтобы по нему пройти, необходимы знания и работа с кодом сайта. Есть путь проще с помощью wp-cli и profile-command.

Устанавливаем профайлер wp-cli/profile-command от пользователя, под которым работает сайт:

# sudo -u nginx wp package install wp-cli/profile-command:@stable

Если через compose запускаете, о пользователе переживать не надо. Там всё под одним работает.

Запускаем профилировщик, указывая ему путь к директории с сайтом.

# sudo -u nginx wp profile stage --path=/web/www

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

# sudo -u nginx wp profile stage bootstrap --path=/web/www

Смотрим глубже на загрузку плагинов и выделяем некоторые поля:

# sudo -u nginx wp profile hook plugins_loaded --fields=callback,location,time,cache_ratio,request_time --path=/web/www

Если какой-то плагин тормозит, вы увидите это в таблице. Более подробно про работу wp profile можно посмотреть в моей статье.

Другие примеры с wp-cli. Я опущу указание пользователя и директории сайта, чтобы команды были короче. Установка или удаление темы:

# wp theme install astra --activate
# wp theme uninstall twentytwentyfive

Установка, удаление плагинов:

# wp plugin install wordpress-seo --activate
# wp plugin uninstall akismet

Бэкап базы данных:

# wp-cli wp db export --add-drop-table

Импорт базы данных:

# wp-cli wp db import wp_base.sql

Удобно использовать wp-cli для бэкапа и загрузки дампа базы данных. Там используется обычный mysqldump, но тебе не нужно заботиться об учётных данных для доступа к базе. Wp-cli берёт их из настроек WP.

С помощью docker compose, wp-cli и небольших скриптов можно быстро переносить свою заготовку сайта. Вы можете описать установку нужных плагинов и тем, сохранить их настройки и в целом состояние движка в sql дампе. Потом развернуть где-то в другом месте и через команды wp-cli с импортом дампа получить нужное состояние нового сайта.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#wordpress
Server Admin WordPress тормозит! Как быстро найти причину? | serveradmin.ru # cd ~ # curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar Делаем исполняемым и копируем в системную директорию, откуда он будет вызываться. # chmod +x wp-cli.phar...
  • 👍 72
  • 👎 2
More from @srv_admin
  1. Oct 10, 2026Когда я работал в одной небедной компании, там регулярно обновляли парк оборудования, а ст…
  2. Oct 9, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  3. Oct 9, 2026Астра Мониторинг впустил ИИ-агентов в системы мониторинга заказчика И приглашает вас увиде…
  4. Oct 9, 2026В пятницу расскажу про один сервис, который не имеет отношения к теме канала, но который м…
  5. Oct 7, 2026Рассказываю про одну простую, но очень полезную в хозяйстве штуку для передачи файлов межд…
  6. Oct 7, 2026❓Какие реальные возможности у 1С:Расширенная корпоративная лицензия (1С:РКЛ) и как компани…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →