format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightWP-CLI Nedir ve Neden Kullanılmalı?
- arrow_rightWP-CLI Kurulumu
- arrow_rightLinux ve macOS Üzerinde Kurulum
- arrow_rightWindows Üzerinde Kurulum
- arrow_rightSunucu Gereksinimleri
- arrow_rightWP-CLI Temel Komutları
- arrow_rightSite Bilgileri ve Durum Kontrolü
- arrow_rightEklenti Yönetimi
- arrow_rightTema Yönetimi
- arrow_rightVeritabanı İşlemleri
- arrow_rightWP-CLI ile İçerik Yönetimi
- arrow_rightYazı ve Sayfa İşlemleri
- arrow_rightKullanıcı Yönetimi
- arrow_rightMedya Yönetimi
- arrow_rightWP-CLI ile Güncelleme ve Bakım
- arrow_rightWordPress Çekirdeğini Güncelleme
- arrow_rightToplu Güncelleme İşlemleri
- arrow_rightWP-CLI Yapılandırma ve İleri Düzey Kullanım
- arrow_rightwp-config.php Yönetimi
- arrow_rightCron İşleri Yönetimi
- arrow_rightÖzel WP-CLI Komutları Oluşturma
- arrow_rightWP-CLI vs Yönetim Paneli Karşılaştırması
- arrow_rightWP-CLI Güvenlik Önlemleri
- arrow_rightSSH Anahtar Kimlik Doğrulaması
- arrow_rightİzin Yönetimi
- arrow_rightErişim Kısıtlama
- arrow_rightWP-CLI ile Otomasyon Örnekleri
- arrow_rightSite Yedekleme Scripti
- arrow_rightOtomatik Güncelleme Cron
- arrow_rightToplu İçerik İçe Aktarma
- arrow_rightWP-CLI Sık Karşılaşılan Hatalar ve Çözümler
- arrow_right"Command not found" Hatası
- arrow_rightPHP Sürüm Uyumsuzluğu
- arrow_rightBellek Hatası
- arrow_rightİzin Hataları
- arrow_rightSonuç ve Öneriler
WP-CLI Nedir ve Neden Kullanılmalı?
WP-CLI, WordPress sitelerini komut satırından yönetmenizi sağlayan ücretsiz ve açık kaynaklı bir araçtır. Bu güçlü arayüz sayesinde eklenti yükleme, tema güncelleme, veritabanı optimizasyonu ve daha birçok işlemi tarayıcıya gerek kalmadan gerçekleştirebilirsiniz. WordPress topluluğunun en değerli geliştirici araçlarından biri olan WP-CLI, site yönetimini %80'e varan sürelerde kısaltabilir.
Sunucu yönetimi ve web sitesi optimizasyonu konularında uzmanlaşmak isteyen geliştiriciler için WordPress güvenlik ayarları da kritik öneme sahiptir.
WP-CLI Kurulumu
Linux ve macOS Üzerinde Kurulum
WP-CLI'yı Linux veya macOS sistemlerde kurmak için aşağıdaki komutları sırasıyla çalıştırın:
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
wp --info
Kurulumun başarılı olduğunu doğrulamak için wp --info komutunu çalıştırın. Bu komut WP-CLI sürümünü ve sistem bilgilerini görüntüleyecektir.
Windows Üzerinde Kurulum
Windows kullanıcıları için en kolay yöntem Composer ile kurulumdur:
composer global require wp-cli/wp-cli
Kurulumdan sonra PATH ortam değişkenine Composer vendor bin klasörünü eklemeyi unutmayın.
Sunucu Gereksinimleri
- PHP 5.6 veya üzeri sürüm
- WordPress 3.7 veya üzeri sürüm
- SSH erişimi olan bir hosting hesabı veya VPS
WP-CLI Temel Komutları
Site Bilgileri ve Durum Kontrolü
WordPress sitenizin temel bilgilerini görüntülemek için aşağıdaki komutları kullanabilirsiniz:
# Site bilgilerini görüntüle
wp core version
wp core check-update
# Site durumunu kontrol et
wp site status
# URL bilgilerini göster
wp option get siteurl
wp option get blogname
Bu komutlar, sitenizin güncel olup olmadığını ve temel yapılandırma ayarlarını hızlıca kontrol etmenizi sağlar.
Eklenti Yönetimi
WP-CLI'nın en güçlü özelliklerinden biri eklenti yönetimidir. Aşağıdaki komutlarla eklentileri kolayca yönetebilirsiniz:
# Eklenti listesini görüntüle
wp plugin list
# Yeni eklenti yükle
wp plugin install woocommerce --activate
# Eklentiyi güncelle
wp plugin update all
# Eklentiyi sil
wp plugin delete hello-dolly
# Eklentiyi devre dışı bırak
wp plugin deactivate hello-dolly
Eklenti yönetimi konusunda daha fazla bilgi için headless CMS mimarisi makalemizi de inceleyebilirsiniz.
Tema Yönetimi
# Tema listesini görüntüle
wp theme list
# Temayı yükle ve aktive et
wp theme install twenty-twenty-four --activate
# Temayı güncelle
wp theme update twenty-twenty-four
# Temayı sil
wp theme delete twenty-twenty-three
Veritabanı İşlemleri
WordPress veritabanı yönetimi WP-CLI ile son derece kolaylaşır:
# Veritabanını dışa aktar
wp db export backup.sql
# Veritabanını içe aktar
wp db import backup.sql
# Veritabanını optimize et
wp db optimize
# Veritabanı onarımı
wp db repair
# SQL sorgusu çalıştır
wp db query "SELECT * FROM wp_options"
Veritabanı performansı için Redis ve Memcached kullanımını da göz önünde bulundurmalısınız.
WP-CLI ile İçerik Yönetimi
Yazı ve Sayfa İşlemleri
# Yazı listesini görüntüle
wp post list
# Yeni yazı oluştur
wp post create --post_type=post --post_title="Yeni Yazı" --post_status=publish
# Yazıyı güncelle
wp post update 123 --post_title="Güncellenmiş Başlık"
# Yazıyı sil
wp post delete 123
# Sayfa oluştur
wp post create --post_type=page --post_title="Hakkımızda" --post_status=publish
Kullanıcı Yönetimi
# Kullanıcı listesi
wp user list
# Yeni kullanıcı oluştur
wp user create john [email protected] --role=author --user_pass=password123
# Kullanıcı parolasını sıfırla
wp user update john --user_pass=yeni-sifre
# Kullanıcıyı sil
wp user delete john --reassign=admin
Medya Yönetimi
# Medya kütüphanesini listele
wp media list
# Görsel yeniden oluştur (thumbnail)
wp media regenerate
# Eksik görsel boyutlarını düzelt
wp media regenerate --yes
WP-CLI ile Güncelleme ve Bakım
WordPress Çekirdeğini Güncelleme
# Güncel WordPress sürümünü kontrol et
wp core check-update
# WordPress'i güncelle
wp core update
# Belirli bir sürüme güncelle
wp core update --version=6.4.3 --force
Toplu Güncelleme İşlemleri
# Tüm eklentileri güncelle
wp plugin update --all
# Tüm temaları güncelle
wp theme update --all
# Tüm çevirileri güncelle
wp language core update
Düzenli güncellemeler güvenlik açısından kritik öneme sahiptir. Sunucu güvenliği için Fail2Ban kurulumu da önerilir.
WP-CLI ile Search Replace (Veritabanı Taşıma)
WordPress site taşıma işlemlerinde en kritik adımlardan biri veritabanındaki URL'leri güncellemektir:
# URL değiştirme
wp search-replace 'http://eski-site.com' 'https://yeni-site.com'
# Yalnızca preview yapma (değişiklik yapmadan)
wp search-replace 'http://eski-site.com' 'https://yeni-site.com' --dry-run
# Belirli tablolarda değiştirme
wp search-replace 'eski' 'yeni' --tables=wp_posts,wp_postmeta
WP-CLI Yapılandırma ve İleri Düzey Kullanım
wp-config.php Yönetimi
# Tüm yapılandırma değerlerini göster
wp config list
# Yeni yapılandırma değeri ekle
wp config set WP_DEBUG true --type=constant
# Yapılandırma değerini güncelle
wp config set WP_MEMORY_LIMIT '256M'
Cron İşleri Yönetimi
# Cron olaylarını listele
wp cron event list
# Cron zamanlaması oluştur
wp cron schedule add twicedaily "İki Günlük" daily
# Cron olayı oluştur
wp cron event schedule my_custom_event "tomorrow 5am"
Özel WP-CLI Komutları Oluşturma
Kendi özel komutlarınızı oluşturmak için aşağıdaki yapıyı kullanabilirsiniz:
class Example_Command extends WP_CLI_Command {
function __invoke( $args, $assoc_args ) {
WP_CLI::success( "Özel komut çalıştırıldı!" );
}
}
WP_CLI::add_command( 'example', 'Example_Command' );
WP-CLI vs Yönetim Paneli Karşılaştırması
| Özellik | WP-CLI | Yönetim Paneli |
|---|---|---|
| İşlem Hızı | Çok Hızlı (saniyeler) | Yavaş (dakikalar) |
| Toplu İşlem | Mükemmel | Sınırlı |
| Otomasyon | Destekler | Sınırlı |
| Öğrenme Eğrisi | Orta | Düşük |
| Uzaktan Erişim | SSH ile | Tarayıcı ile |
| Hata Yönetimi | Detaylı log | Grafik hata gösterimi |
WP-CLI Güvenlik Önlemleri
SSH Anahtar Kimlik Doğrulaması
WP-CLI kullanırken parola yerine SSH anahtarı kullanmanız güvenliği önemli ölçüde artırır. SSH portunuzu değiştirmek için SSH port değiştirme rehberimize göz atabilirsiniz.
İzin Yönetimi
# Dosya izinlerini düzelt
wp core install --skip-check
# Güvenli dosya izinleri
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;
Erişim Kısıtlama
- WP-CLI'yı yalnızca gerekli kullanıcılara izin verin
- İki faktörlü kimlik doğrulama kullanın
- Düzenli olarak sunucu güvenlik duvarı kurallarını gözden geçirin
- SSH bağlantılarını sınırlandırın
WP-CLI ile Otomasyon Örnekleri
Site Yedekleme Scripti
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
SITE="mysite.com"
BACKUP_DIR="/backups"
# Veritabanı yedekle
wp db export $BACKUP_DIR/${SITE}_db_$DATE.sql
# Dosyaları sıkıştır
tar -czf $BACKUP_DIR/${SITE}_files_$DATE.tar.gz /var/www/html/
echo "Yedekleme tamamlandı: $DATE"
Otomatik Güncelleme Cron
# Günlük otomatik güncelleme 0 3 * * * cd /var/www/html && wp plugin update --all --allow-root 2>> /var/log/wp-updates.logToplu İçerik İçe Aktarma
# WordPress Importer eklentisini yükle wp plugin install wordpress-importer --activate # XML içe aktar wp import upload/file.xml --authors=createWP-CLI Sık Karşılaşılan Hatalar ve Çözümler
"Command not found" Hatası
Bu hata genellikle WP-CLI'nın PATH değişkenine eklenmediğini gösterir. Çözüm için:
# wp komutunun tam yolunu kullanın /usr/local/bin/wp --info # veya PATH'e ekleyin export PATH="$PATH:/usr/local/bin"PHP Sürüm Uyumsuzluğu
# PHP sürümünü kontrol edin php -v wp --info # Farklı PHP sürümü kullanmak için /usr/bin/php8.1 /usr/local/bin/wp --infoBellek Hatası
Büyük veritabanı işlemlerinde bellek hatası alırsanız:
# Bellek limitini artırarak çalıştırın wp --memory-limit=512M db export backup.sqlİzin Hataları
Dosya ve klasör izinleriyle ilgili sorunlar yaşıyorsanız:
# Sahipliği düzeltin chown -R www-data:www-data /var/www/html # İzinleri düzeltin chmod -R 755 /var/www/html chmod -R 644 /var/www/html/wp-config.phpLinux sunucularda bellek sızıntılarını tespit etmek için bu rehberi inceleyebilirsiniz.
Sonuç ve Öneriler
WP-CLI, WordPress site yönetimini dönüştüren güçlü bir araçtır. Komut satırı deneyimi olan geliştiriciler için vazgeçilmez olan bu araç, tekrarlayan işlemleri otomatikleştirir, büyük ölçekli site yönetimini kolay