WordPress Memory Limit ve Kritik Hata: wp-config Optimizasyonu

Hostmana 26 Haziran 2026 9 dk okuma

WordPress yöneticilerinin en çok korktuğu ekranlardan biri, sade bir cümleyle karşınıza çıkan "Bu sitede kritik bir hata oluştu" uyarısıdır. Site bir anda erişilemez hale gelir, yönetim paneline bile giremezsiniz. Bu hatanın en sık görülen sebeplerinden biri, çoğu kullanıcının farkında olmadığı bir kaynak sınırıdır: PHP bellek limiti (memory limit).

Bu yazıda, wordpress memory limit kritik hata ilişkisini, sorunun neden ortaya çıktığını ve wp-config.php ile diğer yapılandırma dosyaları üzerinden belleği doğru şekilde optimize etmeyi adım adım ele alıyoruz. Beyaz ekran (WSOD) ve genel 500 hatalarına değil, özellikle bellek tükenmesi kaynaklı kritik hatalara odaklanıyoruz.

Memory Limit Nedir ve Neden Kritik Hataya Yol Açar?

WordPress, PHP üzerinde çalışır. Her sayfa isteği için PHP'ye bir miktar bellek ayrılır ve bu belleğin tavanı memory_limit değeriyle belirlenir. Bir eklenti, tema veya çekirdek işlem bu tavanı aştığında PHP işlemi durdurur ve şu mesajı log dosyasına yazar:

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted

Buradaki 134217728 bayt, 128 MB demektir. WordPress 6.x sürümlerinde bu tür ölümcül (fatal) hatalar artık beyaz ekran yerine kibarca "kritik hata oluştu" mesajına dönüştürülür. Yani gördüğünüz nazik uyarının arkasında çoğu zaman sert bir bellek tükenmesi yatar.

Bellek tükenmesinin tipik tetikleyicileri şunlardır:

  • Ağır eklentiler: Sayfa oluşturucular (page builder), güvenlik tarayıcıları, yedekleme eklentileri.
  • WooCommerce işlemleri: Çok sayıda ürün, varyasyon veya toplu sipariş güncellemesi.
  • Tema fonksiyonları: Optimize edilmemiş functions.php döngüleri.
  • İçe/dışa aktarma: Büyük XML/CSV import işlemleri.
  • Görsel işleme: Yüksek çözünürlüklü görsellerin kırpılması ve yeniden boyutlandırılması.

WordPress'in İki Ayrı Bellek Limiti

Çoğu kullanıcının kaçırdığı kritik nokta şudur: WordPress'in iki farklı bellek sınırı vardır.

Sabit İşlevi Tipik değer
WP_MEMORY_LIMIT Site ön yüzü (frontend) için bellek tavanı 40 MB (varsayılan)
WP_MAX_MEMORY_LIMIT Yönetim paneli (wp-admin) ve ağır işlemler için tavan 256 MB

Yani sadece bir tanesini artırmak çoğu zaman yetmez. Özellikle medya yükleme, eklenti güncelleme ve içe aktarma gibi işlemler WP_MAX_MEMORY_LIMIT değerine bakar. İki değeri birlikte ele almak gerekir.

Ayrıca bu WordPress sabitleri, sunucu tarafındaki PHP memory_limit değerinden bağımsız değildir. WordPress yalnızca PHP'nin izin verdiği üst sınıra kadar bellek isteyebilir. PHP memory_limit 128 MB iken wp-config.php'de 512 MB tanımlamak işe yaramaz; gerçek tavan yine 128 MB kalır.

wp-config.php ile Belleği Artırma

Sorunu çözmenin en hızlı yolu wp-config.php dosyasını düzenlemektir. Bu dosya WordPress kök dizininde bulunur. DirectAdmin veya Plesk kontrol panelinizdeki Dosya Yöneticisi üzerinden ya da FTP ile erişebilirsiniz.

Düzenlemeye başlamadan önce mutlaka dosyanın bir yedeğini alın. Ardından aşağıdaki satırları bulun:

/* That's all, stop editing! Happy publishing. */

Bu yorum satırının üstüne şu tanımları ekleyin:

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Bu satırları "That's all, stop editing!" yorumundan sonra eklerseniz WordPress bunları yok sayabilir; her zaman üstüne yazın.

Doğru Değeri Seçmek

Belleği "ne kadar çoksa o kadar iyi" mantığıyla artırmak yanlıştır. Aşırı yüksek değerler, tek bir hatalı eklentinin sunucu kaynaklarını kontrolsüzce tüketmesine zemin hazırlar. Pratik bir yol haritası şöyledir:

  • Standart blog / kurumsal site: 256 MB genellikle fazlasıyla yeterlidir.
  • WooCommerce / e-ticaret: 256–512 MB makul bir aralıktır.
  • Büyük import veya çok dilli siteler: Geçici olarak 512 MB denenebilir.

Eğer 512 MB ile bile hata devam ediyorsa, sorun büyük olasılıkla bellek sınırı değil, bellek sızıntısı yapan bir eklentidir. Bu durumda limiti yükseltmek yerine sorunun kaynağını bulmak gerekir.

Sunucu Tarafında PHP memory_limit Ayarı

wp-config.php değişikliği işe yaramadıysa, sınır sunucu seviyesindedir. PHP memory_limit değerini birkaç yöntemle artırabilirsiniz.

1. php.ini Üzerinden

Paylaşımlı hosting hesaplarında genellikle hesabınıza özel bir php.ini ya da kontrol panelindeki PHP Seçenekleri / PHP Yapılandırması bölümü bulunur. DirectAdmin'de "PHP Sürümü Seçici", Plesk'te ise alan adının PHP Ayarları sekmesi bu işi görür. İlgili satır:

memory_limit = 256M

2. .htaccess Üzerinden

Apache tabanlı sunucularda, WordPress kök dizinindeki .htaccess dosyasına şu satırı ekleyebilirsiniz:

php_value memory_limit 256M

Uyarı: Sunucu PHP'yi FastCGI veya PHP-FPM modunda çalıştırıyorsa .htaccess üzerinden yapılan php_value tanımları çalışmaz ve 500 hatasına yol açabilir. Bu yöntemi denerken dikkatli olun; hata alırsanız satırı geri silin.

3. Kontrol Paneli Arayüzü

En güvenli yol, hosting kontrol panelinizdeki grafik arayüzü kullanmaktır. Hem DirectAdmin hem Plesk, PHP ayarlarını dosya düzenlemeden değiştirmenize olanak tanır. Bu yöntem, yanlış bir satırla siteyi tamamen erişilemez hale getirme riskini ortadan kaldırır.

Değişikliğin Çalışıp Çalışmadığını Doğrulama

Limiti artırdıktan sonra gerçekten uygulanıp uygulanmadığını kontrol etmek önemlidir. WordPress yönetim panelinde şu yolu izleyin:

Araçlar → Site Sağlığı → Bilgi → Sunucu

Burada "PHP bellek sınırı" satırında güncel değeri görebilirsiniz. Alternatif olarak kök dizine geçici bir phpinfo.php dosyası oluşturup memory_limit değerini doğrulayabilirsiniz — ancak kontrolden sonra bu dosyayı mutlaka silin, güvenlik açığı oluşturur.

Kritik Hatayı Teşhis Etmek: Asıl Suçluyu Bulun

Belleği artırmak çoğu zaman semptomu geçici olarak gizler. Kalıcı çözüm için hangi eklentinin veya işlemin belleği tükettiğini bulmalısınız. Bunun için hata günlüklerini (log) etkinleştirin. wp-config.php dosyasına şu satırları ekleyin:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Bu ayar, tüm PHP hatalarını wp-content/debug.log dosyasına yazar. Hata tekrarlandığında bu dosyayı açın; "Allowed memory size ... exhausted" satırının hemen üstündeki dosya yolu, sorunlu eklenti veya temayı işaret eder. Örneğin:

in /wp-content/plugins/agir-eklenti/functions.php on line 214

Önemli: WP_DEBUG_DISPLAY değerini canlı sitede her zaman false tutun. Hataların ziyaretçilere gösterilmesi hem güvenlik hem de itibar riskidir. Teşhis bittiğinde tüm debug satırlarını kaldırın.

Bellek Tüketimini Azaltmak İçin Optimizasyon

Limiti sürekli yükseltmek yerine, tüketimi azaltmak daha sürdürülebilir bir yaklaşımdır:

  1. Eklenti envanterini sadeleştirin. Kullanmadığınız her eklentiyi devre dışı bırakıp silin. Pasif eklenti bile güncellemelerle yük getirir.
  2. Aynı işi yapan eklentileri birleştirin. Üç ayrı SEO ya da önbellek eklentisi yerine tek ve kaliteli bir çözüm seçin.
  3. PHP sürümünü güncel tutun. PHP 8.x sürümleri, eski 7.4 sürümüne göre belirgin biçimde daha verimli bellek yönetimi sunar.
  4. Nesne önbelleği (object cache) kullanın. Redis gibi bir önbellek katmanı, tekrarlayan veritabanı sorgularının bellek yükünü azaltır.
  5. Görselleri optimize edin. Yüklemeden önce görselleri boyutlandırmak, anlık işleme yükünü düşürür.

Hata Devam Ediyorsa: Hızlı Kontrol Listesi

Tüm adımlara rağmen kritik hata sürüyorsa şu sırayı izleyin:

  • Tüm eklentileri devre dışı bırakın; hata kaybolursa teker teker etkinleştirerek suçluyu bulun.
  • Varsayılan bir temaya (örneğin Twenty Twenty-Four) geçin.
  • debug.log dosyasını okuyun ve son hatanın işaret ettiği dosyaya odaklanın.
  • PHP sürümünü kontrol panelinden bir üst kararlı sürüme alın.
  • Hosting sağlayıcınızın gerçek (hard) kaynak limitlerini öğrenin; bazı durumlarda sorun paketinizin fiziksel sınırlarına dayanmıştır ve daha yüksek kaynaklı bir plana geçmek gerekir.

Özetle

WordPress'teki "kritik hata" mesajı çoğu zaman korkutucu görünse de, arkasındaki neden genellikle yetersiz bellek gibi yönetilebilir bir sınırdır. wp-config.php üzerinden WP_MEMORY_LIMIT ve WP_MAX_MEMORY_LIMIT değerlerini doğru ayarlamak, sunucu tarafında PHP memory_limit ile uyumlu çalışmasını sağlamak ve asıl tüketim kaynağını günlükler üzerinden teşhis etmek, sorunu hem hızlı hem kalıcı şekilde çözer. Belleği körü körüne artırmak yerine, optimizasyona dayalı bir yaklaşım sitenizi uzun vadede çok daha sağlıklı tutar.


Sitenizdeki memory limit ve kritik hataları çözerken takıldığınız bir nokta mı var? Hostmana olarak hosting paketlerimizde güncel PHP sürümleri, esnek kaynak limitleri ve DirectAdmin/Plesk üzerinden kolay yapılandırma imkânı sunuyoruz; yüksek bellek gerektiren projeleriniz için hosting çözümlerimize ya da daha fazla kontrol isteyen siteler için yurt dışı sanal sunucu seçeneklerimize göz atabilirsiniz. Sitenizin hız ve sağlık durumunu test etmek için ücretsiz web araçlarımızı kullanabilir, adım adım rehberler için bilgi bankamızı inceleyebilirsiniz. Çözüme tek başınıza ulaşamazsanız uzaktan canlı destek ekibimiz ekranınıza bağlanarak yardımcı olur; dilediğiniz an bizimle iletişime geçin.

Beste Ercan çevrimiçi
Merhaba! Size en uygun hosting/sunucu paketini bulmanızda yardımcı olabilir miyim?
Beste Ercan
Çevrimiçi · size özel paket arıyor