WP-CLI je command-line interface za WordPress. Sve što bi inače radio kroz WP admin (mijenjao postavke, ažurirao plugin, brisao spam komentare, exporto bazu) možeš napravit u sekundi iz SSH-a. Za jedan sajt to je luksuz; za 5+ sajtova to je razlika između "radim ovo cijeli dan" i "riješio sam u ručku".
Ovaj vodič pokriva: kako instalirati WP-CLI na cPanelu, kako ga koristiti bez root pristupa, i 20 komandi koje će ti odmah uštedjet vrijeme.
Trebaš li uopće WP-CLI?
Reach for it ako se barem jedna od ovih situacija ponavlja:
- Trebaš ažurirat pluginove na više sajtova istovremeno (npr. 10 klijentskih sajtova).
- Admin panel je prespor (preopterećen, stari hardver) ili nedostupan (krivi password, baza pad).
- Trebaš napravit nešto što WP admin ne dozvoljava lako: masovno ažurirat URL-ove, izbrisat 50.000 spam komentara, regenerirat thumbnails, isfiltirat user role-ove.
- Radiš deployment automatizaciju (CI/CD, staging-to-prod push).
- Backup/restore radiš iz skripte koju cron poziva.
Instalacija WP-CLI na cPanelu (bez root pristupa)
Na WMD hostingu WP-CLI je tipično već dostupan, ali ako nije, ili koristiš drugog providera koji ga ne nudi, instalacija u tvojoj cPanel useraccount traje 30 sekundi.
Korak 1 — pristupi SSH-u. U cPanelu otvori SSH Access, generiraj ključ, downloadaj private key, spoji se:
ssh -i ~/.ssh/wmd_key korisnik@server.wmd.hr -p 22
Korak 2 — downloadaj wp-cli.phar:
cd ~
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Korak 3 — provjeri da radi:
php wp-cli.phar --info
Trebaš vidjeti PHP verziju, WP-CLI verziju, i path informacije.
Korak 4 — premjesti u svoj ~/bin i kreiraj alias:
mkdir -p ~/bin
mv wp-cli.phar ~/bin/wp
chmod +x ~/bin/wp
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
Sad možeš kuca samo wp umjesto php wp-cli.phar.
Prvi korak — pozicija
Sve WP-CLI komande izvršavaju se u root direktoriju WP instalacije (gdje je wp-config.php). Tipičan path na cPanelu:
cd ~/public_html
# ili za addon domain:
cd ~/sajt2.hr/public_html
Provjeri da radi:
wp core version
Trebaš dobiti broj verzije WP-a (npr. 6.7.1).
20 komandi koje stvarno koristiš
Core, pluginovi, teme
wp core check-update— ima li WP core updatewp core update— ažuriraj WP corewp plugin list— popis svih plugina sa statusima i verzijamawp plugin update --all— ažuriraj sve pluginove odjednomwp plugin deactivate plugin-slug— deaktiviraj specifičan plugin (korisno kad nemaš pristup adminu jer ga je on slomio)wp theme list— popis temawp theme activate twentytwentyfour— prebaci na default temu (kad custom tema ruši sajt)
Korisnici
wp user list— popis svih userawp user update 1 --user_pass=NoviPass123— promijeni password admina (ID 1) kad si zaboraviowp user create novi novi@email.hr --role=administrator --user_pass=Pass— kreiraj novi admin
Baza
wp db export backup.sql— exportaj cijelu bazu u SQL filewp db import backup.sql— importaj backup (oprez: prebriše trenutnu bazu)wp db query "SELECT COUNT(*) FROM wp_comments WHERE comment_approved='spam'"— broj spam komentarawp comment delete $(wp comment list --status=spam --field=ID) --force— izbriši sve spam komentarewp search-replace 'http://staro.hr' 'https://novo.hr' --skip-columns=guid— masovno zamijeni URL-ove (npr. nakon migracije)
Cache i postavke
wp cache flush— očisti object cache (Redis/Memcached)wp transient delete --all— očisti sve transient cache (često rješava "why won't WP update")wp option get siteurl— provjeri trenutni siteurlwp option update home 'https://novo.hr'— promijeni home URL
Bonus — regeneracija medija
wp media regenerate --yes— regeneriraj sve thumbnail-ove (npr. nakon promjene teme koja zahtijeva nove dimenzije)
WP-CLI za više sajtova istovremeno
Ako vodiš više sajtova u istom cPanel accountu, jednostavna bash skripta ažurira sve odjednom:
#!/bin/bash
for site in ~/public_html ~/sajt2.hr/public_html ~/sajt3.hr/public_html; do
echo "=== Updating $site ==="
cd "$site"
wp core update
wp plugin update --all
wp theme update --all
done
Spremi kao ~/bin/update-all.sh, chmod +x ~/bin/update-all.sh, dodaj u cron za noćno automatsko ažuriranje (s prethodnim backupom!).
WP-CLI + cron za automatske rutine
U cPanel Cron Jobs:
# Svaku noć u 3:00, backup i ažuriraj pluginove
0 3 * * * cd ~/public_html && /home/user/bin/wp db export ~/backups/$(date +\%F).sql && /home/user/bin/wp plugin update --all
Oprez: cron path ne nasljeđuje tvoje ~/.bashrc aliase. Koristi pun path /home/user/bin/wp u cron jobu.
Sigurnost — što paziti
- WP-CLI ima full pristup bazi. Tko god ima SSH pristup tvom cPanel useru može sve. Nemoj dijeliti SSH ključ.
- Backup uvijek prije masovnog update-a.
wp db exporttraje 5 sekundi, pluginovi mogu razbit sajt na sat. - Testiraj na staging-u prije production-a. WP-CLI komande nemaju "undo".
- Ne stavljaj passwordove u cron jobove. Ako trebaš automatizirati user creation, koristi
--promptili read iz secrets file-a.
WP-CLI alternative kad nemaš SSH
Ako shared hosting ne nudi SSH (rijetko, ali događa se), postoje GUI wrapperi:
- WP-CLI iz cPanela Terminal — neki cPanel buildovi imaju ugrađen Terminal module koji daje shell pristup kroz browser. Provjeri kroz cPanel search.
- WP-CLI bash app — WP plugin koji daje subset WP-CLI komandi kroz WP admin.
Ali pravi WP-CLI iz prave SSH sesije je daleko najbrži workflow.
Najčešća pitanja
Mogu li koristit WP-CLI na multisite WP-u?
Da. Svaka komanda može uzeti --url=sajt2.tvoj.hr ili --network flag za network-wide operacije.
Ima li WP-CLI WordPress.com / managed plan limitacije?
Da, mnogi managed providajeri ograničavaju WP-CLI komande iz sigurnosnih razloga. WMD daje full WP-CLI bez ograničenja na svom hostingu.
Što ako mi WP-CLI komande izbacuju "PHP Fatal error"?
Tipično: WP-CLI koristi system PHP verziju, a tvoj sajt drugi PHP koji je odabran u cPanelu. Pokreni wp --info i provjeri "PHP binary" — možda trebaš override-at: /opt/cpanel/ea-php83/root/usr/bin/php ~/bin/wp ...
Mogu li dobiti pomoć od WMD podrške za WP-CLI komande?
Naravno. Ako želiš automatizaciju za svoje sajtove ali se ne usuđuješ pisati skripte sam, javi nam — postavljamo cron jobove i WP-CLI rutine kao dio managed paketa.