WP-CLI: jak zarządzać WordPressem z terminala (bez klikania w panelu)

WP-CLI – co to jest i jak zarządzać WordPressem z terminala

WP-CLI (WordPress Command Line Interface) to narzędzie do zarządzania WordPressem z terminala. Zamiast klikać w panelu wp-admin, wpisujesz komendy. Aktualizacja rdzenia, wtyczek i motywów, instalacja WordPressa od zera, eksport i import treści, zarządzanie użytkownikami, czyszczenie bazy, search-and-replace w treści. Wszystko jedną komendą, w sekundach. WP-CLI to standard w profesjonalnej administracji WordPressa: VPS, pipeline’y CI/CD, automatyzacja.

Instalacja

Na Ubuntu/Debian VPS:

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

# Sprawdzenie
wp --info

Na shared hostingu WP-CLI bywa preinstalowane (sprawdź w panelu albo przez SSH: wp --info). Na macOS: brew install wp-cli.

Najczęściej używane komendy

Aktualizacje.

# Rdzeń WordPressa
wp core update

# Wszystkie wtyczki
wp plugin update --all

# Wszystkie motywy
wp theme update --all

# Sprawdzenie dostępnych aktualizacji
wp core check-update
wp plugin list --update=available

Aktualizacja całego WordPressa idzie w 3 komendach zamiast 15 minut klikania. Na serwerze z dziesięcioma stronami WP skrypt bash z WP-CLI aktualizuje wszystkie w minutę.

Instalacja WordPressa od zera.

# Pobranie
wp core download --locale=pl_PL

# wp-config.php
wp config create --dbname=mojabaza --dbuser=root --dbpass=haslo

# Baza
wp db create

# Instalacja
wp core install --url="twojadomena.pl" --title="Moja strona" \
  --admin_user=admin --admin_password=MocneHaslo123! \
  --admin_email=admin@twojadomena.pl

Świeży WordPress chodzi w 30 sekund, bez klikania w instalatorze.

Wtyczki i motywy.

# Instalacja i aktywacja
wp plugin install wordpress-seo --activate

# Lista wtyczek
wp plugin list

# Wyłączenie
wp plugin deactivate akismet

# Usunięcie
wp plugin delete hello

# Aktywacja motywu
wp theme activate twentytwentyfour

Treść.

# Lista postów
wp post list --post_type=post --post_status=publish

# Nowy post
wp post create --post_title="Nowy artykuł" --post_status=publish

# Eksport (XML)
wp export

# Import (XML)
wp import dump.xml --authors=create

# Search and replace (np. zmiana domeny)
wp search-replace 'stara-domena.pl' 'nowa-domena.pl' --dry-run
wp search-replace 'stara-domena.pl' 'nowa-domena.pl'

Komenda search-replace z flagą --dry-run pokazuje, ile zamian zrobi, ale ich nie robi. To bezpieczny preview, którego sam zawsze używam, zanim ruszę live.

Baza danych.

# Backup
wp db export backup.sql

# Import
wp db import backup.sql

# Optymalizacja tabel
wp db optimize

# Usunięcie rewizji postów (odchudzanie bazy)
wp post delete $(wp post list --post_type=revision --format=ids) --force

# Wyczyszczenie transientów (cache w bazie)
wp transient delete --all

Użytkownicy.

# Lista
wp user list

# Nowy użytkownik
wp user create jan jan@firma.pl --role=editor --user_pass=HasloJana

# Zmiana hasła
wp user update 1 --user_pass=NoweHaslo123!

# Zmiana roli
wp user set-role jan administrator

WP-CLI w automatyzacji

Skrypt aktualizujący wszystkie strony WordPress na serwerze:

#!/bin/bash
# update-all-wp.sh

for dir in /var/www/*/; do
  if [ -f "$dir/wp-config.php" ]; then
    echo "Aktualizuję: $dir"
    wp core update --path="$dir"
    wp plugin update --all --path="$dir"
    wp theme update --all --path="$dir"
    echo "---"
  fi
done

Dorzucasz do crona 0 4 * * 0 /home/user/update-all-wp.sh i co niedzielę o 4 rano serwer aktualizuje wszystkie WP-y. Sam tego używam na maszynie, gdzie chodzi kilka stron.

Migracja domeny: wp search-replace 'http://stara.pl' 'https://nowa.pl' --all-tables zamienia URL w każdej tabeli bazy (posty, opcje, widgety, wtyczki). Znacznie pewniejsze niż grzebanie ręcznie w phpMyAdminie.

Najczęściej zadawane pytania

Czy WP-CLI jest bezpieczne

Tak. WP-CLI robi dokładnie to samo co panel wp-admin, tylko z terminala. Nie otwiera nowych portów, nie wymaga dostępu z internetu, działa lokalnie na serwerze. Jedyne realne ryzyko: błędna komenda (wp db reset kasuje całą bazę). Stąd dwie zasady: --dry-run przed operacjami masowymi i regularne backupy.

Czy WP-CLI działa na shared hostingu

Zależy od hostingu, bo potrzebujesz dostępu SSH. Wielu polskich hostingów (cyber_Folks, home.pl) oferuje SSH i preinstalowane WP-CLI. Sprawdzasz przez SSH: wp --info. Hosting bez SSH = WP-CLI nie zadziała, musisz zarządzać WordPressem przez panel.

WP-CLI vs panel wp-admin

Panel wp-admin: pisanie treści, zarządzanie mediami, wizualna konfiguracja motywu, czyli rzeczy, do których potrzebny jest GUI. WP-CLI: masowe operacje (aktualizacje, search-replace, eksport, import, zarządzanie użytkownikami), automatyzacja (skrypty, cron) i debugging (wp db query, wp cache flush). Profesjonalista korzysta z obu: panel do treści, CLI do administracji.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas