wp-config.php temel ayarları: Dosya & bellek, revizyonlar — SSH, SFTP, cPanel kurulum rehberi

wp-config.php dosyası, bir WordPress web sitesinin en önemli yapılandırma dosyasıdır. WordPress'in veritabanına bağlanması ve çalışması için gereken temel bilgileri içerdiği için sitenin kalbi gibi çalışır.
Ⅰ. wp-config.php'nin görevi
Bu dosya aşağıdaki hassas ayarları içerir.

Bu özellikleri yüzünden wp-config.php dosyası, dışarıdan gelen saldırganlar için birinci hedef olur. Dosya izinleri yanlış ayarlanır ya da içeriği açığa çıkarsa veritabanının tamamı sızabilir veya sitenin yönetim yetkisi ele geçirilebilir; bu da ciddi bir güvenlik açığına yol açar. Bu nedenle WordPress güvenliğini güçlendirmenin ilk adımı bu dosyayı güvence altına almaktır.
1️⃣ wp-config.php dosyasının konumu
wp-config.php, WordPress'in kurulu olduğu en üst klasörde, [wp-admin], [wp-content] ve [wp-includes] klasörleriyle aynı yerde bulunur. cPanel hostingde bu klasör [public_html]'dir; benim Lightsail VPS'imde dosya [/home/uknew/www/wp-config.php] konumundadır.
Dosyayı en üst klasörde göremiyorsanız bir üst klasöre bakın. WordPress, wp-config.php'yi önce kurulum klasöründe arar; orada yoksa hemen üstteki klasörden yükler.
2️⃣ wp-config.php nasıl açılır
Hosting kontrol panelindeki [Dosya Yöneticisi]'nde en üst klasöre gidin, wp-config.php'ye sağ tıklayıp [Edit]'i seçin. Bu yöntemle dosyayı ayrı bir program olmadan doğrudan tarayıcıda düzenleyebilirsiniz.
FTP programıyla (FileZilla) bağlanırsanız dosyayı bilgisayarınıza indirip bir düzenleyicide değiştirir, sonra yeniden yüklersiniz. Yüklemeden önce orijinalin bir kopyasını ayrıca saklarsanız hata olduğunda hemen geri dönebilirsiniz.
VPS gibi SSH ile bağlanılan sunucularda düzenleyici adının ([vi]) ardına dosya yolunu ekleyerek çalıştırırsınız; [nano] ile de aynı şekilde açabilirsiniz.
vi /home/uknew/www/wp-config.php3️⃣ wp-config-sample.php ve temel yapı
Yeni indirilen WordPress paketinde wp-config.php yoktur; aynı yerde yalnızca [wp-config-sample.php] bulunur. Kurulum ekranında veritabanı bilgilerini girdiğinizde WordPress bu dosyayı temel alarak wp-config.php'yi oluşturur; dosyayı kendiniz kopyalayıp adını değiştirseniz de sonuç aynıdır.
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );[DB_NAME], [DB_USER], [DB_PASSWORD] ve [DB_HOST] satırlarına hostingden aldığınız veritabanı bilgilerini yazarsınız. Değerlerden biri bile yanlışsa site yerine [Error establishing a database connection] hatası görünür.
[AUTH_KEY]'den [NONCE_SALT]'a kadar sekiz satır giriş çerezlerini şifreleyen değerlerdir; [https://api.wordpress.org/secret-key/1.1/salt/] adresinden yeni bir set alıp hepsini birden değiştirirsiniz. Değerleri değiştirince oturum açmış tüm kullanıcıların oturumu kapanır.
[$table_prefix], veritabanı tablo adlarının önüne eklenen önektir; varsayılan değeri [wp_]'dir ve tek bir veritabanına birden fazla WordPress kurulduğunda kurulumları birbirinden ayırır. [WP_DEBUG]'ı [true] yaparsanız PHP hataları ekranda görünür; bu yüzden yayındaki sitede [false] olarak bırakın.
Ⅱ. WordPress kurulumundan sonra uygulanan wp-config.php temel ayarları
Tüm ayar satırları /* That’s all, stop editing! Happy publishing. */ yorumunun üstüne yazılır. Aşağıdaki simülatörde SSH, cPanel ve FTP arasından bağlantı yöntemini seçip wp-config.php'yi açtığınızda soldan bastığınız ayarın satırına doğrudan gidilir.
- Ayar sabitleri (define) üstte: WordPress ayarlarıyla ilgili sabitlerin çoğu (define) /* That’s all, stop editing! Happy publishing. */ yorumunun hemen üstünde tanımlanmalıdır; böylece WordPress ayarları başlatırken bunları düzgün yükler.
- WordPress'in yüklenmesi altta başlar: Bu yorumun altında [ABSPATH] tanımı ve [require_once( ABSPATH . ‘wp-settings.php’ );] kodu bulunur. Bu [wp-settings.php] dosyası yüklendiği andan itibaren WordPress'in temel işlevleri gerçekten çalışmaya başlar.
WP_MAX_MEMORY_LIMIT ise “yönetim ve iç işlemler için genişletilmiş sınır”dır.
İkisini birlikte ayarladığınızda WordPress belleğini tam olarak kontrol etmek mümkün olur.


/wp-admin/admin-ajax.php dosyasını kullanarak web tarayıcısından AJAX çağrıları yapar. WordPress panelinde bu dosya nedeniyle her 15 saniyede bir POST isteği gönderilir.


/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
global $pagenow;
if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
wp_deregister_script('heartbeat');
}
}, 1);🔢 SSS & önerilen içerikler
Performans
WP-Cron'u kapatma ve sistem cron'u
Her sayfa açılışında çalışan wp-cron.php'yi kapatıp sunucu cron'una taşımanın yolu.
Ayarlar
FTP kimlik bilgisi isteğini kaldırmanın 2 yolu
Her eklenti güncellemesinde çıkan FTP giriş penceresini kaldırmanın iki yolu.
Hata
Critical error: nedeni ve çözümü
[There has been a critical error] mesajı çıktığında nedenin bulunup çözülme süreci.
ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.