Canlı Destek Çevrimiçi
WordPress Zamanlama Kaçırıldı Hatasını 5 Dakikada Düzeltin
8 dk

WordPress Zamanlama Kaçırıldı Hatasını 5 Dakikada Düzeltin

WordPress sitenizde aniden “Zamanlama kaçırıldı” uyarısıyla karşılaştığınızda panik yapmak kolaydır. Özellikle bir güncelleme sırasında ya da tema değişikliği yaparken bu hata ekrana gelirse işleriniz durabilir ve siteniz ziyaretçilere kapanabilir. Neyse ki bu sorun çoğu zaman sandığınızdan daha basittir ve birkaç dakika içinde çözülebilir.

Bu yazıda, “wordpress Zamanlama kaçırıldı” hatasının arkasındaki en yaygın nedenleri, hatayı nasıl teşhis edeceğinizi ve sitenizi tekrar çalışır hale getirmek için uygulayabileceğiniz adımları bulacaksınız. Teknik terimlere boğulmadan, doğrudan uygulayabileceğiniz çözümler sunuyoruz.

1. “Zamanlama Kaçırıldı” Hatası Tam Olarak Nedir?

WordPress, sayfaları oluştururken PHP betiklerinin belirli bir süre içinde tamamlanmasını bekler. Bu süreye maksimum yürütme süresi denir ve genellikle 30 saniye olarak ayarlanmıştır. Eğer bir işlem bu süreyi aşarsa WordPress işlemi durdurur ve “Zamanlama kaçırıldı” hatasını gösterir.

Bu hata genellikle şu durumlarda ortaya çıkar:

  • Ağır ve optimize edilmemiş bir tema ya da eklenti kullanıyorsanız.
  • Sunucunuzun PHP yapılandırması düşük kaynaklarla sınırlanmışsa.
  • Büyük boyutlu veritabanı sorguları çalışıyorsa.
  • WordPress çekirdek, tema ya da eklenti güncellemeleri sırasında bağlantı koparsa.

Hatanın can sıkıcı yanı, sitenin tamamen erişilemez hale gelmesidir. Ancak çoğu durumda çözüm birkaç basit adımda saklıdır.

2. Hatanın Kaynağını Hızlıca Belirleme

Hemen çözüme atlamadan önce sorunun nereden kaynaklandığını anlamak, tekrar yaşanmasını engeller. Aşağıdaki kontrol listesi işinizi kolaylaştıracaktır:

  • Hata ne zaman başladı? Son yaptığınız değişiklikleri hatırlayın: yeni bir eklenti kurdunuz mu? Tema güncellediniz mi? Sunucu ayarlarıyla oynadınız mı?
  • Hata tüm siteyi mi etkiliyor yoksa sadece yönetici panelini mi? Eğer ön yüz çalışıyor ancak /wp-admin sayfası hata veriyorsa sorun daha spesifiktir.
  • Hata mesajında ek bilgi var mı? Bazen hata ekranı “Fatal error: Maximum execution time exceeded in /home/…/dosya.php on line 123” gibi ayrıntılar verir. Buradaki dosya adı suçluyu gösterebilir.

Eğer hataları göremiyorsanız WordPress hata ayıklama modunu açın. wp-config.php dosyasına şu satırları ekleyin:

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

Bu sayede hatalar ekrana basılmaz ancak /wp-content/debug.log dosyasına kaydedilir. Dosyayı inceleyerek hangi betiğin zaman aşımına uğradığını görebilirsiniz.

3. Maksimum Yürütme Süresini Artırma

En hızlı ve çoğu zaman kalıcı olmayan çözüm, PHP’nin maksimum yürütme süresini artırmaktır. Bunu birkaç yolla yapabilirsiniz:

php.ini Dosyasıyla

Eğer sunucunuza erişiminiz varsa php.ini dosyasında şu değeri bulup değiştirin:

max_execution_time = 300

300 saniye çoğu işlem için yeterlidir. Değişiklikten sonra web sunucunuzu yeniden başlatmayı unutmayın.

.htaccess Dosyasıyla

Paylaşımlı hostinglerde php.ini’ye erişemeyebilirsiniz. Bu durumda kök dizindeki .htaccess dosyasına şu satırı ekleyin:

php_value max_execution_time 300

Bazı hosting firmaları bu yönteme izin vermeyebilir. Eğer 500 hatası alırsanız satırı geri alın ve diğer yöntemleri deneyin.

wp-config.php Dosyasıyla

WordPress’in yapılandırma dosyasına da süre sınırı komutu eklenebilir:

set_time_limit(300);

Bu satırı wp-config.php dosyasında <?php etiketinin hemen altına ekleyin. Ancak bu yöntem sadece WordPress tarafından tetiklenen işlemler için geçerlidir; sunucu seviyesinde bir sınırlama varsa işe yaramayabilir.

Yürütme süresini artırmak genellikle hatayı geçici olarak çözer. Fakat asıl sorun verimsiz kod veya aşırı kaynak tüketimi ise süreyi artırmak sadece belirtileri örter. Kalıcı çözüm için altta yatan nedeni bulmalısınız.

4. Suçlu Eklentiyi veya Temayı Tespit Etme ve Devre Dışı Bırakma

Hata genellikle uyumsuz veya hatalı bir eklentiden kaynaklanır. Özellikle yakın zamanda kurduğunuz veya güncellediğiniz eklentileri kontrol edin.

Siteye hiç erişemiyorsanız FTP veya hosting panelinizin dosya yöneticisi ile /wp-content/plugins/ klasörüne gidin. Tüm eklentileri geçici olarak devre dışı bırakmak için klasör adını “plugins.devredışı” olarak değiştirin. Bu işlem tüm eklentileri pasif hale getirir. Ardından siteyi kontrol edin. Hata düzelirse suçlu bir eklentidir.

Daha sonra eklentileri gruplar halinde etkinleştirerek sorunlu olanı bulabilirsiniz. Klasör adını eski haline getirin, siteye tekrar erişince yönetici panelinden eklentileri sırayla açıp her seferinde hatayı kontrol edin. Böylece hangi eklentinin soruna yol açtığını tespit edersiniz.

Eğer sorun temadan kaynaklanıyorsa benzer bir yöntemle /wp-content/themes/ klasöründeki aktif tema klasörünün adını geçici olarak değiştirebilirsiniz. WordPress varsayılan temaya dönecek ve siteniz açılacaktır.

Bu yöntem, hatanın kaynağını kesin olarak bulmanızı sağlar. Sorunlu eklentiyi veya temayı belirledikten sonra geliştiriciyle iletişime geçebilir ya da alternatifini kullanabilirsiniz.

5. WordPress Çekirdek Dosyalarını Onarma

Bazen güncellemeler sırasında çekirdek dosyalar eksik veya bozuk kalabilir. Bu da zaman aşımı hatalarına yol açar. WordPress yönetici paneline erişebiliyorsanız “Güncellemeler” sayfasından “WordPress’i yeniden yükle” düğmesine tıklayarak çekirdek dosyaları tazeleyebilirsiniz.

Panele erişemiyorsanız manuel olarak da yapabilirsiniz:

  1. WordPress.org’dan en son sürümü indirin.
  2. Zip dosyasını açıp wp-content klasörü hariç tüm dosya ve klasörleri sitenizin kök dizinine FTP ile yükleyin.
  3. Var olan dosyaların üzerine yazmanızı isteyecektir; onaylayın.

Bu işlem kişisel içeriğinize, tema ve eklentilerinize dokunmaz. Ancak yine de işlem öncesi tam yedek almak her zaman akıllıcadır.

Bozuk çekirdek dosyaları, özellikle wp-includes veya wp-admin klasörlerinde olabilir. Manuel güncelleme sonrası hata devam ediyorsa sorun muhtemelen başka yerdedir.

6. Sunucu Kaynaklarını ve PHP Sınırlarını Gözden Geçirme

Paylaşımlı hosting kullanıyorsanız sunucu tarafındaki kısıtlamalar bu hataya neden olabilir. Özellikle trafik yoğun sitelerde bellek limiti veya CPU sınırları aşıldığında betikler zamanında tamamlanamaz.

Aşağıdaki PHP sınırlarını kontrol etmeye değer:

  • memory_limit: Çoğu site için 128M yeterlidir, ancak bazı sayfa oluşturucular veya ağır eklentiler 256M veya üzerini isteyebilir.
  • max_input_time: POST verilerinin işlenmesi için ayrılan süre. Uzun form gönderimlerinde bu süre aşılabilir.
  • max_execution_time: Yürütme süresi, yukarıda değindiğimiz gibi.

Bu değerleri php.ini veya .htaccess ile artırabilirsiniz. Ancak hosting planınızın fiziksel sınırları varsa ne kadar yükseltirseniz yükseltin fayda etmeyebilir. Bu durumda hosting paketinizi yükseltmeyi veya daha güçlü bir sunucuya geçmeyi düşünebilirsiniz.

Sunucu günlüklerini inceleyerek kaynak kullanımınıza dair ipuçları bulabilirsiniz. cPanel gibi panellerde “Resource Usage” veya “CPU ve Eşzamanlı Bağlantı” istatistikleri genellikle mevcuttur.

7. Cron İşlerini ve Zamanlanmış Görevleri Düzenleme

WordPress, zamanlanmış görevler için wp-cron adlı bir sistem kullanır. Planlanmış yazılar, yedekleme eklentileri ve çeşitli otomasyonlar bu sisteme dayanır. Eğer bir cron işi çok fazla kaynak tüketiyor veya kilitleniyorsa zaman aşımı hatası alabilirsiniz.

Bu durumu kontrol etmek için WP Crontrol gibi bir eklenti ile tüm zamanlanmış görevleri listeleyebilirsiniz. Şüpheli görünen, özellikle yakın zamanda eklenmiş veya sık çalışan görevleri devre dışı bırakıp sonucu gözlemleyin.

Ek bir önlem olarak wp-cron’u sunucu seviyesinde gerçek bir cron job ile değiştirebilirsiniz. Bunun için wp-config.php dosyasına şu satırı ekleyin:

define('DISABLE_WP_CRON', true);

Ardından hosting panelinizden her 5-10 dakikada bir wp-cron.php dosyasını tetikleyecek bir cron işi oluşturun. Bu yöntem, sitenin her ziyaretçi isteğinde cron kontrolü yapmasını engelleyerek performansı artırır ve zaman aşımı riskini azaltır.

8. Veritabanı Optimizasyonu ve Temizliği

Şişmiş bir veritabanı, sorguların yavaşlamasına ve dolayısıyla zaman aşımına neden olabilir. Özellikle revizyonlar, spam yorumlar, geçici seçenekler (transient) ve eski eklenti tabloları veritabanınızı gereksiz yere büyütür.

Veritabanını temizlemek için WP-Optimize gibi eklentiler kullanabilirsiniz. Manuel yapmak isterseniz phpMyAdmin ile şu sorguları çalıştırabilirsiniz (mutlaka önce yedek alın):

-- Revizyonları silmek:
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Spam yorumları silmek:
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Çöp kutusundaki yorumları silmek:
DELETE FROM wp_comments WHERE comment_approved = 'trash';

Ayrıca eski eklentilerden kalmış tabloları da kontrol edip gereksiz olanları kaldırabilirsiniz. Veritabanını optimize ettikten sonra birçok site gözle görülür hızlanır ve zaman aşımı hataları azalır.

9. Harici İstekleri ve API Bağlantılarını İnceleme

WordPress, güncelleme kontrolleri, hava durumu widget’ları veya sosyal medya beslemeleri gibi nedenlerle dış sunuculara istek yapar. Eğer bu istekler yavaş yanıt veriyor veya hiç yanıt vermiyorsa, PHP betiği yanıt beklerken zaman aşımına uğrayabilir.

Özellikle cURL çağrıları yapan eklentiler bu hataya yatkındır. Hata ayıklama günlüğünde bir dış URL görürseniz, o hizmetin geçici olarak kapalı olup olmadığını kontrol edin.

Geçici bir çözüm olarak, sorunlu eklentinin dış bağlantılarını devre dışı bırakabilir veya wp-config.php dosyasına şu satırı ekleyerek dış istek süresini kısıtlayabilirsiniz:

define('WP_HTTP_BLOCK_EXTERNAL', true);

Bu, tüm dış istekleri engeller; eğer hata kaybolursa suçlu bir dış bağlantıdır. Daha sonra sadece gerekli adreslere izin vermek için WP_ACCESSIBLE_HOSTS sabitini kullanabilirsiniz.

10. Hata Tekrarlarsa Kalıcı Önlemler

Yukarıdaki adımlarla sorunu çözdükten sonra tekrarını önlemek için şu alışkanlıkları edinin:

  • Eklenti ve tema güncellemelerini canlı site yerine önce bir test ortamında deneyin.
  • Düzenli yedek alın; hata durumunda hızlıca geri dönebilirsiniz.
  • Performansı izlemek için Query Monitor eklentisini kullanın; hangi işlemlerin uzun sürdüğünü canlı olarak görürsünüz.
  • Gereksiz eklentileri kaldırın, kullanmadığınız temaları silin.
  • Barındırma sağlayıcınızın destek ekibine hata kayıtlarını göstererek sunucu tarafında bir iyileştirme talep edin.

Unutmayın, “Zamanlama kaçırıldı” hatası genellikle bir belirtidir; altta yatan asıl nedeni bulup düzeltmek sitenizin genel sağlığı için en iyisidir.

Bu yazıda geçen yöntemleri sırasıyla uygularsanız, çoğu durumda 5 dakika içinde sitenizi tekrar ayağa kaldırabilirsiniz. Hata giderme sırasında kararsız kalırsanız, her zaman bir yedeğe dönme seçeneğiniz olduğunu aklınızda bulundurun.

15 yorum

  1. Geçenlerde büyük bir eklenti kurduktan sonra bu hatayla karşılaştım. Eklentiyi devre dışı bırakınca düzeldi ama yazıdaki adımlar daha kalıcı bir çözüm gibi duruyor.

  2. Veritabanı sorguları demişsiniz, optimize etmek için özel bir eklenti önerir misiniz? Ya da sorguları manuel olarak nasıl temizleyebiliriz? Bu konuda biraz daha detay iyi olurdu.

  3. Yönetici panelinde hata verirken ön yüz çalışıyordu. Eklentileri FTP’den tek tek kapatıp deneme yanılmayla buldum sorunluyu. Makaledeki kontrol listesi bu işi hızlandırır.

  4. Yazıda bağlantı kopmasından bahsetmişsiniz. Güncelleme sırasında internet gidip geldiğinde bu hata kalıcı olarak siteyi bozuyor mu? Yoksa tekrar deneyince düzelir mi? Net bilgi yok.

Yorum Yaz

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