WordPressYazılım

WP-CLI Nedir? Komut Satırından WordPress Yönetimi 2026

WP-CLI nedir? WP-CLI (WordPress Command Line Interface), WordPress sitenizi tarayıcıya hiç girmeden, doğrudan terminal üzerinden yönetmenizi sağlayan resmi komut satırı aracıdır. Eklenti kurmak, kullanıcı oluşturmak, veritabanında arama-değiştirme yapmak, önbelleği temizlemek veya WordPress çekirdeğini güncellemek gibi onlarca işlemi, panoda tıklama yapmadan tek satırlık komutlarla gerçekleştirebilirsiniz. 2026 itibarıyla WP-CLI, özellikle çok sayıda siteyi yöneten ajanslar, geliştiriciler ve DevOps ekipleri için WordPress yönetiminin standart bir parçası haline geldi.

WP-CLI Nedir, Nasıl Ortaya Çıktı?

WP-CLI, WordPress topluluğunun sürdürdüğü açık kaynaklı bir araçtır. Sunucuda kullanılabilmesi için komut satırı erişimi ve uygun PHP ortamı gerekir. Barındırma paketlerinde ön kurulum ve SSH yetkisi değişir; önce sağlayıcınızın panelinden veya destek ekibinden doğrulayın.

WP-CLI’nin çalışma mantığı, WordPress’i tam olarak yükleyip (bootstrap) ardından komut satırından verdiğiniz talimatı doğrudan çekirdek fonksiyonlara iletmek üzerine kurulu. Bu sayede bir eklenti kurduğunuzda, WP-CLI aslında panoda “Kur” düğmesine tıkladığınızda tetiklenen aynı fonksiyonları çağırıyor; fark, bu işlemin bir tarayıcı arayüzü ve HTTP isteği beklemeden, doğrudan sunucu üzerinde gerçekleşmesi. Bu mimari, WP-CLI’yi hem güvenilir hem de hızlı kılan temel neden.

WP-CLI’nin WordPress Ekosistemindeki Yeri

WP-CLI, 2011 yılında bağımsız bir proje olarak başladı ve zamanla WordPress çekirdek ekibinin resmi olarak desteklediği bir alt projeye dönüştü. Günümüzde make.wordpress.org üzerindeki WP-CLI ekibi, her yeni WordPress sürümüyle uyumluluğu sağlamak için çekirdek geliştirme sürecine doğrudan dahil oluyor. Bu da WP-CLI’yi, üçüncü taraf bir araçtan çok, WordPress’in resmi bir uzantısı olarak konumlandırıyor.

WP-CLI Neden Kullanılır? Başlıca Avantajları

WP-CLI’nin yönetim panosuna kıyasla sunduğu en büyük avantaj hız ve otomasyon kabiliyeti. Yüzlerce yazıyı toplu güncellemek, on eklentiyi aynı anda güncellemek veya bir veritabanı yedeği almak, panoda tek tek tıklayarak dakikalar sürebilecek işlemleri saniyeler içinde tamamlayabiliyor. Ayrıca WP-CLI komutları bash betiklerine, cron görevlerine veya CI/CD işlem hatlarına kolayca gömülebildiği için, tekrarlayan bakım işlerini tamamen otomatikleştirmek mümkün hale geliyor.

Bir diğer önemli avantaj, yönetim paneli çökmüş veya beyaz ekran (white screen of death) hatası veren bir sitede dahi WP-CLI’nin çoğu zaman çalışmaya devam etmesi. Bu sayede sorunlu bir eklentiyi devre dışı bırakmak veya hata ayıklama modunu açmak için panoya giriş yapmanıza gerek kalmıyor; bu konu WordPress hata çözümleri rehberinde de ayrıntılı olarak ele alınıyor.

WP-CLI Nasıl Kurulur? Adım Adım

Gereksinimler

  • SSH erişimi olan bir hosting hesabı (paylaşımlı hostinglerin çoğu da SSH sunuyor; sağlayıcınıza sorun).
  • PHP 7.2 veya üzeri (2026 itibarıyla güncel hostinglerde PHP 8.x standart).
  • WordPress kurulumunuzun dosya yoluna erişim.

Kurulum Adımları (Linux/Unix Tabanlı Hosting)

  1. SSH ile sunucunuza bağlanın.
  2. WP-CLI’nin PHP arşivini (phar dosyasını) indirin.
  3. Dosyayı çalıştırılabilir yapın ve sistem genelinde erişilebilir bir konuma taşıyın.
  4. Kurulumu wp --info komutuyla doğrulayın.
# 1) WP-CLI phar dosyasini indir
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

# 2) Calisabilir oldugunu test et
php wp-cli.phar --info

# 3) Calistirma iznini ver ve global olarak "wp" komutuna tasi
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# 4) Kurulumu dogrula
wp --info

Birçok yönetilen WordPress hosting sağlayıcısında (Kinsta, WP Engine, Cloudways gibi) WP-CLI zaten kurulu geliyor; bu durumda yukarıdaki kurulum adımlarını atlayıp doğrudan wp komutunu kullanabilirsiniz. Paylaşımlı hostinglerde ise bazı sağlayıcılar WP-CLI’yi cPanel üzerinden “Terminal” özelliğiyle sunuyor.

Sık Kullanılan WP-CLI Komutları

Aşağıdaki komutlar, günlük WordPress yönetiminde en sık ihtiyaç duyulan işlemleri kapsıyor. Her komut, WordPress kurulum dizininde (wp-config.php dosyasının bulunduğu klasörde) çalıştırılmalı.

# WordPress cekirdegini guncelle
wp core update

# Tum eklentileri listele ve guncel olmayanlari goster
wp plugin list --update=available

# Tum eklentileri guncelle
wp plugin update --all

# Yeni bir yonetici kullanicisi olustur
wp user create yeniyonetici admin@site.com --role=administrator --user_pass=GucluBirSifre123

# Veritabaninda metin ara ve degistir (ornek: domain tasima)
wp search-replace 'https://eskisite.com' 'https://bilimmeraklisi.com' --all-tables

# Veritabani yedegi al
wp db export yedek-$(date +%F).sql

# Nesne onbellegini temizle
wp cache flush

# Bekleyen WP-Cron gorevlerini listele
wp cron event list

Son komut, sitenizde biriken ve gecikmiş cron görevlerini görmenizi sağlıyor; bu konuyu daha derinlemesine incelemek isteyenler WP-Cron Nedir? rehberine göz atabilir.

WP-CLI ile Otomasyon: Bash Betiği Örneği

WP-CLI’nin en güçlü kullanım alanlarından biri, birden fazla komutu bir araya getirip cron ile otomatik çalıştırmak. Aşağıdaki örnek, günlük yedekleme ve güncelleme kontrolünü otomatikleştiren basit bir bash betiği gösteriyor.

#!/bin/bash
# gunluk-bakim.sh - WP-CLI ile otomatik bakim betigi

cd /var/www/bilimmeraklisi || exit 1

echo "Yedek aliniyor..."
wp db export /var/backups/yedek-$(date +%F).sql

echo "Eklenti guncellemeleri kontrol ediliyor..."
wp plugin update --all --dry-run > /var/log/wp-eklenti-kontrol.log

echo "Onbellek temizleniyor..."
wp cache flush

echo "Bakim tamamlandi: $(date)"

Bu betik, sunucunuzun crontab’ına (örneğin 0 3 * * * /bin/bash /home/kullanici/gunluk-bakim.sh satırıyla) eklenerek her gece saat 03:00’te otomatik çalışacak şekilde ayarlanabilir. --dry-run parametresi, eklentileri gerçekten güncellemeden önce hangi güncellemelerin mevcut olduğunu görmenizi sağlıyor; üretim ortamında güncellemeleri otomatik değil, kontrollü biçimde uygulamak isteyen ekipler için önerilen bir yaklaşım bu.

WP-CLI Paketleri (Packages) ile Yetenekleri Genişletme

WP-CLI’nin yerleşik komutları temel ihtiyaçları karşılasa da, topluluk tarafından geliştirilen “packages” (paketler) ile aracın yeteneklerini önemli ölçüde genişletmek mümkün. Örneğin wp-cli/doctor-command paketi sitenizin yapılandırmasını tarayıp yaygın sorunları (yanlış dosya izinleri, eksik PHP eklentileri, önbellek yapılandırma hataları) tespit ediyor; wp-cli/dist-archive-command paketi ise bir eklenti veya temanın dağıtım için sıkıştırılmış bir arşivini oluşturuyor. Paket kurmak, tek bir komut kadar basit:

# Topluluk paketini kur
wp package install wp-cli/doctor-command

# Kurulu paketleri listele
wp package list

# Doctor paketiyle site saglik taramasi yap
wp doctor check --all

Bu paket sistemi, WP-CLI’yi sabit bir araç setinden çok, ihtiyaca göre büyüyebilen esnek bir platforma dönüştürüyor. Ajansların kendi iç paketlerini yazıp birden fazla müşteri sitesinde aynı bakım rutinini standartlaştırması da yaygın bir kullanım örneği.

Multisite Ağlarında WP-CLI Kullanımı

Birden fazla alt siteyi tek bir WordPress kurulumunda barındıran multisite ağlarında, panodan tek tek her siteye girip işlem yapmak oldukça yorucu olabiliyor. WP-CLI, --url parametresi sayesinde ağdaki herhangi bir alt siteyi hedefleyerek işlem yapmanıza, wp site list ile tüm ağı listelemenize ve bir komutu tüm ağ genelinde tek seferde çalıştırmanıza olanak tanıyor:

# Agdaki tum siteleri listele
wp site list

# Belirli bir alt siteyi hedefleyerek eklenti etkinlestir
wp plugin activate woocommerce --url=magaza.bilimmeraklisi.com

# Tum ag genelinde bir eklentiyi etkinlestir
wp plugin activate-network woocommerce

Düzinelerce alt siteye sahip bir ajans veya kurum için bu tek komutlar, saatler sürebilecek manuel işlemleri saniyeler içinde tamamlıyor.

WP-CLI ile CI/CD Entegrasyonu

Modern WordPress geliştirme iş akışlarında, kod değişiklikleri genellikle bir sürüm kontrol sistemine (Git) gönderilip otomatik bir dağıtım hattı (pipeline) üzerinden canlı sunucuya aktarılıyor. WP-CLI, bu hattın test ve dağıtım aşamalarında kritik bir rol oynuyor. Örneğin bir GitHub Actions veya GitLab CI betiği, dağıtımdan sonra şu adımları otomatik çalıştırabilir: WordPress çekirdek sürümünü doğrulama, veritabanı taşıma (migration) komutlarını çalıştırma, önbelleği temizleme ve site sağlığını kontrol etme. Bu entegrasyon, insan hatasını azaltırken dağıtım sürecini de standartlaştırıyor; özellikle birden fazla ortamda (staging, production) çalışan ekipler için WP-CLI, ortamlar arası tutarlılığı sağlamanın pratik bir yolu haline geliyor.

WP-CLI ile Panel Tabanlı Yönetim Karşılaştırması

Kriter WP-CLI (Komut Satırı) Yönetim Paneli (wp-admin)
Toplu işlem hızı Çok hızlı, tek komutla yüzlerce öğe Yavaş, tek tek tıklama gerekir
Otomasyon/Cron entegrasyonu Doğrudan destekler Eklenti gerektirir, sınırlı
Panel çökmesi durumunda çalışma Genellikle çalışmaya devam eder Panele erişilemezse kullanılamaz
Öğrenme eğrisi Terminal ve komut bilgisi gerekir Görsel arayüz, daha kolay başlangıç
Çoklu site yönetimi Betiklerle ölçeklenebilir Her site için ayrı giriş gerekir

Güvenlik ve En İyi Pratikler

WP-CLI, sunucunuzda doğrudan veritabanı ve dosya sistemi üzerinde çalıştığı için paneldeki yetki kontrollerinin çoğunu atlayabiliyor; bu da onu güçlü ama dikkatli kullanılması gereken bir araç yapıyor. SSH erişimini güçlü kimlik doğrulama (tercihen anahtar tabanlı giriş) ile koruyun, WP-CLI’yi asla root kullanıcısıyla çalıştırmayın ve özellikle wp search-replace veya wp db gibi veritabanını doğrudan etkileyen komutlardan önce her zaman güncel bir yedek alın. Üretim ortamında komutları doğrudan çalıştırmadan önce --dry-run parametresi destekleyen komutlarda bu parametreyi kullanarak etkiyi önceden görmek, geri alınamaz hatalardan korunmanın en basit yolu.

Ayrıca WP-CLI’yi otomasyon betiklerinde kullanırken, veritabanı kimlik bilgilerinizin ve API anahtarlarınızın betik dosyalarının içine gömülü, düz metin olarak yazılmaması gerekiyor. Bunun yerine ortam değişkenleri (environment variables) veya sunucu düzeyinde korunan yapılandırma dosyaları kullanmak, bu bilgilerin yanlışlıkla bir Git deposuna sızmasını önlüyor. Cron ile çalışan WP-CLI betiklerinde ayrıca betiğin çalıştığı kullanıcının yalnızca gerekli dizinlere yazma izni olmasını sağlamak, olası bir güvenlik açığının etkisini sınırlı tutmanın önemli bir parçası.

Performans İpuçları

Büyük veritabanlarında wp search-replace gibi komutlar uzun sürebilir ve sunucu kaynaklarını yoğun biçimde kullanabilir. Bu tür işlemleri, sitenizin trafiğinin en düşük olduğu saatlerde çalıştırmak, kullanıcı deneyimine olan etkiyi azaltır. Benzer şekilde, wp cron event run --due-now komutuyla bekleyen cron görevlerini manuel tetiklemek, gerçek sunucu cron’u kullanılan sitelerde wp-cron.php dosyasının her sayfa yüklemesinde tetiklenmesini önleyerek performans kazancı sağlayabiliyor; bu konudaki ayrıntılı kurulum adımları WP-Cron rehberinde ele alınıyor. Son olarak, WP-CLI komutlarını --quiet parametresiyle çalıştırmak, özellikle otomasyon betiklerinde gereksiz çıktı üretimini azaltarak log dosyalarını daha okunabilir tutar.

Örnek Senaryo: 40 Siteyi Yöneten Bir Ajans

Konuyu somutlaştırmak için 40 müşteri sitesini yöneten orta ölçekli bir web ajansını ele alalım. WP-CLI öncesinde ekip, her Pazartesi sabahı her siteye tek tek giriş yaparak eklenti güncellemelerini kontrol ediyor, gerekirse yedek alıyor ve önbelleği temizliyordu; bu rutin, iki kişilik bir ekip için yaklaşık yarım günü buluyordu. WP-CLI’ye geçtikten sonra ekip, tüm siteleri tarayan ve her biri için güncelleme durumunu, yedek durumunu ve temel sağlık kontrolünü bir rapor dosyasına yazan tek bir bash betiği hazırladı. Betik, sunucudaki her site dizinine sırayla giriyor, wp plugin list --update=available ile güncelleme bekleyenleri topluyor, wp doctor check --all ile temel sorunları tarıyor ve sonuçları e-posta ile ekibe iletiyor.

Sonuç olarak, yarım günlük manuel rutin yaklaşık 15 dakikalık bir otomatik tarama sürecine indi; ekip artık sadece raporda işaretlenen sorunlu siteler üzerinde manuel olarak çalışıyor. Bu örnek, WP-CLI’nin asıl değerinin tek bir komutta değil, komutların bir araya getirilip tekrarlayan iş yüklerini ortadan kaldıracak şekilde birleştirilmesinde olduğunu gösteriyor.

Kurulum ve Kullanım Öncesi Kontrol Listesi

  • SSH erişiminizin ve PHP CLI sürümünüzün WP-CLI ile uyumlu olduğunu doğrulayın (wp --info).
  • Veritabanını etkileyen her komuttan önce güncel bir yedek alın.
  • Toplu güncelleme veya değiştirme komutlarını önce bir staging ortamında test edin.
  • Otomasyon betiklerinin loglarını (başarı/hata) düzenli olarak kontrol edecek bir mekanizma kurun.
  • WP-CLI’yi çalıştıran kullanıcının dosya sahipliği ve izinlerini web sunucusu kullanıcısıyla uyumlu tutun.
  • Kritik komutları (search-replace, db drop gibi) çalıştırmadan önce --dry-run desteği olup olmadığını kontrol edin.

Sık Yapılan Hatalar ve Çözümleri

1. Yanlış dizinde komut çalıştırmak. WP-CLI, wp-config.php dosyasını bulamadığında hata verir. Çözüm: Komutu her zaman WordPress kurulum dizininde çalıştırın veya --path parametresiyle dizini açıkça belirtin.

2. Yedek almadan toplu değişiklik yapmak. search-replace gibi komutlar geri alınamaz veritabanı değişiklikleri yapar. Çözüm: Her toplu işlemden önce wp db export ile yedek alın.

3. Birden fazla PHP sürümü arasında karışıklık. Sunucuda birden fazla PHP sürümü kuruluysa, WP-CLI yanlış sürümle çalışıp uyumsuzluk hatası verebilir. Çözüm: wp cli info ile kullanılan PHP sürümünü kontrol edin ve gerekirse --php parametresiyle doğru sürümü belirtin.

4. Eklenti/tema güncellemelerini test etmeden toplu uygulamak. wp plugin update --all komutu, uyumsuz bir güncelleme geldiğinde siteyi bozabilir. Çözüm: Önce --dry-run ile kontrol edin, mümkünse önce bir staging ortamında test edin.

5. Yetki/izin hatalarını göz ardı etmek. WP-CLI, dosya sahipliği yanlış yapılandırılmış sunucularda “permission denied” hatası verebilir. Çözüm: WP-CLI’yi WordPress dosyalarının sahibi olan kullanıcıyla (genellikle web sunucusu kullanıcısı) çalıştırın, root ile çalıştırmaktan kaçının.

Kime, Hangi Durumda Uygun?

Tek bir küçük blogu yöneten ve teknik arka planı olmayan bir kullanıcı için panel üzerinden yönetim genellikle yeterli ve daha pratik. Ancak birden fazla siteyi yöneten ajanslar, düzenli bakım yapan geliştiriciler, performans optimizasyonu üzerinde çalışan DevOps ekipleri ve otomasyon kurmak isteyen herkes için WP-CLI öğrenmeye değer bir yatırım. Özellikle yedekleme, güncelleme ve önbellek temizleme gibi tekrarlayan işleri otomatikleştirmek isteyenler için WP-CLI, zaman kazandıran ve hata payını azaltan bir araç olarak öne çıkıyor.

Öğrenme eğrisi açısından bakıldığında, WP-CLI’ye başlamak için ileri düzey bir sistem yöneticisi olmak gerekmiyor; temel terminal komutlarını (dizin değiştirme, dosya listeleme) bilen biri, belgelenmiş komutları takip ederek birkaç saat içinde günlük bakım işlerinin çoğunu otomatikleştirebilir. Zorluk, çoğunlukla ileri düzey kullanımda (çoklu site otomasyonu, CI/CD entegrasyonu, özel paket geliştirme) ortaya çıkıyor ve bu seviyeye geçiş genellikle zaman içinde, ihtiyaç duyuldukça gerçekleşiyor. Bu kademeli öğrenme eğrisi, WP-CLI’yi hem yeni başlayan geliştiriciler hem de deneyimli DevOps ekipleri için erişilebilir kılan önemli bir özellik.

Sonuç olarak WP-CLI, WordPress yönetimini “tıklama tabanlı” bir işten “betik tabanlı” bir sürece dönüştürerek, özellikle tekrarlayan ve ölçeklenebilir işler için zaman, tutarlılık ve kontrol kazandırıyor. Panel üzerinden yönetimi tamamen ortadan kaldırmak zorunlu değil; ikisini birlikte, işin doğasına göre kullanmak çoğu ekip için en pratik yaklaşım.

Sık Sorulan Sorular

WP-CLI nedir, neden kullanılır?
WP-CLI, WordPress sitenizi terminal üzerinden yönetmenizi sağlayan resmi komut satırı aracıdır; toplu işlemleri hızlandırmak ve bakım görevlerini otomatikleştirmek için kullanılır.

WP-CLI kullanmak için kodlama bilmem gerekir mi?
Hayır, ancak temel terminal komutlarına aşina olmak işinizi kolaylaştırır; WP-CLI komutlarının çoğu hazır ve belgelenmiş durumda, yalnızca doğru komutu bulup çalıştırmanız yeterli.

Paylaşımlı hostingde WP-CLI çalışır mı?
Çoğu güncel paylaşımlı hosting sağlayıcısı SSH ve WP-CLI desteği sunuyor, ancak bazı kısıtlı paketlerde bu özellik kapalı olabilir; sağlayıcınızla iletişime geçerek teyit etmeniz gerekir.

WP-CLI ücretsiz mi?
Evet, WP-CLI tamamen açık kaynaklı ve ücretsiz bir araçtır; resmi dağıtımına wp-cli.org adresinden erişilebilir.

WP-CLI ile yaptığım bir hatayı geri alabilir miyim?
WP-CLI komutlarının çoğu geri alınamaz; bu yüzden özellikle veritabanını etkileyen komutlardan önce yedek almak, hataları geri dönüştürülebilir kılmanın tek güvenilir yolu.

WP-CLI ile WooCommerce yönetilebilir mi?
Evet, WooCommerce ve birçok popüler eklenti kendi WP-CLI komutlarını (örneğin sipariş veya ürün yönetimi için) sunuyor; eklentinin belgelerinden desteklenen komutları kontrol edebilirsiniz.

WP-CLI ile Windows sunucularda çalışılabilir mi?
Evet, WP-CLI Windows üzerinde de çalışabiliyor; ancak kurulum adımları Linux/Unix sistemlere göre biraz farklılaşıyor ve topluluk desteği esas olarak Linux tabanlı sunucular üzerinde yoğunlaşıyor; bu nedenle Windows kullanıcılarının resmi belgelerdeki notları dikkatle takip etmesi öneriliyor ve mümkünse bir Linux tabanlı test ortamında önce denemesi önerilir.

Resmi WP-CLI kaynakları: Hızlı Başlangıç, yaygın yönetim görevleri ve komut kataloğu.

özgür BAYRAM

Özgür Bayram, WordPress, Laravel, yapay zekâ ve web performansı alanlarında çalışan bir yazılım geliştiricisidir. Bilim Meraklısı’nda teknoloji, yazılım, hosting, SEO ve dijital araçlar hakkında anlaşılır, uygulanabilir rehberler hazırlar. Amacı, teknik konuları sade bir dille anlatarak okuyucuların doğru kararlar vermesine ve sorunlarını güvenle çözmesine yardımcı olmaktır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu