İçeriğe geç
Yapılandırma

WordPress wp-config.php Dosyası: Görevi ve Düzenlenmesi

wp-config.php dosyası veritabanı girişini, güvenlik anahtarlarını ve site ayarlarını tutar. Nerede olduğunu, ne yaptığını ve güvenle düzenlemeyi öğrenin.

Yayınlandı

wp-config.php, WordPress’e veritabanına nasıl bağlanacağını ve nasıl çalışacağını söyleyen dosyadır. Normalde kurulumunuzun kök klasöründe, wp-admin ve wp-content klasörlerinin yanında durur. “That’s all, stop editing!” (Hepsi bu kadar, düzenlemeyi bırakın!) satırının üstünde ayar ekleyip değiştirmek güvenlidir; o satırın altındaki iki kod bloğuna ise dokunmamalısınız. Önce yedek alın, çünkü tek bir yazım hatası bütün siteyi kapatabilir.

Önemli noktalar

  • Dosya, veritabanı şifrenizi ve güvenlik anahtarlarınızı tutar. Ona bir şifre gibi davranın ve içeriğini asla bir foruma veya destek sohbetine yapıştırmayın.
  • Özel ayarlar “stop editing” satırının üstüne gider. Altındaki son satır WordPress’i yükler ve o satırdan sonraki bir ayar çok geç kalır.
  • İndirdiğiniz WordPress paketinde wp-config-sample.php bulunur. Asıl wp-config.php kurulum sırasında oluşturulur.
  • Canlı bir sitede $table_prefix değerini yalnızca o satırı düzenleyerek değiştirmeyin. WordPress kurulu değilmiş gibi davranır.

wp-config.php dosyasını nerede bulursunuz

SFTP ile bağlanın veya barındırma firmanızın dosya yöneticisini açın, ardından wp-admin, wp-includes ve wp-content klasörlerini barındıran klasöre gidin. WordPress belgeleri burayı WordPress dosya dizininizin kökü olarak adlandırır.

Orada değilse bir üst klasöre bakın. WordPress’in yükleyicisi önce kurulum klasörünü, sonra üst klasörü kontrol eder. Üst klasörün kendi wp-settings.php dosyası varsa onu atlar, çünkü bu orada başka bir WordPress kurulumu olduğu anlamına gelir.

Dosya iki yerde de yoksa WordPress ziyaretçileri kurulum ekranına gönderir. Bu ekran dosyayı wp-config-sample.php üzerinden oluşturur. Klasöre yazamazsa yeni bir dosyaya elle yapıştırmanız için metni gösterir.

Varsayılan bölümlerin her biri ne yapar

wp-config-sample.php şablondur ve şu bölümleri bu sırayla içerir:

BölümNe tutarDeğiştirebilir misiniz?
DB_NAME, DB_USER, DB_PASSWORD, DB_HOSTVeritabanı girişi. Örnek dosya sunucu olarak localhost kullanır, gerçek değerleri barındırma firmanız verebilir.Evet, veritabanı bilgileriniz değiştiğinde. Yanlış bir değer veritabanı bağlantısı kurma hatasına yol açar.
DB_CHARSET, DB_COLLATEVeritabanı metninin nasıl saklandığı. Varsayılanlar utf8mb4 ve boş bir değerdir.Örnek dosyanın DB_COLLATE için kendi yorumu, emin değilseniz değiştirmemenizi söyler.
AUTH_KEY ile NONCE_SALT arasıGiriş çerezleri için kullanılan sekiz güvenlik anahtarı ve tuz değeri.Evet. Değiştirmek tüm kullanıcıların oturumunu kapatır.
$table_prefixHer veritabanı tablosu adının başındaki metin, varsayılan olarak wp_.Yalnızca kurulum sırasında, tabloları yeniden adlandırıp adında bu önek geçen kayıtlı veritabanı girdilerini de güncellemiyorsanız.
WP_DEBUGHata ayıklama modu, örnek dosyada false olarak ayarlıdır.Evet. Hata ayıklama günlüğü konumu rehberi hataları bir dosyaya nasıl göndereceğinizi gösterir.
”custom values” (özel değerler) yorumuKendi ayarlarınız için ayrılmış, “stop editing” satırında biten boş alan.Evet, eklemeleriniz buraya gider.
ABSPATH ve wp-settings.php satırıWordPress’in yolu, ardından geri kalanını yükleyen satır.Hayır. Bunları olduğu gibi bırakın.

Yeni anahtarlar bir tık uzağınızda: WordPress.org gizli anahtar hizmeti her yüklediğinizde yeni bir set verir. Sekiz satırın tümünü yeni setle değiştirin.

Eski dosyalarda “custom values” yorumu olmayabilir ve “Happy publishing” (İyi yayınlar) yerine “Happy blogging” (İyi bloglamalar) yazabilir. İkisi de çalışır ve kural aynı kalır: ayarlarınızı o satırın üstüne ekleyin.

Sık değiştirilen ayarlar

Bunların her biri tek satırdır. Hepsi wp-config.php belgelerinden, varsayılan değerler ise WordPress’in default-constants.php dosyasından gelir.

// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );

// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );

// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );

// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );

// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );

// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

Yalnızca ihtiyacınız olan satırları kopyalayın. Birkaçının bilinmeye değer ayrıntıları var:

  • Bellek: WordPress varsayılan olarak 40M, çoklu sitede 64M kullanır; wp-admin için de PHP zaten daha fazlasına izin vermiyorsa 256M kullanır. Barındırma firmanız limitin değiştirilmesine izin vermiyorsa WordPress, PHP’nin mevcut limitini kullanır. Bu durumda ne yapacağınızı bellek tükendi rehberi anlatır.
  • Revizyonlar: varsayılan olarak açıktır. Kapatmak için false, sınırlamak için bir sayı girin.
  • Otomatik kaydetme ve çöp kutusu: varsayılanlar 60 saniye ve 30 gündür. EMPTY_TRASH_DAYS değerini 0 yapmak çöp kutusunu kapatır. Belgeler, bu durumda birisi “Delete Permanently” (Kalıcı Olarak Sil) düğmesine tıkladığında WordPress’in onay istemeyeceği konusunda uyarır.
  • Dosya düzenleyici: güvenlik rehberi bunun bir saldırganın kötü amaçlı dosya yüklemesini engellemeyeceğini, ancak bazı saldırıları durdurabileceğini söyler. DISALLOW_FILE_MODS daha ileri gider; eklenti ve tema kurulumlarını ve güncellemelerini de engeller.
  • HTTPS: “WordPress adresi” ayarı zaten https ile başlıyorsa WordPress FORCE_SSL_ADMIN değerini kendisi true yapar. Bu satır yalnızca adres https ile başlamadığında bir şeyi değiştirir.
  • Site adresleri: bunlar, veritabanında saklananı değiştirmeden kayıtlı değerleri geçersiz kılar. https:// kısmını da yazın.

Bir ayar daha fazla planlama ister. define( 'DISABLE_WP_CRON', true ); sayfa ziyaretlerinin zamanlanmış görevleri başlatmasını durdurur. Bu yüzden açmadan önce wp-cron.php için bir sunucu cron görevi kurun, yoksa zamanlanmış yazılar ve diğer zamanlı işler çalışmaz.

wp-config.php dosyasını güvenle düzenleme

  1. Önce bir kopya indirin. Kendi bilgisayarınızda saklayın. Sunucuda wp-config.php.bak gibi bir adla bırakılan kopya tarayıcıdan okunabilir, çünkü sunucu artık onu PHP olarak işlemez.
  2. Dosyayı düz metin düzenleyicisinde açın. WordPress’in düzenleme rehberi Notepad++, Sublime Text ve Visual Studio Code’u uygun sayar. Google Docs ve Microsoft Word’e karşı ise uyarır, çünkü kelime işlemciler tırnak işaretlerini değiştirir ve dosyaları bozan kod ekleyebilir.
  3. “stop editing” satırını bulun ve yeni satırlarınızı hemen üstüne koyun. Ayar daha yukarıda zaten tanımlıysa o satırı değiştirin.
  4. Kaydedip yükleyin, ardından sitenizi gizli bir tarayıcı penceresinde açın, wp-admin’den de bir sayfaya bakın.
  5. Bir şey bozulursa kopyanızı geri koyun. Bu, wp-admin yüklenmese bile düzenlemeyi geri alır.

Dosyayı web kökünün üstüne taşıma

Güvenlik rehberi wp-config.php dosyasının WordPress kurulumunuzun bir üst klasöründe saklanabileceğini söyler ve yükleyici kodu bunu ek ayar gerektirmeden halleder. Dosyayı taşıyın, ardından sitenin hâlâ yüklendiğini kontrol edin. Taşımanın iki sınırı var:

  • Üst klasörde başka bir WordPress kurulumu olamaz. Yükleyici, kendi wp-settings.php dosyası olan üst klasörü yok sayar.
  • Bir üst klasör yalnızca WordPress web kökündeyse özeldir. WordPress /blog/ gibi bir alt klasördeyse bir üst klasör genellikle yine herkese açıktır.

Aynı rehber, bazı kişilerin bu taşımanın güvenliğe çok az katkı sağladığını savunduğunu ve dikkatsizce yapılırsa ciddi açıklara yol açabileceğini belirtir. O yüzden isteğe bağlı görün. Rehber Apache için .htaccess dosyanızın en üstüne konacak, dosyaya doğrudan istekleri reddeden şu bloğu da verir:

<Files "wp-config.php">
Require all denied
</Files>

.htaccess güvenlik rehberimiz bu kuralı diğerleriyle birlikte ele alır.

wp-config.php dosya izinleri

WordPress belgeleri duruma göre biraz farklı sayılar verir:

  • Güvenlik rehberi dosyayı yalnızca sizin ve web sunucusunun okuyabilmesi gerektiğini ve bunun genellikle 400 veya 440 anlamına geldiğini söyler.
  • Dosya izinleri rehberi, sunucudaki diğer kullanıcıların okumasını önlemek için suexec’li paylaşımlı barındırmada 440 veya 400 der. Güvenli bir örnek olarak 600’ü de gösterir.
  • Sıradan WordPress dosyaları için aynı rehber 644 veya 640 der.

Hangi sayının işe yarayacağı, web sunucunuzun hangi sistem kullanıcısıyla çalıştığına bağlıdır. Web sunucusunun dosyayı okuyabilmesi gerekir, bu yüzden bir değişiklikten sonra site yüklenmeyi bırakırsa önceki değere dönün ve barındırma firmanıza hangisinin kurulumlarına uyduğunu sorun.

Sık yapılan hatalar

  • Bir ayarı wp-settings.php satırından sonra yapıştırmak. O satır WordPress’i yükler ve varsayılanlarını ayarlar. Bir PHP sabiti betik çalışırken değişemez, bu yüzden satırınızın etkisi olmaz.
  • Aynı ayarı iki kez tanımlamak. İlk satır değeri belirler, ikincisi onu değiştiremez. PHP kılavuzuna göre bir sabiti yeniden bildirmek PHP 8.5’ten itibaren kullanımdan kaldırılmıştır, bu yüzden bir ileti de çıkabilir. Eklemeden önce dosyada adı arayın.
  • true veya false değerini tırnak içine almak. 'false' boş olmayan bir dizedir ve PHP bunu true sayar. Tırnaksız false yazın. '256M' gibi boyutlar ise tırnak ister.
  • Kelime işlemciden veya web sayfasından gelen kıvrık tırnaklar. PHP düz tırnak ister, bu yüzden kıvrık tırnaklar sitenin yüklenmesini engelleyen bir hataya yol açar.
  • Canlı sitede hata ayıklama hatalarını göstermek. WP_DEBUG_DISPLAY varsayılan olarak true değerindedir, yani yalnızca WP_DEBUG değerini açarsanız hatalar ziyaretçilere sayfada görünür. Hata ayıklama günlüğü konumu rehberi bunları bir dosyaya nasıl göndereceğinizi gösterir.
  • WP_ALLOW_REPAIR değerini açık bırakmak. Belgeler bunu yalnızca gerektiğinde açmanızı ve sorun çözülünce kapatmanızı söyler.

Sık sorulan sorular

WordPress’te wp-config.php nedir? WordPress’in başlarken yüklediği yapılandırma dosyasıdır. Veritabanı girişini, güvenlik anahtarlarını ve tablo önekini tutar. WP_DEBUG veya WP_MEMORY_LIMIT gibi ayarları da buraya eklersiniz.

wp-config.php dosyası nerede bulunur? Normalde WordPress kurulumunuzun kök klasöründedir, yani wp-admin, wp-includes ve wp-content klasörlerinin de bulunduğu yerde. WordPress, içinde wp-settings.php olmadığı sürece dosyayı kurulumun bir üst klasöründe de kabul eder.

wp-config.php içinde kodu nereye eklemeliyim? That’s all, stop editing! Happy publishing. (Hepsi bu kadar, düzenlemeyi bırakın! İyi yayınlar.) yazan satırın üstüne. Eski dosyalarda Happy blogging. (İyi bloglamalar.) yazar. Altındaki son satır WordPress’i yükler, bu yüzden o satırdan sonra konan bir ayar çok geç kalır.

wp-config.php dosyasını düzenlemek güvenli mi? Evet, yedek alır ve düz metin düzenleyicisi kullanırsanız güvenlidir. Tek bir yazım hatası, wp-admin dahil tüm sitenin yüklenmesini engelleyebilir, bu yüzden önce bir kopya indirin. Düzenlemeden sonra site bozulursa kopyayı geri koyun.

wp-config.php dosyasını silersem ne olur? WordPress veritabanı girişini artık bulamaz ve yapılandırma dosyası oluşturmanızı isteyen kurulum sürecini başlatır. İçeriğiniz veritabanında kalır, bu yüzden yedeği geri yüklemek veya dosyayı aynı bilgilerle yeniden oluşturmak siteyi tekrar bağlar.

wp-config.php dosyasının izinleri ne olmalı? WordPress’in güvenlik rehberi dosyayı yalnızca sizin ve web sunucusunun okuyabilmesi gerektiğini söyler, bu da genellikle 400 veya 440 anlamına gelir. Dosya izinleri rehberinde 600 de gösterilir. Web sunucusunun dosyayı yine de okuyabilmesi gerekir, bu yüzden site yüklenmeyi bırakırsa barındırma firmanıza danışın.

Kaynaklar


Güvenlik anahtarları dahil ihtiyacınız olan ayarları elle yazmadan ücretsiz wp-config.php oluşturucu ile hazırlayın.

FAQ

Sorular

WordPress'te wp-config.php nedir?

WordPress'in başlarken yüklediği yapılandırma dosyasıdır. Veritabanı girişini, güvenlik anahtarlarını ve tablo önekini tutar. WP_DEBUG veya WP_MEMORY_LIMIT gibi ayarları da buraya eklersiniz.

wp-config.php dosyası nerede bulunur?

Normalde WordPress kurulumunuzun kök klasöründedir, yani wp-admin, wp-includes ve wp-content klasörlerinin de bulunduğu yerde. WordPress, içinde wp-settings.php olmadığı sürece dosyayı kurulumun bir üst klasöründe de kabul eder.

wp-config.php içinde kodu nereye eklemeliyim?

That's all, stop editing! Happy publishing. (Hepsi bu kadar, düzenlemeyi bırakın! İyi yayınlar.) yazan satırın üstüne. Eski dosyalarda Happy blogging. (İyi bloglamalar.) yazar. Altındaki son satır WordPress'i yükler, bu yüzden o satırdan sonra konan bir ayar çok geç kalır.

wp-config.php dosyasını düzenlemek güvenli mi?

Evet, yedek alır ve düz metin düzenleyicisi kullanırsanız güvenlidir. Tek bir yazım hatası, wp-admin dahil tüm sitenin yüklenmesini engelleyebilir, bu yüzden önce bir kopya indirin. Düzenlemeden sonra site bozulursa kopyayı geri koyun.

wp-config.php dosyasını silersem ne olur?

WordPress veritabanı girişini artık bulamaz ve yapılandırma dosyası oluşturmanızı isteyen kurulum sürecini başlatır. İçeriğiniz veritabanında kalır, bu yüzden yedeği geri yüklemek veya dosyayı aynı bilgilerle yeniden oluşturmak siteyi tekrar bağlar.

wp-config.php dosyasının izinleri ne olmalı?

WordPress'in güvenlik rehberi dosyayı yalnızca sizin ve web sunucusunun okuyabilmesi gerektiğini söyler, bu da genellikle 400 veya 440 anlamına gelir. Dosya izinleri rehberinde 600 de gösterilir. Web sunucusunun dosyayı yine de okuyabilmesi gerekir, bu yüzden site yüklenmeyi bırakırsa barındırma firmanıza danışın.