Senior Developer Seviyesinde Bir Incident Post‑Mortem
Web projelerinde en tehlikeli hata türü şudur:
Bazen çalışan, bazen tamamen kilitlenen, log bırakmayan hatalar.
Bu yazı; bir WordPress sitesinde hem Bookly rezervasyon sistemi hem de İngilizce seviye tespit sınavı formu üzerinde yaşadığım, saatler süren inceleme sonucunda kaynağını Google Analytics / Google Ads / Microsoft Clarity gibi üçüncü parti scriptlerde bulduğum gerçek bir vaka analizidir.
Ama bu bir “plugin bozuk” yazısı değildir. Bu bir script davranışı, async mimari ve modern tarayıcı güvenlik politikaları yazısıdır.
Hata Mesajı
We faced problems while connecting to the server or receiving data from the server. Please wait for a few seconds and try again.If the problem persists, then check your internet connectivity. If all other sites open fine, then please contact the administrator of this website with the following information.TextStatus: abortHTTP Error: undefined
Sorunun Ortak Belirtileri
İki farklı sistemde (rezervasyon formu ve seviye tespit sınavı) aynı pattern tekrar etti:
- Form bazen çalışıyor, bazen submit aşamasında kilitleniyor
- Loader sonsuz dönüyor
- Sunucu tarafında hata yok
- Console’da klasik JS error yok
- Network istekleri
abortoluyor - HTTP status bazen
undefined, bazen499
Bu noktada şunu anladım:
Sorun backend değil, tarayıcı ile üçüncü parti scriptler arasında yaşanan sessiz bir kopuş.
Ekran Görüntülerinin Söylediği Şey (Teknik Okuma)
İnceleme sırasında console’da tekrar eden kritik satırlar vardı:
Failed to load resource: 499 (Request has been forbidden by antivirus)Refused to execute script because its MIME type is image/pngTextStatus: abortHTTP Error: undefined
Bu satırlar bize şunu söylüyor:
- Script gerçekten yüklenemiyor
- Ama bu bir klasik 404 / 500 değil
- Tarayıcı veya güvenlik katmanı isteği bilinçli olarak iptal ediyor
- İptal edilen script, zincirde başka async işlemleri de yarım bırakıyor
İşte burada form sistemleri kırılıyor.
Neden Bookly’de ve Seviye Tespit Formunda Aynı Anda Oldu?
Çünkü iki sistem de:
- AJAX kullanıyor
- Promise tabanlı çalışıyor
- Submit sonrası server response bekliyor
Ve üçüncü parti scriptler:
- Aynı event loop içinde
- Aynı sayfada
- Aynı lifecycle’da çalışıyor
Bir script iptal edildiğinde:
Bazen sadece kendisi gitmez, başkasını da beraberinde sürükler.
Gerçek Suçlu: Üçüncü Parti Script Çakışması Hataları Ölçümü & Reklam Scriptleri
Tespit edilen ortak noktalar:
- Google Analytics (gtag / GA4)
- Google Ads (doubleclick, conversion)
- Microsoft Clarity
Bu scriptler:
- Consent durumuna göre
- Tarayıcı gizlilik ayarına göre
- Güvenlik yazılımlarına göre
aynı kullanıcıda bile farklı davranabiliyor.
Bu yüzden hata:
- deterministik değil
- tekrar üretmesi zor
- log bırakmıyor
Neden Hata Mesajı Yok?
Çünkü bu bir:
- Syntax error değil
- Runtime crash değil
Bu bir:
Sessizce iptal edilen async işlem problemi
Tarayıcı şunu diyor:
“Ben bu isteği güvenli bulmadım, çalıştırmadım.”
Ama uygulama tarafında biri hâlâ cevap bekliyor.
Sorun Nasıl Çözüldü?
Uygulanan yöntem basit ama disiplinliydi:
- Tüm üçüncü parti scriptler devre dışı bırakıldı
- Formlar defalarca test edildi
- Google Analytics ve Ads kodları kaldırıldı
- Sorun tamamen ortadan kalktı
Ardından:
- Scriptler izole
- Gecikmeli
- Consent kontrollü
şekilde tekrar eklendi.
Benzer Sorun Yaşayanlar İçin Checklist
Bazen çalışan / bazen bozulan bir form varsa:
Mini Rehber: Bu Tip Sorunları Nasıl Debug Ederim?
Senior refleksi şudur:
- Backend’e saldırma, önce tarayıcıyı suçla
- Console error yoksa rahatlama, Network’e bak
- Aynı sayfada çalışan üçüncü parti scriptleri listele
- Scriptleri ve diğer eklentileri tek tek devre dışı bırak
- Async zinciri bozabilecek her şeyi şüpheli say
- Varsa özel güvenlik eklentilerini devre dışı bırak
- Bilgisayarındaki antivirüs programlarını geçici olarak devre dışı bırak
- Eklenti sürümlerinin güncel olup olmadığını kontrol et
Altın kural:
Ölçüm kodları, uygulama akışından her zaman daha önemsizdir.
Sıkça Sorulan Sorular
Google Analytics gerçekten form bozabilir mi?
Bu sadece WordPress mi?
Çözüm GA’yı tamamen kaldırmak mı?
Bookly’ye özel bir bug mı?
Sonuç
Bu vaka bize şunu net gösteriyor:
Modern web’de en tehlikeli hatalar, sessiz olanlardır.
Eğer bir şey:
- bazen çalışıyor
- bazen bozuluyor
- log bırakmıyorsa
mutlaka üçüncü parti scriptleri sorgulayın.
—
Tunçer ŞEN
American LIFE Dil Okulları Bilişim IT & Web Teknolojileri




