Takip et

WP-CLI v2 ile WordPress Sitenizi Komut Satırından Yönetme Rehberi

WP-CLI v2 ile WordPress Sitenizi Komut Satırından Yönetme Rehberi WordPress, dünya genelinde milyonlarca web sitesinin altyapısını oluşturan,

WP-CLI v2 ile WordPress Sitenizi Komut Satırından Yönetme Rehberi

WordPress, dünya genelinde milyonlarca web sitesinin altyapısını oluşturan, kullanımı kolay ve güçlü bir içerik yönetim sistemidir (CMS). Ancak, bazen bir WordPress sitesini yönetmek, özellikle birden fazla siteyle uğraşıyorsanız veya karmaşık görevleri otomatikleştirmek istiyorsanız, web arayüzü üzerinden zaman alıcı ve zahmetli olabilir. İşte tam bu noktada WP-CLI (WordPress Command Line Interface) devreye girer. WP-CLI, WordPress sitenizi doğrudan komut satırından yönetmenizi sağlayan güçlü bir araçtır. Bu makale, WP-CLI v2’nin nasıl kurulacağını, temel kullanımını ve sitenizi komut satırından etkili bir şekilde yönetmek için kullanabileceğiniz çeşitli komutları ayrıntılı olarak ele alacaktır.

WP-CLI Nedir ve Neden Kullanmalısınız?

WP-CLI, WordPress yüklemelerinizi yönetmek için tasarlanmış bir dizi komut sunan açık kaynaklı bir komut satırı arayüzüdür. Eklentileri ve temaları güncelleyebilir, kullanıcıları yönetebilir, gönderileri düzenleyebilir, veritabanı işlemlerini gerçekleştirebilir ve hatta sıfırdan bir WordPress kurulumu yapabilirsiniz – tüm bunları bir web tarayıcısı açmadan, sadece terminal pencerenizden yapabilirsiniz.

WP-CLI kullanmanın başlıca avantajları şunlardır:

* Hız ve Verimlilik: Özellikle birden fazla işlem yapmanız gerektiğinde, web arayüzünden tek tek tıklamak yerine tek bir komutla birçok görevi halledebilirsiniz.
* Otomasyon: WP-CLI komutlarını Bash scriptlerine veya diğer otomasyon araçlarına entegre ederek rutin bakım görevlerini otomatik hale getirebilirsiniz. Bu, özellikle geliştiriciler ve sistem yöneticileri için paha biçilmezdir.
* Geliştirme ve Hata Ayıklama: Geliştirme ortamlarında hızlıca değişiklikler yapmak, veritabanı sorguları çalıştırmak veya hataları ayıklamak için idealdir.
* Uzaktan Yönetim: SSH erişimi olan herhangi bir sunucudan WordPress sitenizi yönetebilirsiniz.
* API Erişimi: WordPress’in temel işlevlerine doğrudan, programatik bir erişim sağlar.

WP-CLI’nin v2 sürümü, daha kararlı, daha hızlı ve daha fazla özellik sunan gelişmiş bir versiyondur. Bu makalede ele alacağımız tüm komutlar ve kullanımlar v2 sürümüyle uyumludur.

WP-CLI Kurulumu

WP-CLI’yi kullanmaya başlamadan önce, sunucunuzda veya yerel geliştirme ortamınızda bazı ön koşulların karşılandığından emin olmanız gerekir.

Sistem Gereksinimleri

* PHP: WP-CLI, PHP 5.6 veya daha yeni bir sürüm gerektirir. WordPress’in kendisi de daha yeni PHP sürümlerini (7.4 veya üzeri önerilir) gerektirdiğinden, genellikle bu gereksinim zaten karşılanmış olacaktır.
* WordPress: Çalışan bir WordPress kurulumu (kurulum ve veritabanı işlemleri için).
* SSH/Terminal Erişimi: Sunucunuza SSH aracılığıyla veya yerel makinenizde bir terminal penceresi üzerinden erişiminiz olmalıdır.
* cURL veya Wget: WP-CLI kurulum dosyasını indirmek için bu araçlardan birine ihtiyacınız olacaktır.

WP-CLI’yi İndirme ve Kurma

WP-CLI, tek bir PHAR (PHP Archive) dosyası olarak dağıtılır, bu da kurulumu son derece basit hale getirir.

1. WP-CLI PHAR Dosyasını İndirme:
Terminalinizi açın ve aşağıdaki komutları kullanarak wp-cli.phar dosyasını indirin:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Alternatif olarak, wget kullanabilirsiniz:

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

2. Çalıştırılabilir Hale Getirme:
İndirdiğiniz dosyayı çalıştırılabilir hale getirin:

chmod +x wp-cli.phar

3. PATH’e Ekleme (Önerilen):
wp-cli.phar dosyasını sistem PATH’inize ekleyerek her dizinde php wp-cli.phar yerine sadece wp yazarak kullanabilirsiniz. Bunun için dosyayı genellikle /usr/local/bin gibi bir dizine taşımanız ve adını wp olarak değiştirmeniz önerilir:

sudo mv wp-cli.phar /usr/local/bin/wp

Bu komut, wp-cli.phar dosyasını /usr/local/bin dizinine taşır ve adını wp olarak değiştirir. Artık herhangi bir dizinden wp komutunu kullanabilirsiniz.

Kurulumu Doğrulama

Kurulumun başarılı olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın:

wp --info

Bu komut, WP-CLI sürümünü, PHP sürümünü, WordPress sürümünü ve diğer sistem bilgilerini gösterecektir. Eğer bu bilgiler ekrana geliyorsa, WP-CLI başarıyla kurulmuştur.

Temel Kullanım ve Komut Yapısı

WP-CLI’nin temel komut yapısı oldukça basittir:

wp   -- --

* wp: Ana komut.
* : Yapmak istediğiniz genel işlemi tanımlar (örneğin, plugin, theme, user, core, db).
* : Belirli komut içinde daha spesifik bir eylemi belirtir (örneğin, plugin install, theme activate, user create).
* --: Komutun davranışını değiştiren veya ek bilgi sağlayan isteğe bağlı bayraklardır (örneğin, --allow-root, --path=/var/www/html/wordpress).

Yardım Alma

WP-CLI’nin en kullanışlı özelliklerinden biri, kapsamlı yerleşik yardım sistemidir. Herhangi bir komut veya alt komut hakkında bilgi almak için help alt komutunu kullanabilirsiniz:

* Genel yardım: wp help
* Belirli bir komut hakkında yardım: wp plugin help
* Belirli bir alt komut hakkında yardım: wp plugin install help

Otomatik Tamamlama (Autocompletion)

WP-CLI, Bash veya Zsh kabukları için otomatik tamamlama desteği sunar. Bu, komutları daha hızlı yazmanıza ve olası hataları azaltmanıza yardımcı olur. Otomatik tamamlama özelliğini kurmak için aşağıdaki komutu çalıştırın:

wp cli enable-tab-completion

Bu komut, kabuk yapılandırma dosyanıza (örneğin, .bashrc veya .zshrc) gerekli satırları ekleyecektir. Değişikliklerin etkili olması için terminalinizi yeniden başlatmanız veya yapılandırma dosyanızı kaynaklamanız gerekebilir (source ~/.bashrc).

WordPress Çekirdek Yönetimi

WP-CLI ile WordPress çekirdeği üzerinde çeşitli işlemler yapabilirsiniz.

WordPress Kurulumu

WP-CLI ile sıfırdan bir WordPress sitesi kurmak oldukça kolaydır:

1. WordPress Çekirdeğini İndirme:

wp core download

Bu komut, WordPress’in en son sürümünü mevcut dizine indirir. Belirli bir sürümü indirmek için --version parametresini kullanabilirsiniz: wp core download --version=5.8.3

2. wp-config.php Dosyasını Oluşturma:

wp config create --dbname=veritabani_adi --dbuser=veritabani_kullanicisi --dbpass=veritabani_sifresi --dbhost=localhost --dbprefix=wp_ --locale=tr_TR

Bu komut, veritabanı bağlantı bilgilerini ve diğer temel ayarları içeren wp-config.php dosyasını oluşturur. Güvenlik anahtarlarını otomatik olarak eklemek için --extra-php parametresini kullanabilirsiniz.

3. Veritabanını Oluşturma:

wp db create

wp-config.php dosyasındaki bilgilerle veritabanını oluşturur.

4. WordPress Kurulumunu Tamamlama:

wp core install --url=http://example.com --title="Benim Yeni Sitem" --admin_user=admin --admin_password=cok_guclu_sifre --admin_email=admin@example.com --skip-email

Bu komut, WordPress kurulumunu tamamlar, yönetici hesabı oluşturur ve sitenin başlığını belirler. --skip-email bayrağı, yeni yönetici kullanıcıya e-posta gönderilmesini engeller.

WordPress Güncelleme

WordPress çekirdeğini güncellemek için:

wp core update

Bu komut, sitenizin en son WordPress sürümüne güncellenmesini sağlar. Sadece belirli bir sürümdeki güncellemeyi kontrol etmek için wp core check-update komutunu kullanabilirsiniz.

WordPress Sürüm Bilgisi

Mevcut WordPress sürümünüzü öğrenmek için:

wp core version

WordPress Dil Paketleri

Sitenizin dil paketlerini yönetmek için:

* Mevcut dil paketlerini listeleme: wp language core list
* Yeni bir dil paketi kurma: wp language core install tr_TR
* Varsayılan site dilini ayarlama: wp site switch-language tr_TR

Veritabanı Yönetimi

WP-CLI, WordPress veritabanı üzerinde güçlü ve esnek kontrol sağlar.

Veritabanı Bilgisi

Veritabanı bağlantı bilgilerini görüntülemek için:

wp db cli

Bu komut, doğrudan MySQL istemcisini açarak veritabanınızla etkileşime geçmenizi sağlar.

Veritabanı Optimizasyonu ve Onarımı

* Veritabanını optimize etme:

wp db optimize

Bu komut, veritabanı tablolarını optimize ederek performansı artırabilir.
* Veritabanını onarma:

wp db repair

Hasarlı veritabanı tablolarını onarmaya çalışır.

Yedekleme ve Geri Yükleme

* Veritabanını yedekleme:

wp db export yedek.sql

Bu komut, veritabanının bir yedeğini yedek.sql adında bir dosyaya kaydeder.
* Veritabanını geri yükleme:

wp db import yedek.sql

Bu komut, yedek.sql dosyasındaki verileri veritabanına aktarır. Dikkat: Bu işlem mevcut veritabanınızı üzerine yazar!

Veritabanında Arama ve Değiştirme (Search-Replace)

wp search-replace komutu, bir WordPress sitesini taşırken veya belirli bir metni veritabanı genelinde değiştirmek istediğinizde son derece güçlü ve kullanışlıdır.

wp search-replace 'eski_url' 'yeni_url' --dry-run

* 'eski_url': Değiştirilecek eski metin veya URL.
* 'yeni_url': Yerine konulacak yeni metin veya URL.
* --dry-run: Bu bayrak, komutun gerçekten bir değişiklik yapmadan neleri değiştireceğini gösterir. Önce her zaman --dry-run ile test etmeniz şiddetle tavsiye edilir.
* --all-tables: Varsayılan olarak yalnızca WordPress tablolarında arama yapar. Tüm tablolarda arama yapmak için bu bayrağı kullanın.
* --precise: Serileştirilmiş verilerdeki değişiklikleri daha doğru bir şekilde ele alır.
* --skip-columns: Belirli sütunları atlamak için. Örneğin, guid sütununu atlamak iyi bir uygulamadır: --skip-columns=guid

Örnek bir site taşıma işlemi:

wp search-replace 'http://eski-site.com' 'https://yeni-site.com' --precise --dry-run
wp search-replace 'http://eski-site.com' 'https://yeni-site.com' --precise --skip-columns=guid

Bu komut, veritabanındaki tüm eski URL’leri yeni URL’lerle değiştirir ve serileştirilmiş verileri de doğru şekilde günceller.

Eklenti Yönetimi

WP-CLI ile eklentileri yüklemek, etkinleştirmek, devre dışı bırakmak ve güncellemek çok daha hızlıdır.

Eklentileri Listeleme

Yüklü tüm eklentileri listelemek için:

wp plugin list

Bu komut, eklentinin adı, durumu (aktif/pasif), sürümü ve mevcut güncellemeler hakkında bilgi verir.

Eklenti Kurulumu

WordPress.org deposundan bir eklenti yüklemek için:

wp plugin install akismet

Birden fazla eklenti yüklemek için:

wp plugin install akismet jetpack

Yüklendikten sonra otomatik olarak etkinleştirmek için --activate bayrağını kullanın:

wp plugin install yoast-seo --activate

Zip dosyasından eklenti yüklemek için:

wp plugin install /path/to/my-plugin.zip

Eklenti Etkinleştirme/Devre Dışı Bırakma

* Bir eklentiyi etkinleştirme:

wp plugin activate akismet

* Tüm eklentileri etkinleştirme:

wp plugin activate --all

* Bir eklentiyi devre dışı bırakma:

wp plugin deactivate akismet

* Tüm eklentileri devre dışı bırakma:

wp plugin deactivate --all

Eklenti Güncelleme

* Belirli bir eklentiyi güncelleme:

wp plugin update akismet

* Tüm eklentileri güncelleme:

wp plugin update --all

Eklenti Kaldırma

* Bir eklentiyi kaldırma (önce devre dışı bırakılmalıdır):

wp plugin uninstall akismet

* Bir eklentiyi silme (dosyaları kaldırır):

wp plugin delete akismet

Tema Yönetimi

Eklenti yönetimine benzer şekilde, temaları da WP-CLI ile yönetebilirsiniz.

Temaları Listeleme

Yüklü tüm temaları listelemek için:

wp theme list

Bu komut, temanın adı, durumu (aktif/pasif), sürümü ve mevcut güncellemeler hakkında bilgi verir.

Tema Kurulumu

WordPress.org deposundan bir tema yüklemek için:

wp theme install twentytwentythree

Zip dosyasından tema yüklemek için:

wp theme install /path/to/my-theme.zip

Tema Etkinleştirme

Bir temayı etkinleştirme:

wp theme activate twentytwentythree

Tema Güncelleme

* Belirli bir temayı güncelleme:

wp theme update twentytwentythree

* Tüm temaları güncelleme:

wp theme update --all

Tema Kaldırma

* Bir temayı kaldırma (aktif olmayan temalar için):

wp theme uninstall twentytwentyone

* Bir temayı silme (dosyaları kaldırır):

wp theme delete twentytwentyone

Kullanıcı Yönetimi

Kullanıcıları oluşturmak, düzenlemek ve silmek WP-CLI ile çok daha hızlıdır.

Kullanıcıları Listeleme

Tüm kullanıcıları listelemek için:

wp user list

Belirli rol veya diğer kriterlere göre filtrelemek için parametreler kullanabilirsiniz. Örneğin, yalnızca yöneticileri listelemek:

wp user list --role=administrator

Kullanıcı Oluşturma

Yeni bir kullanıcı oluşturmak için:

wp user create yeni_kullanici yeni@eposta.com --user_pass=guclu_sifre --role=editor

* yeni_kullanici: Kullanıcı adı.
* yeni@eposta.com: Kullanıcının e-posta adresi.
* --user_pass: Kullanıcının parolası.
* --role: Kullanıcının rolü (örneğin, subscriber, contributor, author, editor, administrator).

Kullanıcı Parolası Sıfırlama

Mevcut bir kullanıcının parolasını sıfırlamak için:

wp user update  --user_pass=yeni_guclu_sifre

Kullanıcı ID’sini wp user list komutuyla bulabilirsiniz.

Kullanıcı Rolünü Değiştirme

Bir kullanıcının rolünü değiştirmek için:

wp user update  --role=administrator

Kullanıcı Silme

Bir kullanıcıyı silmek için:

wp user delete 

Kullanıcının tüm gönderilerini başka bir kullanıcıya atamak için --reassign parametresini kullanabilirsiniz:

wp user delete  --reassign=1

Burada 1 genellikle yönetici kullanıcısının ID’sidir.

Gönderi ve Sayfa Yönetimi

Gönderileri ve sayfaları da komut satırından yönetebilirsiniz.

Gönderi Listeleme

Tüm gönderileri listelemek için:

wp post list

Belirli bir gönderi türünü (örneğin, sayfalar) listelemek için:

wp post list --post_type=page

Gönderi Oluşturma

Yeni bir gönderi oluşturmak için:

wp post create --post_type=post --post_title="WP-CLI ile Yeni Gönderi" --post_content="Bu gönderi WP-CLI kullanılarak oluşturuldu." --post_status=publish --post_author=1

* --post_type: post veya page gibi gönderi türünü belirtir.
* --post_title: Gönderinin başlığı.
* --post_content: Gönderinin içeriği.
* --post_status: Gönderinin durumu (publish, draft, pending).
* --post_author: Gönderinin yazarının ID’si.

Gönderi Güncelleme

Mevcut bir gönderiyi güncellemek için:

wp post update  --post_title="Güncellenmiş Başlık"

Gönderi Silme

Bir gönderiyi silmek için:

wp post delete 

Çöp kutusuna göndermek yerine kalıcı olarak silmek için --force bayrağını kullanabilirsiniz.

Diğer Yönetim Komutları

WP-CLI’nin yetenekleri yukarıda bahsedilenlerle sınırlı değildir. İşte bazı diğer kullanışlı komutlar:

Önbellek Yönetimi

Eğer bir önbellekleme eklentisi kullanıyorsanız veya WordPress’in kendi nesne önbelleğini temizlemek istiyorsanız:

wp cache flush

Bu komut, tüm önbelleği temizler ve genellikle sitenin güncel içeriği göstermesini sağlar.

Cron Olayları

WordPress’in zamanlanmış görevlerini (cron jobs) yönetmek için:

* Tüm zamanlanmış olayları listeleme:

wp cron event list

* Belirli bir cron olayını çalıştırma:

wp cron event run 

* WordPress’in dahili cron sistemini devre dışı bırakma (genellikle sunucu düzeyinde cron ile değiştirmek için):

wp option update disable_wp_cron 1

Bu komut, wp-config.php dosyasına define('DISABLE_WP_CRON', true); eklemekle eşdeğerdir.

Opsiyon Yönetimi

WordPress seçeneklerini (options) okumak, güncellemek veya silmek için:

* Bir seçeneğin değerini okuma:

wp option get blogname

* Bir seçeneğin değerini güncelleme:

wp option update blogdescription "Yeni site açıklaması"

* Bir seçeneği silme:

wp option delete my_custom_option

Gelişmiş Kullanım ve İpuçları

WP-CLI’nin gücü, sadece temel komutların ötesine geçer.

Uzak Sunucuda Kullanım (SSH ile)

WP-CLI’yi yerel makinenizden uzak bir sunucudaki WordPress sitesini yönetmek için kullanabilirsiniz. Bunun için sunucunuzda SSH erişiminiz olmalı ve WP-CLI sunucuda kurulu olmalıdır.

ssh user@your-server.com 'cd /path/to/wordpress/root && wp plugin update --all'

Bu komut, SSH aracılığıyla sunucuya bağlanır, WordPress kök dizinine gider ve tüm eklentileri günceller.

Çoklu Site Yönetimi (Multisite)

Eğer WordPress multisite kurulumunuz varsa, WP-CLI bunu da destekler. Komutlara --url= veya --network parametrelerini ekleyerek belirli bir siteyi veya tüm ağı hedefleyebilirsiniz.

* Belirli bir alt sitede eklentileri listeleme:

wp plugin list --url=http://alt-site.example.com

* Tüm ağdaki eklentileri listeleme:

wp plugin list --network

WP-CLI Paketleri (Packages)

WP-CLI’nin temel komutlarının ötesinde, topluluk tarafından geliştirilen ek komut setleri (paketler) mevcuttur. Bu paketler, WP-CLI’nin işlevselliğini genişletir.

* Paketleri listeleme: wp package list
* Bir paket kurma: wp package install
Örneğin, wp package install wp-cli/dist-archive paketi, WordPress dağıtım arşivleri oluşturmanıza olanak tanır.

Bash Scriptleri ile Otomasyon

WP-CLI’nin gerçek gücü, komutları Bash scriptlerine entegre ederek rutin görevleri otomatikleştirebilmenizde yatar.

Örnek bir yedekleme scripti:

#!/bin/bash

WordPress kök dizinine git

cd /var/www/html/wordpress

Yedekleme klasörünü oluştur (yoksa)

BACKUP_DIR="/home/user/wordpress_backups" mkdir -p $BACKUP_DIR

Tarih damgası

DATE=$(date +%Y%m%d%H%M%S)

Veritabanını yedekle

wp db export $BACKUP_DIR/wordpress_db_$DATE.sql

Dosyaları sıkıştır

tar -czvf $BACKUP_DIR/wordpress_files_$DATE.tar.gz . echo "Yedekleme tamamlandı: $BACKUP_DIR"

Bu script, WordPress dosyalarını ve veritabanını belirli bir dizine yedekler. Bu tür scriptleri cron işleri ile belirli aralıklarla otomatik olarak çalıştırabilirsiniz.

Hata Ayıklama

WP-CLI, hata ayıklama için de faydalı olabilir. --debug bayrağı, komutların daha ayrıntılı çıktı vermesini sağlar:

wp plugin update --all --debug

Bu, bir sorunla karşılaştığınızda neyin yanlış gittiğini anlamanıza yardımcı olabilir.

Güvenlik İpuçları

WP-CLI güçlü bir araçtır ve bu nedenle dikkatli kullanılmalıdır:

* SSH Güvenliği: Sunucunuza SSH ile erişirken güçlü parolalar veya anahtar tabanlı kimlik doğrulama kullanın.
* --allow-root Kullanımı: WP-CLI’yi root kullanıcı olarak çalıştırmak genellikle önerilmez. Gerekmedikçe --allow-root bayrağını kullanmaktan kaçının, çünkü bu potansiyel güvenlik riskleri oluşturabilir.
* Yedeklemeler: Önemli veritabanı veya dosya işlemleri yapmadan önce daima yedek alın.
* --dry-run Kullanımı: Özellikle wp search-replace gibi yıkıcı olabilecek komutlarda, değişiklikleri uygulamadan önce her zaman --dry-run bayrağını kullanarak ne olacağını önizleyin.

Sonuç

WP-CLI, WordPress geliştiricileri, sistem yöneticileri ve hatta ileri düzey kullanıcılar için vazgeçilmez bir araçtır. Komut satırının gücüyle, WordPress sitelerinizi yönetmek için harcadığınız zamanı ve çabayı önemli ölçüde azaltabilirsiniz. Kurulumu kolay, kullanımı esnek ve geniş bir komut setine sahip olan WP-CLI v2, sitenizin bakımını, geliştirmesini ve otomasyonunu bir sonraki seviyeye taşımanıza olanak tanır. Bu makaledeki komutları ve ipuçlarını kullanarak, WordPress sitelerinizi daha verimli, hızlı ve kontrol edilebilir bir şekilde yönetmeye başlayabilirsiniz. WP-CLI’nin sunduğu tüm olanakları keşfetmek için wp help komutunu kullanarak daha fazla bilgi edinmeye devam etmeyi unutmayın.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.