WordPress Yapılandırma İpuçları
Eğer Functions.php, WordPress temanızın en önemli dosyasıysa, wp-config.php tüm WordPress veri tabanınızdaki en önemli dosyadır. Bu dosya, veritabanı işlevselliğini yapılandırmak, performansı yükseltmek ve güvenliğinizi arttırmak için WordPress tabanlı tüm site ve bloglarda kullanılabilir. Bu makalede, belki hala bilmediğiniz en kullanışlı WordPress yapılandırma ipuçlarını sizinle paylaşacağız.
Yazı İndeksi
WordPress Kurulum Aşaması
WordPress’i ilk kurduğunuzda wp-config.php yüklü gelmez. Normal kurulum wp-config-sample.php adıyla bilinen bir örnekle gelir. Bu dosyayı, blog sitenizi hazırlamadan önce wp-config.php yaratmak için bir örnek olarak kullanmalısınız. Çoğu kullanıcı bunu elle yapmıyor çünkü WordPress, kurulurken bu işlemi otomatik olarak yapmanıza izin veriyor. Bu yüklemede, önemli WordPress yapılandırmaları ekleyip, değiştiriyorsunuz. İlk olarak, Varsayılan(default) yüklemenin size ne yapmanıza izin verdiğini göreceğiz.
FTP yoluyla WordPress’i yükledinizde ve siteye ulaştığınzda karşınıza şöyle bir ekran gelir :
Bu kurulum size her sunucuda çalışmama olasılığını hatırlatarak wp-config-samle.php’yi kullanmanızı söyler. Bizim denediklerimizin çoğunda çalıştı. En popüler sunuculardan birini kullanıyorsanız, çalışacaktır.
Sonraki adım şöyle bir şey olmalıdır:
Burası önemli bilgileri gireceğiniz yer. Burada girdiğiniz bilgiler WordPress’in bir veritabanına bağlanmasını sağlıyor. Kurulum boyunca girdiğiniz her şey wp-config.php’nize kaydoluyor. Örnek :
define(‘DB_NAME’, ‘veritabanı-ismi’);
define(‘DB_USER’, ‘veritabanı-kullanıcı adı’);
define(‘DB_PASSWORD’, ‘veritabanı-şifre’);
define(‘DB_HOST’, ‘localhost’);
Varsayılan olarak, veritabanı sunucusu localhost çünkü hemen hemen her sunucuyla çalışıyor. Fakat bazı sunucular farklı yapılandırmayla çalışyor. Eğer barındırma hizmeti aldığınız yer farklı bir alan adı altından veri tabanı bağlantısı veriyor ise bunu değiştirmeniz gerekecek.
Wp-config.php için en havalı ipuçlarından biri WordPress içinde derine inerek veritabanı sunucusunu bulmak.
define('DB_HOST', $_ENV{DATABASE_SERVER});
Yukarıdaki kodu yapıştırın ve büyük ihtimal veritabanı sunucusunu yakalayacaktır. Tabi bunun için wp-config.php’yi elle değiştirmeniz gerek.
WordPress Güvenlik Anahtarları ( Security Keys )
WordPress’in güvenlik anahtarları, kullanıcının çerezlerinde saklı bilginin şifrelenmesini geliştirmek için rastgele değişenlerden oluşan bir dizilimdir. WordPress 3.0’dan önce bunu wp-config.php’ye manuel olarak eklemeniz gerekiyordu. WordPress 3.0’da kurulum sihirbazını kullanırsanız, sihirbaz anahtarları otomatik olarak wp-config.php’ye ekliyor. Ayrıca 3.0’dan önce sadece 4 güvenlik anahtarı vardı. Ancak 3.0 ile birlikte kullanılabilir 8 güvenlik anahtarı bulunuyor.
Bunlarda wp-config.php’ye eklenebilir :
define('AUTH_KEY', 'benzersiz anahtarınızı buraya girin'); define('SECURE_AUTH_KEY', 'benzersiz anahtarınızı buraya girin'); define('LOGGED_IN_KEY', 'benzersiz anahtarınızı buraya girin'); define('NONCE_KEY', 'benzersiz anahtarınızı buraya girin'); define('AUTH_SALT', 'benzersiz anahtarınızı buraya girin'); define('SECURE_AUTH_SALT', 'benzersiz anahtarınızı buraya girin'); define('LOGGED_IN_SALT', 'benzersiz anahtarınızı buraya girin'); define('NONCE_SALT', 'benzersiz anahtarınızı buraya girin');
Bu benzersiz anahtarlı bu sayfaya giderek otomatik olarak alabilirsiniz.
WordPress Veritabanı Önekleri
WordPress’i kurulum sihirbazıyla kurarken, karşınıza gelen seçeneklerden biri öneklerdir.
wp-config.php içinde şu şekilde geçer :
$table_prefix = 'wp_';
Wp’den başka bir önek kullanmanızı hackerlardan korunmak için öneririz. Ancak WordPress’i zaten kurduysanız önek(prefix)’inizi değiştirmeyin.
WordPress Dil Yapılandırması
WordPress’in varsayılan dili İngilizce’dir. Fakat bu kodlarla kendi anadilinizle değiştirebilirsiniz. Yada dağıtım paketi olarak Türkçe WordPress’i indirerek kullanabilirsiniz.
define('WPLANG', ''); define('LANGDIR', '');
Çeviri dosyası (.mo) varsayılan olan wp-content/languages ( ilk olarak) ardından wp-includes/languages (ikinci) içinde bulunmalıdır. Yukarıdan da görebileceğiniz gibi, kendi dilinizin dosya yolunu buraya tanıtabilirsiniz. WordPress’i kendi dilinizde bulmak için bu linke göz atabilirsiniz.
WordPress Hata Ayıklama
Geliştiriciler için, kullanımdan kaldırılmış ve hataları bulmaya yarayan WordPress’in harika bir hata ayıklama özelliği var. Varsayılan olarak, bu özellik kapalıdır ancak geliştirici modunda, geliştiriciler bunu etkinleştirmelidir.
define(‘WP_DEBUG’, false); // varsayılan hata ayıklama modu kapalı define(‘WP_DEBUG’, true); // hata ayıklama modu açık
WordPress Blog / Site Adresi
WordPress ayarlarınızda, WordPress adresinizi ve site adresinizi belirtirsiniz. Bunlar veritabanınıza eklenir ve her seferinde geliştirici şablon içinden bunu istediğinde, veritabanı sorgusu yürütülür. WordPress 2.2’de aşağıdaki 2 ayar veritabanı değerlerini geçersiz kılmak için eklendi.
define('WP_HOME', 'https://wpgurme.com'); define('WP_SITEURL', 'https://wpgurme.com');
Bunları wp-config.php’ye ekleyerek veritabanı sorgu sayısını azaltır ve sitenizin performansını arttırabilisriniz.
WordPress Dosya İznini Geçersiz Kılmak
Eğer sunucunuz(host) tüm dosyalarınız için kısıtlayıcı bir izin isteği varsa bunları geçersiz kılabilirsiniz. Çoğunuz buna ihtiyaç duymuyor ancak ihtiyaç duyanlar için böyle bir seçenek mevcut.
define('FS_CHMOD_FILE', 0644); define('FS_CHMOD_DIR', 0755);
WordPress Yazıları Gözden Geçirmek
WordPress’in önceki versiyonlarında yazıları gözden geçirmenize yarayan(Post Revision) harika bir özellik vardı. Bu özellik, tarayıcı kapanmalarına veya başka bir şeye önlem olarak yazdıklarını otomatik olarak kaydediyordu. Ayrıca yazıda değiştirdiklerinizi beğenmezseniz önceki haline dönmenizi sağlıyordu. Çoğumuz bu özelliği severken bazıları da gerçekten bundan nefret ediyordu. Bu özellik çeşitli yapılandırmaya sahip, bu sayede kendinize uygun olarak ayarlayabilirsiniz.
WordPress Otomatik Kayıt Yapılandırması
Varsayılan olarak WordPress 60 saniyede bir her yazıyı kaydeder. Fakat bunun çok uzun bir süre olduğunu düşünüyorsanız, bu ayalarla değiştirebilirsiniz.
define('AUTOSAVE_INTERVAL', 120); // saniye bazında
Bazı yazılar blog sahibine bağlı olarak 10,20 hatta 100 saniyelik kaydetme süresine sahip. Bu özelliğin sizi sinir ettiğini düşünüyorsanız, Her yazı için kaydetme limitini ayarlayabilirsiniz.
define('WP_POST_REVISIONS', 5);
İstediğiniz tam sayıyı kullanabilirsiniz.
Bu ayarlardan hiç biri istediğinizi sağlamıyorsa, kaydetmeyi bu ayarı ekleyerek kapatabilirsiniz.
define('WP_POST_REVISIONS', false);
WordPress Çöp Özelliği
WordPress 2.9’da yeni bir “çöp” özelliği eklenmişti. Bu özellik tıpkı bir geri dönüşüm kutusu gibi çalışıyordu. Yazıyı kalıcı olarak silmek yerine bu çöpe gönderebilirsiniz. Bu, yanlışlıkla “Sil” tuşuna tıklayan kullanıcılara yardımcı oldu tabi bu hepimiz için geçerli. Bu özelliğin kötü tarafıysa çöplüğü belli aralıklarla temizlemeniz gerektiği. Varsayılan olarak çöplük kendini 30 günde bir temizliyor. Bunu aşağıdaki kodları kullanarak değiştirebilirsiniz.
define('EMPTY_TRASH_DAYS', 7 ); // Değer gün bazında ve tam sayı olarak çalışmakta
Bu özelliği sevmediyseniz, bu kodla da etkisiz hale getirebilirsiniz.
define('EMPTY_TRASH_DAYS', 0 );
Aman dikkat, bu değeri 0 yaparsanız bir şeyi kalıcı olarak silerken WordPress onay istemeyecektir. Yanlış bir tıklama size pahalıya patlayabilir.
WordPress FTP / SSH Sabitleri
Varsayılan olarak, WordPress eklentilerinizi güncellemenize izin veriyor. Başlangıç versiyonlarından, sonuna kadar. Bazı eklentiler güncellemeye çalıştığınızda veya yeni bir eklenti eklemek istediğinizde FTP veya SSH bağlantısına gerek duyabilir. Aşağıdaki kodları kullanarak FTP veya SSH sabitlerini ayarlayabilir ve bunlar hakkında bir daha endişe duymazsınız.
// Dosya sistemi yolları: "direct", "ssh", "ftpext","ftpsockets" define('FS_METHOD', 'ftpext'); // WordPress kurulum yolu define('FTP_BASE', '/path/to/wordpress/'); // "wp-content" yolu define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // "wp-plugins" yolu define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); // SSH açık kod yolu define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // SSH gizli kod yolu define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); // FTP kullanıcı adı define('FTP_USER', 'kullanıcıadınız'); // FTP şifreniz define('FTP_PASS', 'ftpşifreniz'); // Ftp bağlantı bilgileriniz define('FTP_HOST', 'ftp.siteadi.com:21');
WordPress Otomatik Veritabanı Optimizasyonu
WordPress 2.9’da Otomatik Veritabanı Optimizasyonu (Automatic Database Optimization) adında bir özellik vardı. Buna ihtiyacınız varsa bu kodu kullanabilirsiniz:
define('WP_ALLOW_REPAIR', true);
Bir kere aktif edildiğinde bu bağlantıyı kendi alan adınıza göre deneyebilirsiniz : http://www.siteadresiniz.com/wp-admin/maint/repair.php
Bu ayar yapıldığında bu özelliğe erişmek için kullanıcı giriş yapmak zorunda değil. Çünkü bu özelliğin asıl amacı bozulmuş veritabanını tamir etmek. Veritabanı bozulduğunda kullanıcılar genelde hesabına giriş yapmıyor. Yani tamir ve optimizasyondan sonra bunu wp-config.php’den kaldırmayı unutmayın.
WordPress PHP Hafıza Limitini Arttırmak
WordPress bazı eklentileri aktif hale getirirken karşılaşılan yetersiz bellek hatası mevcut. Daha önce değindiğimiz WordPress Bellek Hatası – PHP Belleğini Artırın adlı yazımızı okuyarak daha detaylı bilgi edinebilirsiniz. Yada wp.config.php düzenleme yoluyla PHP Hafıza Limitini arttırabilirsiniz. Basitçe aşağıdaki kodu yapıştırın.
define('WP_MEMORY_LIMIT', '128M');
Not : Bu özellik bazı web sunucularıyla çalışmayabilir. Bu yüzden onlardan PHP Hafıza Limitini arttırmalarını isteyin(yalvarın). Yalvarın derken ciddiyim (:
WordPress Hata Günlüğü
Geliştiriciler için site hata günlüğüne sahip olmak kullanışlıdır. Wp-config.php dosyasını kullanarak basit bir hata günlüğü oluşturabilirsiniz. İlk olarak “php_error.log” adında bir dosya oluşturun. Sunucu tarafından yazılabilir yapın ve istediğiniz bir dizine koyun. Sonra 3. Sıradaki yolu düzenleyin.
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log');
WordPress wp-content Klasörünü Değiştirin
WordPress 2.6’dan beri wp-content’in bulunduğu yeri değiştirebiliyorsunuz. Bu özellik site güvenliğinde yardımcı oluyor. Aşağıdaki kodu kullanarak wp-content yolunuzu değiştirebilirsiniz.
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/klasor/wp-content' ); define( 'WP_CONTENT_URL', 'http://alanadi.com/klasor/wp-content'); define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' ); define( 'WP_PLUGIN_URL', 'http://alanadi.com/klasor/wp-content/plugins');
Bizim eklenti dosya yolumuz tanımlanmış çünkü bazı eklentiler yolu özellikle belirtmezseniz çalışmıyor.
WordPress Kullanıcı / UserMeta Tabloları
Varsayılan olarak, WordPress tüm kullanıcı verilerini wp_users ve wp_usermeta içine kaydeder. Aşağıdaki kodları kullanarak verilerinizin nereye kaydolacağını belirtebilirsiniz.
define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
WordPress Çoklu Site Ağını Etkin Hale Getirmek
WordPress 3.0’da WPMU WordPress core içinde birleştirmişti. Çoklu site ağını (Multi-Site Network) etkinleştirmek için wp-config.php içine bu kodu eklemeniz gerek:
define('WP_ALLOW_MULTISITE', true);
WordPress Wp-Config Dosyanızı Korumak
Gördüğünüz gibi bu dosya ÇOK ÖNEMLİ. Bu yüzden ekstra güvenlik önlemleri gerek. Varsayılan olarak, root WordPress dosyası içinde bulunuyor ancak yerini değiştirebilirsiniz. Public_html dışında da taşınabilir ki bu sayede kullanıcılar dosyaya erişemez. WordPress diğer dosya yollarını sıkıntısız kullanabiliyor. Eğer dosyalar WordPress root dosyasında bulunmazsa, ayriyeten .htaccess kullanarak bu dosyaya erişimi kısıtlayabilirsiniz.
Aşağıdaki kodları ekleyin:
# Protect wp-config.php <Files wp-config.php> order allow,deny deny from all </Files>
WordPress kurulumlarında yapmış olduğum temel düzenlemeleri sizlerle paylaştım. Ekleyebileceğimiz başka özellikler biliyorsanız, bize söyleyebilirsiniz ki biz de buraya ekleyebiliriz. Unutmadan aklınıza takılan tüm sorularınızı yorum olarak gönderirseniz seve seve cevaplarız.