İçindekiler
WP-CLI, WordPress'in komut satırı aracıdır. Panelde tıklayarak yaptığınız işlerin neredeyse tamamını, hatta panelden yapamadığınız bazı işleri de terminalden yapmanızı sağlar. Birden fazla siteyle uğraşıyorsanız ya da panele erişemediğiniz bir anda müdahale etmeniz gerekiyorsa, hayat kurtarır.
Kurulum
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
mv wp-cli.phar /usr/local/bin/wp
Komutları sitenin kök dizininde (wp-config.php'nin bulunduğu yerde) ve sitenin dosya sahibi olan kullanıcıyla çalıştırın. Root ile çalıştırırsanız WP-CLI sizi uyarır, çünkü oluşan dosyalar root'a ait olur.
sudo -u kullanici -- wp core version
Güncellemeler
1. Neyin güncellenmesi gerektiğini görmek:
wp core check-update
wp plugin list --update=available
wp theme list --update=available
2. Hepsini güncellemek:
wp core update && wp core update-db
wp plugin update --all
wp theme update --all
wp language core update
Önce veritabanı yedeği almayı unutmayın (aşağıda).
3. Tek bir eklentiyi belirli bir sürüme döndürmek:
wp plugin install woocommerce --version=9.4.1 --force
Bir güncelleme siteyi bozduğunda hızlıca geri dönmenin en kolay yolu budur.
Veritabanı
4. Yedek almak ve geri yüklemek:
wp db export yedek-$(date +%F).sql
wp db import yedek-2026-10-28.sql
5. Alan adı değiştirmek (arama-değiştir):
wp search-replace 'http://eski.com' 'https://yeni.com' --all-tables --precise --dry-run
Önce --dry-run ile kaç satırın değişeceğine bakın, sonra parametreyi kaldırıp gerçekten çalıştırın. WordPress bazı verileri PHP'nin serileştirilmiş biçiminde saklar. Bu yüzden veritabanında düz SQL REPLACE kullanmak bu verileri bozar. WP-CLI ise serileştirilmiş veriyi doğru şekilde günceller.
6. Doğrudan sorgu çalıştırmak:
wp db query "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'"
Kullanıcılar
7. Şifre sıfırlamak (site e-posta gönderemiyorsa paha biçilmez):
wp user update admin --user_pass='YeniGucluSifre!2026'
Bu komutun shell geçmişinde kalacağını unutmayın. Ardından history -d ile o satırı silin ya da kullanıcıdan şifreyi hemen değiştirmesini isteyin.
8. Yeni yönetici eklemek:
wp user create destek destek@ornek.com --role=administrator
9. Tüm yöneticileri listelemek (ele geçirilmiş sitelerde ilk bakılacak yer):
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
Bakım ve sorun giderme
10. Eklentileri panele girmeden kapatmak:
wp plugin deactivate sorunlu-eklenti
wp plugin deactivate --all
11. Çekirdek dosyalarının bütünlüğünü kontrol etmek:
wp core verify-checksums
wp plugin verify-checksums --all
Bu komutlar, dosyaları WordPress.org'daki orijinal sürümlerle karşılaştırır. Değiştirilmiş ya da fazladan eklenmiş bir dosya, zararlı kodun en net işaretidir.
12. Önbellek ve transient temizliği:
wp cache flush
wp transient delete --expired
13. Kalıcı bağlantıları yenilemek:
wp rewrite flush
14. Bakım modu:
wp maintenance-mode activate
wp maintenance-mode deactivate
Otomasyon
15. Birden fazla siteyi tek seferde güncellemek:
for d in /home/*/public_html; do
[ -f "$d/wp-config.php" ] || continue
u=$(stat -c %U "$d")
echo "== $d ($u)"
sudo -u "$u" -- wp --path="$d" plugin update --all --quiet
done
Bu döngü her siteyi kendi kullanıcısıyla günceller ve hangi sitede olduğunu ekrana yazar.
Kendi takma adlarınız
Sık bağlandığınız sunucular için ~/.wp-cli/config.yml dosyasına takma ad ekleyebilirsiniz:
@canli:
ssh: kullanici@sunucu:35000/home/kullanici/public_html
Ardından kendi bilgisayarınızdan wp @canli plugin list yazmanız yeterli olur.
WP-CLI'yi öğrenmek bir öğleden sonranızı alır. Karşılığında her ay saatler kazanırsınız.
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.