WordPress Sitenizde 504 Ağ Geçidi Zaman Aşımı Hatası Nasıl Düzeltilir

Yayınlanan: 2020-10-26

504 Ağ Geçidi Zaman Aşımı hatası, web sitesi sahipleri ve site ziyaretçilerinin karşılaştığı en yaygın HTTP 5xx hatalarından biridir. Birçok WordPress blogu ve e-ticaret platformu için, bunun gibi sunucu hatalarının nasıl düzeltileceğini bilmek, zor kazanılan ziyaretçilerinin rakip sitelere sıçramasını önlemek için çok önemlidir.

504 Ağ Geçidi Zaman Aşımı hatası size bunun neden olduğunu söylemediğinden, sunucu zaman aşımına neyin neden olduğunu belirlemek zordur. Bu makale, onu ayrıntılı olarak anlamanıza, nedenini nasıl teşhis edeceğinizi öğrenmenize ve ardından düzeltmenize yardımcı olacaktır.

Gönderide belirtilen tüm çeşitli çözümleri denedikten sonra, siteniz kısa sürede hazır ve çalışır durumda olmalıdır.

Kulağa ilginç geliyor mu? Hadi dalalım!

Video versiyonunu izlemeyi mi tercih ediyorsunuz?

504 Ağ Geçidi Zaman Aşımı hatası, web sitesi sahipleri ve site ziyaretçilerinin karşılaştığı en yaygın HTTP 5xx hatalarından biridir. Bu kılavuzla hızlı bir şekilde nasıl düzelteceğinizi öğrenin. ️ Tweetlemek için tıklayın

504 Ağ Geçidi Zaman Aşımı Hatası Nedir?

Tarayıcınızda bir web sitesini her ziyaret ettiğinizde, tarayıcı sitenin barındırıldığı web sunucusuna bir istek gönderir. Sunucu, isteği işler ve istenen kaynaklarla yanıt verir.

HTTP isteklerinin ve yanıtlarının nasıl çalıştığını gösteren çizim
HTTP istekleri ve yanıtları nasıl çalışır?

Sunucu yanıtı, tarayıcıya yanıtın durumunu belirtmek için birçok HTTP durum kodundan birini içerir. Ancak bu HTTP durum kodlarının tümü hata değildir. Örneğin, 200 OK durum kodu, sunucunun isteği başarıyla işlediği ve "Her şey yolunda" olduğu anlamına gelir.

5xx sınıfı HTTP durum kodları, sunucuda bir sorun olduğunu, sunucunun bunun farkında olduğunu ve istemci isteğini yerine getiremeyeceğini gösterir. Sonuç olarak, Sunucu Hatası 5xx durum kodları olarak da anılırlar.

Resmi olarak, 5xx sınıfı (500, 501, 502, 503, 504) altında beş durum kodu belirtilmiştir. Resmi olmayan birçok kodla da karşılaşabilirsiniz (506, 507, 509, 520, vb.).

İnternet Mühendisliği Görev Gücü (IETF), 504 Ağ Geçidi Zaman Aşımı hatasını şu şekilde tanımlar:

504 (Gateway Timeout) durum kodu, sunucunun bir ağ geçidi veya proxy olarak hareket ederken, isteği tamamlamak için erişmesi gereken bir yukarı akış sunucusundan zamanında yanıt almadığını gösterir.

Daha da basitleştirmek için, bu hata, bir isteği işlemeye iki sunucu dahil olduğunda ortaya çıkar. İlk sunucu (genellikle ana sunucu) zaman aşımına uğrar ve ikinci sunucudan (yukarı akış sunucusu) yanıt bekler.

504 Ağ Geçidi Zaman Aşımı hatası, çeşitli şekillerde kendini gösterir. Genellikle ortaya çıktığı bazı yollar şunlardır:

Chrome tarayıcısında HTTP ERROR 504
Chrome tarayıcısında 'HTTP ERROR 504'.

504 Ağ Geçidi Zaman Aşımı hatası, ilk sunucunun ikinci sunucudan (yukarı akış sunucusu) geçersiz bir yanıt aldığını gösteren 502 Kötü Ağ Geçidi hatasına benzer.

Chrome DevTools'da 504 GATEWAY TIMEOUT durum kodu
Chrome DevTools'daki '504 GATEWAY TIMEOUT' durum kodu.

504 Ağ Geçidi Zaman Aşımı Hatasının Varyasyonları

Tarayıcı, diğer tüm hatalar gibi, herhangi bir 504 Ağ Geçidi Zaman Aşımı hatasını da içinde görüntüler. Çeşitli işletim sistemleri, web sunucuları, tarayıcılar ve kullanıcı aracıları olduğu için birden çok şekilde görünebilir.

Aşağıda, karşılaşabileceğiniz birkaç yaygın 504 hata mesajı varyasyonu bulunmaktadır:

  • 504 Geçidi Zaman Aşımı
  • 504 Ağ Geçidi Zaman Aşımı NGINX
  • NGINX 504 Ağ Geçidi Zaman Aşımı
  • Ağ Geçidi Zaman Aşımı Hatası
  • Hata 504
  • HTTP Hatası 504
  • HTTP Hatası 504 — Ağ Geçidi Zaman Aşımı
  • HTTP504
  • 504 Hatası
  • Ağ Geçidi Zaman Aşımı (504)
  • Bu sayfa çalışmıyor — Alanın yanıt vermesi çok uzun sürdü
  • 504 Ağ Geçidi Zaman Aşımı — Sunucu zamanında yanıt vermedi
  • Tamamlanması çok uzun sürdüğü için sayfa isteği iptal edildi
  • Site ziyaretçileri: İsteğinizi yerine getirirken bir sorun oluştu, lütfen birkaç dakika sonra tekrar deneyin.
  • Site Sahipleri: Bir ağ geçidi zaman aşımı oluştu. Daha fazla bilgi için hata günlüğünüzü ziyaret etmelisiniz.
  • Boş bir beyaz ekran

Yukarıdaki tüm hata yanıtları, farklı şekilde ifade edilse de, aynı 504 Ağ Geçidi Zaman Aşımı sunucusu hatasına işaret eder.

Web sunucuları ve web siteleri, 504 Ağ Geçidi Zaman Aşımı hatasını kullanıcılara nasıl göstereceklerini özelleştirebilir. Bazıları havalı olabilir! Ziyaretçilerinin hayal kırıklığını gidermek için mükemmel bir taktik.

GitHub'ın özelleştirilmiş HTTP 504 hata sayfası
GitHub'ın özelleştirilmiş HTTP 504 hata sayfası.

504 Ağ Geçidi Zaman Aşımı Hatasının SEO Etkisi

Tüm 5xx hataları, bir web sayfasının yüklenmesini engelleyerek kullanıcı deneyimine zarar verir. Bu nedenle, Google gibi arama motorları bu hataları ciddiye alır. Hata uzun süre devam ederse, web sayfasının arama motoru sonuçlarından çıkarılmasına bile yol açabilir.

Örneğin, Google örümcekleri bir 503 Hizmet Kullanılamıyor hatasıyla karşılaştıklarında, çoğunlukla site bakım modunu etkinleştirmek için kullanıldığından bunun geçici bir sorun olduğunu anlayacaklardır. Bu nedenle, daha sonra sayfayı tekrar taramaya çalışacaklardır.

Bir 504 Ağ Geçidi Zaman Aşımı hatası, birden çok nedene bağlı olabileceğinden mutlaka geçici değildir. Siteniz yalnızca birkaç dakikalığına kapalıysa ve örümcekler siteyi her dakika birkaç kez taramaya çalışıyorsa, sayfayı önbelleklerinden sunmaya çalışırlar. Bunu fark etmeyeceklerdi bile.

Ancak siteniz 6 saatten fazla bir süre boyunca kapalıysa, Google 504 hatasını site genelinde ciddi bir sorun olarak değerlendirir ve mümkün olan en kısa sürede düzeltmeniz gerekir. Bu, SEO'nuzu olumsuz etkileyebilir.

Google Arama Konsolunda tarama hatalarını görüntüleme
Google Arama Konsolunda tarama hatalarını görüntüleme

Google Arama Konsolu, web sitenizin HTTP 5xx hatalarını izlemek için en iyi SEO araçlarından biridir.

504 Ağ Geçidi Zaman Aşımı Hatasının Nedenleri

504 hatası, sunucular arasındaki bir zaman aşımından kaynaklandığından, sorun muhtemelen müşterinin cihazında veya internet bağlantısında değildir. Bu aynı zamanda cihazınızı ve bağlantınızı da içerir.

504 Ağ Geçidi Zaman Aşımı hatası, web sunucusunun başka bir sunucudan yanıt vermek için çok uzun süre beklediğini ve "zaman aşımına uğradığını" gösterir. Bu zaman aşımının birçok nedeni olabilir: diğer sunucu düzgün çalışmıyor, aşırı yüklenmiş veya kapalı.

Diğer sunucunun her zaman harici olması gerekmez (örn. CDN, API ağ geçidi). Ayrıca ana web sunucusu içinde sunucu benzeri bir varlık olabilir (örn. ters proxy sunucusu, veritabanı sunucusu).

504 Ağ Geçidi Zaman Aşımı Hatası Nasıl Düzeltilir

WordPress sitesi hakkında sunucu yapılandırması, barındırma planı, üçüncü taraf eklentileri ve çektiği trafik gibi kesin ayrıntıları bilmeden, 504 Ağ Geçidi Zaman Aşımı hatasını düzeltmeyi sinir bozucu ve bunaltıcı bulabilirsiniz.

Birçok değişken söz konusu olduğundan, oldukça nadir görülen istemci tarafı sorunları çözerek başlamanızı ve ardından sunucu tarafı sorunlarını gidermeye geçmenizi öneririm. Genellikle 504 hatası olan suçlulardır.

Web Sayfasını Yeniden Yüklemeyi Deneyin

504 Ağ Geçidi Zaman Aşımı hatasıyla karşılaştığınızda deneyebileceğiniz ilk şeylerden biri birkaç dakika bekleyip sayfayı yeniden yüklemeyi denemektir.

Çoğu tarayıcıda web sayfasını yenilemek/yeniden yüklemek için F5 klavye kısayoluna basabilirsiniz. Yeniden yüklemeden önce sayfanın tarayıcı önbelleğini kaldırmak için bunun yerine CTRL+F5 kısayol kombinasyonuna basabilirsiniz.

Chrome tarayıcıda bir web sayfasını yenileme
Chrome tarayıcıda bir web sayfasını yenileme

Bunu yaparken, bir sorun olarak ekarte etmek için siteyi farklı bir tarayıcıda yüklemeyi de deneyebilirsiniz. 504 hatalarının çoğu geçici olarak aşırı yüklenmiş sunuculardan kaynaklandığından, bu çözümü kullanmak sitenizin hemen geri gelmesini sağlayacaktır.

Beklemek ve siteyi yeniden yüklemek 504 hatası sorununu çözmezse, bir sitenin herkes için mi yoksa sadece sizin için mi kapalı olduğunu kontrol edebilirsiniz. Bir sitenin kapalı kalma süresini test etmek için iki yararlı çevrimiçi araç: Herkes için Kapalı mı yoksa Sadece Ben mi ve Şu Anda mı Kapalı?

Kinsta.com'u Down for Herkes veya Just Me'de Test Etme
Kinsta.com'u Down for Herkes veya Just Me'de Test Etme

Ağ Cihazlarınızı Yeniden Başlatın

Bazen modem veya yönlendirici gibi ağ cihazlarınızdaki sorunlar 504 Ağ Geçidi Zaman Aşımı hatasına neden olabilir. Bu cihazları yeniden başlatmak, sorunu çözmenize yardımcı olabilir.

Tüm bu ağ aygıtlarını herhangi bir sırayla kapatabilseniz de, onları tekrar açtığınız sıra önemlidir. Tipik olarak, internet servis sağlayıcısından ana istemci cihazınıza bağlantı sırasını izleyerek bu cihazları "dışarıdan" açın.

Proxy Ayarlarınızı Kontrol Edin

Cihazınız ve internet arasında bir proxy sunucusu bulunur. Çoğunlukla özel bilgileri (örneğin cihaz konumu) web sitelerinden ve web sunucularından (örneğin bir VPN kullanarak) gizleyerek çevrimiçi gizliliği geliştirmek için kullanılır.

Proxy sunucularının 504 hatasına neden olması nadir olmakla birlikte, bazen bunun nedeni yanlış proxy sunucu ayarları olabilir. Proxy sunucusunu devre dışı bırakabilir ve hatayı düzeltip düzeltmeyeceğini görmek için web sayfasını yeniden yüklemeyi deneyebilirsiniz.

Windows 10'da "Proxy" ayarlarını değiştirme
Windows 10'da 'Proxy' ayarlarını değiştirme

Çoğu istemci bir proxy hizmeti kullanmaz, bu nedenle herhangi bir proxy sunucusu kullanmadığınızdan eminseniz bu adımı atlayabilirsiniz. Ancak, bunu bilmeden bile ayarlamış olabilirsiniz. Bu nedeni ortadan kaldırmak için cihazınızın ve tarayıcınızın proxy ayarlarını kontrol etmenizi öneririm.

DNS Sorunları

504 Ağ Geçidi Zaman Aşımı hatası, sunucu tarafındaki veya istemci tarafındaki (veya her ikisindeki) DNS sorunlarından da kaynaklanabilir.

Sunucu tarafı DNS sorununun en olası nedeni, FQDN'nin (tam nitelikli etki alanı adı) doğru IP adresini çözmemesi veya DNS sunucusunun yanıt vermemesidir . Genellikle bu, WordPress sitenizi yeni bir sunucuya veya ana bilgisayara yeni taşıdığınızda ortaya çıkar. Bu nedenle, etki alanının DNS kayıtlarının tam olarak yayılmasını beklemek önemlidir, bu da 24 saate kadar sürebilir.

DNS'nizin dünyaya yayılıp yayılmadığını görmek için whatsmydns.net DNS Checker veya DNSMap gibi ücretsiz araçları kullanabilirsiniz.

whatsmydns.net'te alan adınız için DNS yayılımını kontrol etme
whatsmydns.net'te alan adınız için DNS yayılımını kontrol etme

İstemci tarafı DNS sorunlarını gidermek için yerel DNS önbelleğinizi temizlemeyi deneyebilirsiniz. Bu, tarayıcı önbelleğinizi temizlemek gibidir, ancak burada işletim sisteminden DNS önbelleğini boşaltıyorsunuz.

Windows kullanıyorsanız, Komut İstemi'ni açıp aşağıdaki yönergeyi girerek DNS önbelleğini temizleyebilirsiniz:

 ipconfig /flushdns
DNS Önbelleğini Komut İstemi ile Temizleme
Windows'ta Komut İstemi ile DNS Önbelleğini Temizleme

"DNS çözümleyici Önbelleği başarıyla temizlendi" ifadesini görmelisiniz. işe yaradıysa mesaj atın.

En son macOS sürümleri için Terminal'i açıp aşağıdaki komutu çalıştırabilirsiniz:

 sudo killall -HUP mDNSResponder

İşlem bittiğinde macOS'ta herhangi bir bildirim görmezsiniz, ancak komutu özel mesajınıza ekleyerek bunu değiştirebilirsiniz.

 sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

Daha eski macOS sürümlerini kullanıyorsanız girmeniz gereken komut, çalıştırdığınız macOS sürümüne göre değişir. Daha fazla ayrıntı için Kinsta'nın derinlemesine temizleme DNS eğitimindeki macOS bölümüne başvurabilirsiniz.

Linux işletim sistemini kullanıyorsanız, Linux bile komut satırı arayüzü olarak Terminal'i kullandığından, süreç macOS'a oldukça benzer. Birçok Linux dağıtımı olduğundan, çalıştırmanız gereken tam komut bir dağıtımdan diğerine değişebilir. Daha fazla bilgi için Kinsta'nın kılavuzuna göz atabilirsiniz.

Son olarak, istemci tarafı DNS sunucularınızı geçici olarak değiştirebilirsiniz. Varsayılan olarak, ISS'niz DNS sunucularını size otomatik olarak atar. Ancak bunları geçici olarak genel DNS IP'lerine değiştirebilirsiniz.

Deneyebileceğiniz bazı güvenilir DNS sunucuları Google Public DNS, Cloudflare 1.1.1.1, Quad9 DNS ve Cisco OpenDNS'dir.

Windows 10'da özel DNS sunucularını ayarlar
Windows 10'da özel DNS sunucularını ayarlar

Sitenizin CDN'sini Geçici Olarak Devre Dışı Bırakın

Bazen sorun, içerik dağıtım ağınız (CDN) ile de ilgili olabilir. Bir sitenin kaynak sunucusuna erişilemiyorsa çoğu CDN, web sayfasının tamamını önbellekten sunmaya çalışır.

Ancak çoğu CDN, dinamik varlıkları çoğu sitede (örneğin, WordPress yönetici panosu) önbelleğe almak karmaşık olduğundan bu özelliği varsayılan olarak etkinleştirmez.

Cloudflare'de "Her Şeyi Önbelleğe Al" sayfa kuralını ayarlama
Cloudflare'de 'Her Şeyi Önbelleğe Al' sayfa kuralını ayarlama

Bunu gidermenin basit bir yolu, CDN'nizi geçici olarak devre dışı bırakmaktır. Örneğin, site varlıklarınızı CDN URL'lerine bağlamak için ücretsiz CDN Etkinleştirici WordPress eklentisini kullanıyorsanız, eklentiyi devre dışı bırakabilir ve sitenizi yeniden yüklemeyi test edebilirsiniz.

Aynısı, CDN'nize bağlanmak için kullanabileceğiniz diğer eklentileri kullanmak için de geçerlidir (örn. WP Rocket, Breeze, W3 Total Cache).

Sitenizin yönetici panosuna erişemiyorsanız, eklentinin klasör adını yeniden adlandırarak eklentiyi SFTP aracılığıyla devre dışı bırakabilirsiniz.

Eklentiler klasör adını yeniden adlandırarak tüm eklentileri SFTP aracılığıyla devre dışı bırakın
Eklentiler klasör adını yeniden adlandırarak tüm eklentileri SFTP aracılığıyla devre dışı bırakın

Tam proxy hizmetleri sağlayan Cloudflare veya Sucuri gibi CDN'ler, uç sunucuları ile kaynak sunucunuz arasında ekstra güvenlik duvarlarına sahiptir. Bu nedenle, bunları kullanırken HTTP 5xx hatalarıyla daha sık karşılaşabilirsiniz. Çoğu, kaynak sunucunuz tarafından döndürülen 5xx hatalarını önbelleğe alır, bu nedenle bunları gidermek kolaydır.

Cloudflare'nin ücretsiz planı 5xx hatası vermeye eğilimlidir. Ne yazık ki, tam bir proxy hizmeti olduğundan, onu devre dışı bırakmanın hızlı bir yolu yoktur. Ancak bunun için Cloudflare'ı suçlamadan önce, Cloudflare'ın 504 Ağ Geçidi Zaman Aşımı hatasının iki varyasyonunu gösterdiğini bilin.

Cloudflare'de 504 Ağ Geçidi Zaman Aşımı (Varyasyon 1)

Cloudflare, sitenizin başlangıç ​​sunucusu standart bir HTTP 504 yanıtıyla yanıt verdiğinde size özel bir 504 Ağ Geçidi Zaman Aşımı hata ekranı gösterecektir.

Cloudflare'ın özel Hata 504 ekranı
Cloudflare'nin özel Hata 504 ekranı

Burada sorun Cloudflare'de değil web sunucunuzdadır. Aşağıda belirtilen diğer çözümlerle düzeltmeyi deneyebilir veya teknik yardım için barındırma sağlayıcınızın desteğine başvurabilirsiniz.

Cloudflare'de 504 Ağ Geçidi Zaman Aşımı (Varyasyon 2)

Cloudflare, 504 Ağ Geçidi Zaman Aşımı hatasına neden olursa, hata ekranında şu anda tüm Cloudflare varlıkları için standart sunucu adı olan "cloudflare" ifadesi gösterilir. Genellikle, hata ekranı aşağıdaki gibi görünür:

Cloudflare'nin neden olduğu 504 Ağ Geçidi Zaman Aşımı hatası
Cloudflare'nin neden olduğu 504 Ağ Geçidi Zaman Aşımı için hata ekranı

Cloudflare'ın kendisi yanıt vermediğinden, burada Cloudflare markalı herhangi bir hata ekranı görmezsiniz.

Büyük olasılıkla, Cloudflare sorunun zaten farkında ve zaten bir düzeltme üzerinde çalışıyor. Bunu, Cloudflare Sistem Durumu web sayfasını kontrol ederek onaylayabilirsiniz. Alternatif olarak, daha hızlı bir çözüm için Cloudflare desteği ile iletişime geçebilirsiniz.

cloudflarestatus.com adresinden Cloudflare Sistem Durumunu Kontrol Edin
cloudflarestatus.com adresinden Cloudflare Sistem Durumunu Kontrol Edin

Büyük Yüklemeler Nedeniyle Cloudflare'de 504 Ağ Geçidi Zaman Aşımı

Sitenize yaptığınız yüklemelerin boyutu da sunucu zaman aşımlarının bir nedeni olabilir. Cloudflare, yükleme dosyası boyutunu (HTTP POST isteği başına) hem Ücretsiz hem de Profesyonel planlarda yalnızca 100 MB ile sınırlar.

Çeşitli planlar için Cloudflare'nin "Maksimum Yükleme Boyutu" sınırları
Çeşitli planlar için Cloudflare'nin 'Maksimum Yükleme Boyutu' sınırları

Sorun, sunucunuzun tarafında veya Cloudflare ile ilgili olabilir. DNS hosts dosyanızla Cloudflare'ı atlayarak ve yüklemenizi tekrar deneyerek kesin nedeni öğrenebilirsiniz.

WordPress ile Cloudflare kullanıyorsanız, ücretsiz eklentilerini kullanmanızı ve kritik URL'leri (WordPress yönetici panosu gibi) önbelleğe alma dışında bırakmanızı öneririm. WordPress için Cloudflare ayarlarının nasıl yapılandırılacağına ilişkin Kinsta'nın ayrıntılı gönderisine başvurabilirsiniz.

Önerilen okuma: WordPress için Cloudflare APO Nasıl Kurulur.

Sunucu Sorunları (Barındırıcınızla Kontrol Edin)

Sunucu sorunları, 504 Ağ Geçidi Zaman Aşımı hatasıyla karşılaşmanın en yaygın nedenlerinden biridir. Çoğu WordPress sitesi Nginx veya Apache web sunucularında barındırıldığından, Nginx veya Apache bir şeyden yanıt bekliyor ve zaman aşımına uğradı.

Birçok müşteri, diğer WordPress ana bilgisayarlarında karşılaştıkları tam olarak bu sorun için Kinsta'ya gelir. Konuşma şöyle bir şey oluyor:

Ayda 200 binden fazla görüntüleme ile yaklaşık 100 bin ziyaretçi alıyoruz. Şu anda ____ ile hosting yapıyoruz ve sunucu aşırı yüklenmesinden dolayı sürekli olarak 504 hatası yaşıyoruz. ____'in sorunu nasıl ele aldığından hoşlanmıyorum ve ayrıca, gerekli olmadığına inandığım, yakında onların özel planlarına geçmemiz gerektiği konusunda bilgilendirildik.

Yüksek trafik ve e-ticaret siteleri, önbelleğe alınamayan birçok istek oluşturdukları için sunucu aşırı yükü nedeniyle 504 hatası almaya daha yatkındır. Ancak bu sorun, basit bloglar da dahil olmak üzere herhangi bir sitede ortaya çıkabilir. Çoğu ev sahibi, çoğu durumda gereksiz olan sorunu çözmek için sizden yüksek seviyeli bir plana geçmenizi isteyecektir.

Kinsta, her site için LXD tarafından yönetilen ana bilgisayarları ve orkestrasyonlu LXC yazılım kapsayıcılarını kullanır. Böylece, her WordPress sitesi, onu çalıştırmak için gereken tüm yazılımlara (Linux, Nginx, PHP, MySQL) erişimi olan kendi yalıtılmış kapsayıcısında bulunur. Kaynaklar %100 özeldir ve sitelerinizle bile başka hiçbir siteyle paylaşılmaz.

Paylaşılan barındırma planları sağlayan çoğu WordPress ana bilgisayarı bu yeteneğe sahip değildir. Bu nedenle, sizinkiyle aynı sunucuda barındırılan yüksek trafikli bir site, sitenizin de 504 hatası vermesine neden olabilir.

Kinsta, her siteyi kapsayıcısında ayırmanın yanı sıra, altyapısını binlerce eşzamanlı bağlantıyı kolayca yönetecek şekilde tasarladı. Kinsta, MySQL veritabanlarını uzak bir sunucuda değil, localhost'ta barındırır. Bu, makineler arasında gecikme olmaması anlamına gelir, bu da daha hızlı sorgulara ve daha az zaman aşımı olasılığına neden olur.

Kinsta'ya geçiş yapan birçok müşteri, genel yükleme sürelerinde büyük düşüşler görüyor.

C2'ye geçtikten sonra performansta %212,5'lik bir artış.
C2'ye geçtikten sonra performansta %212,5'lik bir artış.

Sunucu zaman aşımının tek nedeni aşırı yüklenmiş bir sunucu değildir. 504 hatasının başka birçok nedeni olabilir:

Yavaş Sunucu Altyapısı

WordPress sitenizi barındırmak için kullandığınız sunucu, yükü kaldıracak kadar kaynağa sahip olmayabilir. On yıllık bir bilgisayarda modern, yoğun grafikli bir video oyunu oynamak gibi.

Sunucu, web sitesine hizmet vermeye çalışırken kapanıyor. Bu sorunun tek çözümü daha iyi altyapıya sahip bir sunucuya geçmektir. Bu nedenle, Kinsta'nın en temel WordPress barındırma planı bile orta düzeyde trafiğe sahip statik bir siteyi idare edecektir.

Daha Fazla PHP Çalışanına İhtiyacı Var

PHP çalışanları, WordPress sitenizin kodunu yürütmek için kullanılır. Ayda 50.000 ziyaretçi alan bir e-ticaret sitesi, aynı miktarda trafiğe sahip basit bir blogdan çok daha fazla kaynağa ihtiyaç duyar. Sunucunun tüm PHP çalışanları meşgulse, bir sıra oluştururlar.

Kuyruk çok büyüdüğünde, sunucu eski istekleri dikkate almaz ve bu da sunucunun 504 ağ geçidi hatası vermesine neden olabilir. Sunucunuzdan PHP çalışan sayınızı artırmasını isteyebilirsiniz. Bu, sitenizin aynı anda birden çok isteği yürütmesine olanak tanır.

Güvenlik Duvarı Sorunları

Sunucunuzun güvenlik duvarında bazı hatalar veya yanlış bir yapılandırma olabilir. Belki de birkaç kuralı sunucunun düzgün bir şekilde bağlantı kurmasını engelliyor. Güvenlik duvarınızın suçlu olup olmadığını öğrenmek için sunucunuzun hata günlüklerini kontrol edebilirsiniz.

Ağ Bağlantısı Sorunları

Proxy sunucusu ile web sunucusu arasındaki bağlantı sorunları, HTTP isteklerine yanıt vermede gecikmelere neden olabilir. Bir yük dengeleyici kullanıyorsanız, bununla ilgili ağ bağlantısı sorunları da olabilir.

HTTP Zaman Aşımları

HTTP zaman aşımları, web sunucusu ve istemci arasındaki bağlantı çok uzun süre açık tutulduğunda meydana gelebilir. WordPress sitelerinde bu genellikle WordPress içe aktarmalarını çalıştırırken olur. Bu sorunu çözmenin bir yolu, daha hızlı bir internet bağlantısına geçmektir.

Ayrıca, HTTP bağlantısını tamamen atlayarak komut dosyalarını doğrudan sunucuda çalıştırmak için WP-CLI desteğine sahip bir araç kullanabilirsiniz. Örneğin, WordPress Importer eklentisini doğrudan komut satırı arayüzü üzerinden çalıştırmak için wp import WP-CLI komutunu kullanabilirsiniz.

Önemli: 504 Ağ Geçidi Zaman Aşımı hataları, 503 Hizmet Kullanılamıyor hatalarına veya 502 Kötü Ağ Geçidi hatalarına benzer. Ama hepsi farklı. Kinsta'da 504 hatasıyla karşılaşıyorsanız, sorununuzu hemen çözmek için bir destek bileti açın.

Sitenizin kapalı kalma süresini kendi başınıza izlemek için updown.io gibi bir araç kullanabilirsiniz. Web sitenizin durumunu (veya herhangi bir URL'yi) ona bir HTTP isteği göndererek periyodik olarak kontrol edecektir. Kontrol sıklığını 15 saniyeden 1 saate kadar ayarlayabilirsiniz. Web siteniz doğru yanıt vermiyorsa, sizi bir e-posta veya SMS ile bilgilendirecektir.

updown.io ile web sitenizi izleyin
updown.io ile web sitenizi kolayca izleyin

updown.io'nun her hesabıyla bol miktarda ücretsiz kredi alacaksınız, ancak daha ucuz alternatifler arıyorsanız WebGazer veya UptimeRobot'a göz atabilirsiniz. Bu araçların her ikisi de sitenizin çalışma süresini her 5 dakikada bir ücretsiz olarak izlemenize yardımcı olur. Bu, çoğu web sitesi sahibi için yeterince iyi.

WebGazer web sitesi izleme aracının kontrol paneli
WebGazer web sitesi izleme aracının kontrol paneli

Web sitenizi izlemek, size ne sıklıkta kapalı olduğu hakkında bir fikir verecektir. Bu, özellikle paylaşılan bir barındırma sağlayıcısı kullanıyorsanız yararlıdır. Çoğu yönetilen WordPress ana bilgisayarı bunu sizin için otomatik olarak halleder. Bu nedenle her zaman onlarla birlikte gitmeniz önerilir.

Ayrıntılı bir açıklama için, yönetilen WordPress barındırmanın önemiyle ilgili Kinsta'nın gönderisine bakın.

Spam, Bot veya DDoS Saldırıları

Kötü niyetli saldırganlar, çok fazla ve/veya kaynak yoğun istekler göndererek web sunucunuzu taramaya getirebilir. Siteniz botlar tarafından spam iletiliyorsa veya bir DDoS saldırısına maruz kalıyorsa, sunucunuzu bunaltabilir ve birçok gerçek kullanıcı için 504 Ağ Geçidi Zaman Aşımı hatasıyla sonuçlanabilir.

Site trafiğinde herhangi bir düzensiz kalıp tespit edip edemeyeceğinizi görmek için sunucu trafiğinize ve analizlerinize bakabilirsiniz. Sitenizi barındırmak için Kinsta kullanıyorsanız, MyKinsta Analytics panonuza giderek bu verileri kolayca görüntüleyebilirsiniz.

MyKinsta Analytics kontrol paneli
MyKinsta Analytics kontrol paneli

En iyi istemci IP'lerine bakarak araştırmanıza başlayın. Size maksimum sayıda isteği kimin ve nereden oluşturduğu hakkında bir fikir verecektir. Sunucunuz aniden muazzam bir bant genişliği kullanıyorsa veya çok fazla trafik çekiyorsa, bu rapor çok kullanışlı olacaktır.

MyKinsta panosunda "En İyi İstemci IP'lerini" görüntüleme
MyKinsta panosunda 'En İyi İstemci IP'lerini' görüntüleme

Ardından, Önbellek Analizi raporunu kontrol edebilirsiniz. Burada, önbelleği atlayan veya eksik olan ya da önbellekten sunulan istek sayısını görebilirsiniz. Performans ve kararlılık nedenleriyle, mümkün olduğu kadar çok isteği önbelleğe almak istersiniz, ancak bunu başarmak her zaman mümkün değildir.

Örneğin, WooCommerce siteleri, alışveriş sepeti ve ödeme süreci gibi özellikler için önbelleğe alınamayan birçok istek oluşturur.

MyKinsta'daki "Önbellek Analizi" ekranı
MyKinsta'daki 'Önbellek Analizi' ekranı

Son olarak, endişe verici trafiği/IP'leri tespit edip engelleyerek web sitenizin güvenliğini artırmak için bir WordPress güvenlik eklentisi kullanabilirsiniz. Ev sahibinizden belirli IP'leri de engellemesini isteyebilirsiniz.

Kesinti süresi ve WordPress sorunlarıyla mı mücadele ediyorsunuz? Kinsta, performans ve güvenlik göz önünde bulundurularak tasarlanmış barındırma çözümüdür! Planlarımıza göz atın

Saldırının uzunluğuna ve ölçeğine bağlı olarak, birçok saldırgan engellendikten sonra IP'lerini ve proxy adreslerini değiştirdiği için bu, IP'lerin hiç bitmeyen bir kara listeye alınması süreci olabilir.

Not: Kinsta, sitenin performansı, özellikle de tarama yetenekleri üzerinde büyük bir etkisi olabileceğinden, müşterilerinin WordPress güvenlik eklentilerini yüklemesine izin vermez. Kinsta, Google Cloud Platform ile yük dengeleyiciler kullandığından, IP'leri engellemek her zaman istendiği gibi çalışmayabilir.

Sitelerinizi DDoS saldırılarından ve spam robotlarından korumak için Cloudflare veya Sucuri gibi özel güvenlik çözümlerini kullanabilirsiniz. Daha fazlası için, WordPress sitenize Cloudflare'i nasıl kuracağınıza ve Sucuri'nin bir DDoS saldırısını durdurmaya nasıl yardımcı olduğuna dair Kinsta'nın makalelerine göz atabilirsiniz.

Bozuk WordPress Veritabanı

Bazen, 504 Ağ Geçidi Zaman Aşımı hatası, özellikle WordPress sitelerinde bozuk bir veritabanı nedeniyle olabilir. Genellikle bunun nedeni, bozuk veritabanı tabloları veya dosyalarıdır. Bazen sitenizin veya veritabanınızın saldırıya uğraması gibi ciddi bir güvenlik sorunundan da kaynaklanabilir.

Bozuk bir WordPress veritabanını onarmak, soruna bağlıdır. WP-DBManager gibi eklentiler, veritabanı sorunlarını teşhis etmeyi ve onarmayı kolaylaştırır. Başlamak için Kinsta'nın WordPress veritabanı sorunlarını onarma konusundaki ayrıntılı adımlarını okumanızı tavsiye ederim.

Sitenizin Eklentilerini ve Temalarını Kontrol Edin

Çoğu durumda, üçüncü taraf eklentiler ve temalar 504 hatasına neden olmaz. Ancak, genellikle eklenti/tema tarafından oluşturulan birçok önbelleğe alınmamış isteği sıraya alarak sunucu zaman aşımlarına neden olma ihtimalleri çok düşüktür. Bu, sunucunuzun PHP çalışanlarının çoğunu bağladığı için 504 hatasına neden olabilir.

Bu sorunun harika bir örneği, WordPress sitelerine e-ticaret işlevi eklemek için yüklenen bir eklenti olan WooCommerce'dir.

Bu sorunu gidermenin en basit yolu, tüm eklentilerinizi devre dışı bırakmaktır. Bir eklentiyi devre dışı bırakırsanız hiçbir veri kaybetmeyeceğinizi unutmayın.

Yönetici panonuza erişebiliyorsanız, Eklentiler ekranına gidebilir, toplu işlemler menüsünden Devre Dışı Bırak'ı seçebilir, tüm eklentileri işaretleyebilir ve ardından Uygula düğmesine basabilirsiniz. Bu, tüm eklentilerinizi devre dışı bırakacaktır.

WordPress'te eklentileri devre dışı bırakın
WP yönetici panosu aracılığıyla tüm WordPress eklentilerini devre dışı bırakma

Yönetici alanınıza erişemiyorsanız, daha önce açıklanan yöntemi kullanarak SFTP aracılığıyla eklentileri devre dışı bırakabilirsiniz. Tüm eklentileri toplu olarak devre dışı bırakmak için ana eklenti klasör adını yeniden adlandırın.

Tüm eklentileri devre dışı bıraktıktan sonra sitenizin düzgün yüklenip yüklenmediğini kontrol edin. Çalışırsa, her eklentiyi etkinleştirdikten sonra siteyi test ederek her eklentiyi etkinleştirmelisiniz.

Son olarak, eklentilerinizin, temalarınızın ve WordPress çekirdeğinizin güncel olduğundan emin olun. Ayrıca sunucunuzun önerilen PHP sürümünü çalıştırdığından emin olun.

Bunun çok bunaltıcı olduğunu düşünüyorsanız, yardım için her zaman ev sahibinize ulaşabilirsiniz. Kinsta, istemcilerin hangi eklentinin, sorgunun veya komut dosyasının hataya neden olabileceğini daraltmasına yardımcı olmak için Kinsta APM ve diğer sorun giderme tekniklerini kullanır.

Bir eklenti/temadaki verimsiz bir sorgu veya hatalı kod gibi en kötü senaryolarda, sorunu çözmek için bir WordPress geliştiricisi getirebilirsiniz.

Hata Günlüklerini Kontrol Edin

Hata günlüklerini görüntülemek, WordPress sitenizdeki 504 hatalarını giderirken ve hata ayıklarken çok yardımcı olabilir. Bu, özellikle sitenizdeki zorlu bir eklentiden kaynaklanıyorsa, sitenizdeki bir sorunu hızla daraltmanıza yardımcı olabilir.

Kinsta müşterisiyseniz, MyKinsta panonuzdaki günlük görüntüleyicideki hataları kolayca görebilirsiniz.

MyKinsta panosundaki hata günlüklerini kontrol etme
MyKinsta panosundaki hata günlüklerini kontrol etme

Sunucunuzda bir günlük kaydı aracı yoksa, wp-config.php dosyanıza aşağıdaki kodu ekleyerek WordPress hata ayıklama modunu etkinleştirebilirsiniz:

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

WP_DEBUG sabiti, WordPress hata ayıklama modunu etkinleştirir veya devre dışı bırakır. Özelliklerini genişletebilen iki isteğe bağlı tamamlayıcı sabite sahiptir. WP_DEBUG_LOG sabiti, tüm hataları /wp-content/ dizini içindeki bir debug.log dosyasına kaydedilecek şekilde yönlendirir. Bu dosyayı görmüyorsanız, her zaman bir tane oluşturabilirsiniz.

WP_DEBUG_DISPLAY sabiti, hata ayıklama günlüklerinin HTML sayfasında görünüp görünmeyeceğini kontrol eder. Bunu false olarak ayarlamak tüm hataları gizleyecektir, ancak WP_DEBUG_LOG doğru olarak tanımladığınız için hataları daha sonra inceleyebilirsiniz.

Önemli: Kinsta ortamında WP_DEBUG'u etkinleştirdiyseniz, tüm hataları MyKinsta panosundaki error.log dosyasına değil debug.log dosyasına yönlendirir.

Ayrıca ham WordPress hata günlüğü dosyalarını SFTP aracılığıyla indirebilirsiniz. Tipik olarak, hata günlüklerini sunucunuzun kök dizininde “günlükler” adlı bir klasörde bulabilirsiniz.

SFTP aracılığıyla WordPress hata günlükleri klasörüne erişme
SFTP aracılığıyla WordPress hata günlükleri klasörüne erişme

Kinsta kullanıcıları ayrıca MyKinsta kontrol panelinden WordPress hata ayıklama modunu etkinleştirebilir. Bunu yapmak için Siteler > Araçlar > WordPress Hata Ayıklama'ya gidin ve Etkinleştir düğmesini tıklayın. Bu, SSH veya SFTP aracılığıyla hata ayıklama modunu etkinleştirmeden PHP hatalarını ve bildirimlerini görmenizi sağlar.

Son olarak, sunucu günlük dosyalarını kontrol edebilirsiniz. WordPress sitenizi barındırmak için hangi sunucuyu kullandığınıza bağlı olarak, bunlar genellikle şu konumlarda bulunur:

  • Apache: /var/log/apache2/error.log/
  • Nginx: /var/log/nginx/error.log/

Daha fazla bilgi için Apache veya Nginx'in günlüğe kaydetme ile ilgili belgelerine başvurabilirsiniz.

Apache veya Nginx Ayarlarını Doğru Şekilde Yapılandırın

Belirli yönergeler için kaynak sınırlarını artırmak için sunucu yapılandırma dosyalarınızı düzenleyebilirsiniz. Bu, 504 Ağ Geçidi Zaman Aşımı hatasını çözmenize yardımcı olabilir.

Apache Web Sunucuları için

İlk olarak, httpd.conf dosyanıza aşağıdaki kodu ekleyin:

 TimeOut 600

Bu ayar, sunucunun belirli istekleri ağ zaman aşımı sorunu olarak işaretlemeden önce ne kadar bekleyeceğini tanımlar. Varsayılan değeri 60 saniyedir (Apache 2.4 sürümü).

Bu yönergeyi .htaccess dosyanıza değil, yalnızca httpd.conf dosyanıza ekleyebilirsiniz. Çoğu paylaşımlı barındırma sağlayıcısı httpd.conf dosyasını değiştirmenize izin vermediğinden, bunun yerine .htaccess dosyanızdaki LimitRequestBody yönergesinin değerini artırmayı deneyebilirsiniz.

Ardından php.ini dosyanıza aşağıdaki satırı ekleyin:

 max_execution_time 300

PHP'nin max_execution_time yönergesinin varsayılan değeri 30 saniyedir. Bunu artırmak, sitenizin PHP betiklerinin daha uzun süre çalışmasına olanak tanır.

Nginx Web Sunucuları için

WordPress sitelerinizi Nginx + FastCGI Process Manager (PHP-FPM) üzerinde çalıştırıyorsanız veya Nginx'i Apache için ters proxy olarak kullanıyorsanız, 504 Ağ Geçidi Zaman Aşımı hatalarını önlemeye yardımcı olmak için sunucu ayarlarını değiştirebilirsiniz.

Nginx + FastCGI'da (PHP-FPM) 504 Ağ Geçidi Zaman Aşımı Hatası

İlk olarak, PHP-FPM havuz yapılandırma dosyanızı düzenlemelisiniz. Nginx sunucunuzdaki /etc/php7.4/fpm/pool.d/www.conf konumunda bulabilirsiniz (tam yol PHP sürümüne göre değişebilir). Alternatif olarak, PHP-FPM havuz yapılandırma dosyasını düzenlemek için terminalinizde aşağıdaki komutu çalıştırabilirsiniz:

 sudo nano /etc/php/7.2/fpm/pool.d/www.conf

Ardından, aşağıdaki yönergeyi ayarlayın:

 request_terminate_timeout = 300

Bundan sonra php.ini dosyanızı düzenlemelisiniz. /etc/php.ini adresinde bulabilirsiniz. Dosyayı açın ve max_execution_time yönergesinin değerini 300 saniye olarak ekleyin/değiştirin.

 max_execution_time = 300

Son olarak, nginx.conf dosyanızın konum bloğuna aşağıdaki kodu ekleyin:

 location ~ .php$ { ... fastcgi_read_timeout 300; }

Değişikliklerin etkili olması için Nginx ve PHP-FPM'yi yeniden yükleyin.

 sudo service nginx reload sudo service php7.4-fpm reload

PHP-FPM'yi yeniden yüklemek için tam kod, sunucunuzda yüklü olan PHP sürümüne göre değişecektir. Sorunu çözüp çözmediğini görmek için sitenizi test edin.

Nginx Proxy'de 504 Ağ Geçidi Zaman Aşımı Hatası

Nginx'i Apache için ters proxy sunucusu olarak kullanıyorsanız, nginx.conf dosyanıza aşağıdaki yönergeleri ekleyerek sunucu zaman aşımlarına karşı daha yumuşak olmasını sağlayabilirsiniz:

 proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;

Değişikliklerinizi yaptıktan sonra Nginx'i yeniden yüklemeyi unutmayın.

sudo service nginx reload

504 Ağ Geçidi Zaman Aşımı Gibi Diğer HTTP Hataları

Makalede daha önce belirtildiği gibi, diğer birçok HTTP 5xx hatası, 504 Gateway Timeout hatası gibidir. Çünkü hepsi sunucu tarafında oluyor. Bu hatalar şunları içerir:

  • 500 Dahili Sunucu Hatası
  • 501 Uygulanmadı Hatası
  • 502 Hatalı Ağ Geçidi Hatası
  • 503 Hizmet Kullanılamıyor Hatası

404 Bulunamadı hatası gibi istemci tarafı sorunlarından kaynaklanan diğer HTTP hataları da 504 hatası gibidir. Daha fazla bilgi için Kinsta'nın ayrıntılı kılavuzuna ve HTTP durum kodları listesine bakabilirsiniz.

504 Ağ Geçidi Zaman Aşımı hatasına neyin neden olduğunu bilmiyorsanız, zor kazanılan ziyaretçilerin rakip sitelere gitmesini önlemek için bu hatayı zamanında nasıl düzeltirsiniz? Tüm detaylar bu yazıda. ️ Tweetlemek için tıklayın

Özet

WordPress siteniz, birden çok nedenden dolayı 504 Ağ Geçidi Zaman Aşımı hatasından etkilenebilir. Bu makalede, tüm sorunları nasıl gidereceğinizi öğrendiniz. Genellikle, bu hatalar sunucu tarafı sorunlarından kaynaklanır; bu durumda ana makinenize ulaşabilir ve sorunu hızla çözebilirsiniz.

Ancak, bu hatanın üçüncü taraf eklentiler, temalar, hizmetler, verimsiz veritabanı sorguları veya bunlardan ikisinin veya daha fazlasının birleşiminden kaynaklanabileceğini de anlamalısınız. Sunucunuzun kaynaklarını (örneğin PHP çalışanları) maksimuma çıkarıyorsanız, sitenizi performans için optimize etmeniz önerilir.

Hala web sitenizin zaman aşımına uğradığını düşünüyorsanız, barındırma planınızı veya PHP çalışanlarının sayısını yükseltmeniz gerekebilir. Bu seçeneği ancak bu makalede açıklanan diğer tüm çözümleri tükettikten sonra değerlendirmenizi öneririm.

From simple static sites to complex ecommerce and membership sites, Kinsta's scalable hosting plans are designed to accommodate all types of websites. To learn more about our scalable cloud hosting, check out this article!

Did we miss anything? If you're still finding it difficult to fix the 504 Gateway Timeout error on your WordPress site, leave a comment below.