Canlı Destek Çevrimiçi
Eklenti Çakışmalarından Kaynaklanan WordPress Hatalarını Nasıl Tespit Edip Çözersiniz?
9 dk

Eklenti Çakışmalarından Kaynaklanan WordPress Hatalarını Nasıl Tespit Edip Çözersiniz?

WordPress sitenizde bir anda beyaz ekranla karşılaşmak, bir butonun çalışmaması ya da sitenizin yarısının kaybolması… Tanıdık geliyor mu? Bu tür hataların büyük bir kısmı, eklentiler arasındaki çakışmalardan kaynaklanır. Neyse ki çözümü genellikle karmaşık değildir; yalnızca doğru adımları izlemek gerekir.

Bu yazıda, eklenti çakışmalarından doğan WordPress hatalarını nasıl tespit edeceğinizi ve adım adım nasıl çözeceğinizi anlatacağım. Hazırsanız başlayalım.

Eklenti Çakışması Nedir ve Neden Olur?

WordPress eklentileri, sitenize yeni özellikler eklemek için harikadır. Ancak her eklenti farklı bir geliştirici tarafından yazılır ve kendi kod yapısına sahiptir. İki eklenti aynı işlevi yapmaya çalıştığında, aynı kaynağı kullandığında veya birbirinin kodunu yanlışlıkla bozduğunda çakışma meydana gelir.

Basit bir benzetme yapalım: İki farklı marangoz aynı anda aynı tahtayı kesmeye çalışırsa testereler birbirine çarpar. Eklentiler de benzer şekilde, sitenin işleyişinde çarpışır ve hatalara yol açar.

En Sık Görülen Çakışma Belirtileri

Çakışmalar her zaman “kritik hata” mesajıyla kendini göstermez. Bazen daha sinsi olabilirler. Şu belirtilere dikkat edin:

  • Ölümün Beyaz Ekranı (White Screen of Death): Siteniz tamamen beyaz bir sayfaya dönüşür. WordPress arka paneli de dahil olabilir.
  • Kısmi İşlev Kaybı: Örneğin iletişim formu çalışmaz, ancak sitenin geri kalanı normaldir.
  • Yavaşlama: Belirli bir eklenti aktifken sayfa yüklenme süreleri uzar.
  • Görsel Bozulmalar: Slider kaybolur, menü düzgün görünmez veya yazı tipi değişir.
  • Hata Mesajları: “Bu sitede teknik bir sorun oluştu” gibi WordPress hata ekranları.

Bu belirtilerden birini yaşıyorsanız, suçlu büyük ihtimalle bir eklenti çakışmasıdır.

Hata Tespitine Başlamadan Önce: Olmazsa Olmaz Hazırlıklar

Sorun gidermeye dalmadan önce birkaç önlem almak, süreci hem hızlandırır hem de veri kaybını önler. Bu adımları atlamayın.

1. Tam Yedek Alın

Canlı sitede değişiklik yapmadan önce sitenizin tam yedeğini alın. Dosyalar ve veritabanı dahil olmalı. Bunun için UpdraftPlus, BackupBuddy veya hosting panelinizin yedekleme aracını kullanabilirsiniz. Yedek almadan tek bir satır kod bile kurcalamayın.

2. Hata Ayıklama Modunu (Debug Mode) Etkinleştirin

WordPress’in hata ayıklama modu, yaşanan teknik sorunları günlüğe kaydeder. wp-config.php dosyasına şu satırları ekleyerek etkinleştirebilirsiniz:

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

Bu kod, hataları ziyaretçiye göstermez; /wp-content/ klasöründe debug.log dosyasına yazar. Dosyayı inceleyerek hangi eklentinin sorun çıkardığını görebilirsiniz.

3. Staging (Test) Ortamı Kurun

Mümkünse canlı sitenin birebir kopyası olan bir test ortamı oluşturun. Birçok hosting firması tek tıkla staging ortamı sunar. Elle kurmanız gerekirse, sitenizi bir alt alan adına taşıyıp testleri orada yapabilirsiniz. Bu sayede canlı site etkilenmeden rahatça kurcalayabilirsiniz.

Adım Adım Eklenti Çakışması Tespiti

Şimdi asıl işe geçelim. Sorunu sistematik bir şekilde tespit etmek için şu yöntemleri uygulayın.

1. Tüm Eklentileri Devre Dışı Bırakın

WordPress yönetici paneline giriş yapın ve Eklentiler > Yüklü Eklentiler sayfasına gidin. Tüm eklentileri seçip “Toplu işlemler” menüsünden “Devre Dışı Bırak”ı seçin ve “Uygula”ya tıklayın. Bu işlem sitenizi varsayılan haline döndürür.

Eğer WordPress paneline erişemeyecek durumdaysanız, FTP veya hosting dosya yöneticisiyle /wp-content/plugins/ klasörünün adını geçici olarak /wp-content/plugins-deaktif/ şeklinde değiştirin. Bu, tüm eklentileri devre dışı bırakır.

2. Siteyi Kontrol Edin ve Sorunun Kaynağını Onaylayın

Tüm eklentiler kapalıyken siteyi ziyaret edin. Sorun düzeldi mi? Eğer düzeldiyse, suçlu gerçekten bir eklenti çakışmasıdır. Sorun devam ediyorsa, temanızı varsayılan bir WordPress temasıyla (Twenty Twenty-Four gibi) değiştirip tekrar kontrol edin. Tema değişince düzeliyorsa sorun temadadır; bu senaryoda yazının sonundaki “Tema Kaynaklı Hatalar” bölümüne göz atın.

3. Suçlu Eklentiyi Bulmak İçin Eklentileri Tek Tek Etkinleştirin

Sorunun bir eklenti çakışması olduğunu doğruladıktan sonra, hangi eklentinin soruna yol açtığını bulmanız gerekir. Şöyle ilerleyin:

  1. Eklentiler sayfasına dönün ve yalnızca bir eklentiyi etkinleştirin.
  2. Siteyi kontrol edin. Sorun çıktı mı?
  3. Sorun çıkmazsa ikinci eklentiyi etkinleştirin ve tekrar test edin.
  4. Bu işlemi, sorun ortaya çıkana kadar tekrarlayın. Hata, etkinleştirdiğiniz son eklentide veya o eklentinin başka biriyle çakışmasından kaynaklanıyordur.

Biraz yavaş bir yöntem, ama en güveniliridir. Eğer onlarca eklentiniz varsa, toplu etkinleştirme ile hızlandırabilirsiniz: önce eklentilerin yarısını etkinleştirip test edin, sorun devam ediyorsa o yarıyı bölerek devam edin.

4. Çakışan Eklentileri Doğrulamak İçin Hata Günlüğünü İnceleyin

Debug modunu etkinleştirdiyseniz, debug.log dosyası size doğrudan parmağıyla gösterebilir. Dosyayı açın ve hata satırlarını okuyun. Örneğin:

PHP Fatal error: Cannot redeclare function my_custom_function() in /wp-content/plugins/eklenti-ismi/eklenti.php on line 45

Buradaki eklenti-ismi size sorunlu eklentiyi doğrudan verir. Eğer iki eklenti aynı fonksiyonu tanımlamaya çalışıyorsa, dosya yollarından ikisini de tespit edebilirsiniz.

Çakışmayı Çözme Yöntemleri

Sorunlu eklentiyi bulduktan sonra sıra çözmeye geldi. Her çakışma için en uygun çözüm farklıdır; aşağıdaki seçenekleri sırayla deneyin.

1. Eklentileri Güncelleyin

En basit ve en sık işe yarayan çözüm. Eklenti geliştiricileri genellikle çakışma hatalarını yeni sürümlerde düzeltir. Hem çakışan eklentiyi hem de diğer tüm eklentileri en son sürüme güncelleyin. Aynı sorun devam ediyor mu diye kontrol edin.

2. Alternatif Bir Eklenti Bulun

Bazı eklentiler doğası gereği birbiriyle uyumsuzdur; özellikle aynı işlevi yapan iki eklenti (iki farklı önbellek eklentisi, iki SEO eklentisi gibi) birlikte çalışmaz. Eğer iki eklenti sürekli çakışıyorsa ve işlevleri örtüşüyorsa, birini kaldırıp diğerini kullanmayı düşünün.

Örneğin, hem bir güvenlik eklentisi hem de bir güvenlik duvarı (firewall) eklentisi kullanıyorsanız, ikisi birden .htaccess dosyasını değiştirmeye çalışıp çakışabilir. Bu durumda tek bir kapsamlı güvenlik eklentisi seçmek daha sağlıklı olur.

3. Eklenti Ayarlarını Gözden Geçirin

Bazen iki eklenti aynı kaynağı kullanmak ister ama ayarları değiştirilerek uyumlu hale getirilebilir. Örneğin, iki eklenti de aynı JavaScript kütüphanesini yüklüyorsa, birinin ayarlarından bu kütüphaneyi devre dışı bırakabilirsiniz. Eklentilerin ayar sayfalarını dikkatlice inceleyin; “uyumluluk modu”, “çakışma önleme” gibi seçenekler olabilir.

4. Kod Düzeyinde Çakışmayı Giderme (İleri Seviye)

Eğer yazılım geliştirme bilginiz varsa, sorunu kodda çözebilirsiniz. En sık rastlanan kod çakışma türleri ve çözümleri şunlardır:

  • Aynı isimli fonksiyon: İki eklenti aynı isimde bir fonksiyon tanımlıyorsa, birini if (!function_exists('fonksiyon_adi')) ile sarmalayabilirsiniz.
  • Script çakışması: Bir eklenti jQuery’nin eski bir sürümünü yüklüyorsa, diğer eklentiyle uyumsuzluk yaşanır. wp_enqueue_script işlevini kullanarak uygun sürümü yükleyip eski sürümü engelleyebilirsiniz.
  • CSS çakışması: İki eklenti aynı elemente stil uyguluyorsa, CSS önceliğini yükselterek (örneğin !important etiketi ile) veya daha spesifik seçiciler kullanarak düzeltebilirsiniz.

Ancak eklenti dosyalarını düzenlerseniz, güncelleme aldığında değişiklikleriniz kaybolur. Bu yüzden mümkünse bir alt eklenti (plugin override) veya tema dosyası üzerinden müdahale edin.

5. Geliştiriciye Bildirin

Hiçbir çözüm işe yaramıyorsa, çakışan eklentinin desteğine yazın. Onlara şu bilgileri verin: WordPress sürümü, PHP sürümü, çakışan eklentilerin listesi ve hata ayıklama günlüğünden ilgili satırlar. Geliştiriciler genellikle bu tür raporları dikkate alır ve sonraki sürümde düzeltir.

Canlı Siteyi Kurtarmak İçin Acil Durum Adımları

Eklenti çakışması sitenizi tamamen erişilemez hale getirdiyse ve yönetici paneline giremiyorsanız, aşağıdaki acil durum adımlarını uygulayın:

  • FTP ile eklentileri devre dışı bırakın: Yukarıda belirttiğim gibi /wp-content/plugins klasörünün adını değiştirerek tüm eklentileri kapalı konuma getirin. Site geri gelince, sorunlu eklentiyi bulup silin veya güncelleyin.
  • Kurtarma modunu kullanın: Eğer WordPress 5.2 veya üzeri bir sürüm kullanıyorsanız, kritik bir hata oluştuğunda site yöneticisine otomatik olarak kurtarma modu bağlantısı içeren bir e-posta gönderilir. Bu bağlantıya tıklayarak, sorunlu eklentiyi devre dışı bırakıp panele erişebilirsiniz.

Sık Yapılan Hatalar ve Kaçınma Yolları

Deneyimlerime göre, birçok kullanıcı eklenti çakışması sorununu çözmeye çalışırken aynı hataları yapıyor. İşte en yaygın olanları ve onlardan nasıl korunacağınız:

Hata Sonucu Doğru Yaklaşım
Yedek almadan müdahale etmek Veri kaybı veya sitenin geri dönülemez şekilde bozulması Her zaman tam yedek alın ve yedeğin çalıştığını test edin.
Tüm eklentileri silmek Ayarların, verilerin ve özelliklerin kaybolması Eklentileri yalnızca devre dışı bırakın; silmek son çaredir.
Sorunlu eklentiyi bulduktan sonra hemen silmek Sorunun temel nedenini anlayamazsınız, başka bir eklentiyle aynı çakışmayı yaşayabilirsiniz Önce çakışmanın sebebini araştırın, alternatif veya güncelleme var mı diye bakın.
Çok sayıda eklenti kullanmak Çakışma olasılığı artar, site yavaşlar Yalnızca gerçekten ihtiyacınız olan eklentileri kurun. Düzenli olarak kullanmadıklarınızı kaldırın.

Çakışma Riskini Azaltmak İçin Pratik İpuçları

Sorun çıkmadan önlem almak her zaman daha iyidir. WordPress hatalarıyla uğraşmak istemiyorsanız şu alışkanlıkları edinin:

  • Güvenilir kaynaklardan eklenti yükleyin: WordPress.org deposundaki eklentiler belirli bir incelemeden geçer ve güncel tutulur. Bilinmeyen sitelerden indirilen eklentiler risklidir.
  • Eklenti değerlendirmelerini ve güncelleme geçmişini kontrol edin: Son güncellemesi 2 yıl önce olan bir eklenti, güncel WordPress ile uyumsuz olabilir.
  • Aynı işlevi yapan birden fazla eklenti kullanmayın: İki önbellek, iki SEO, iki güvenlik eklentisi neredeyse her zaman sorun çıkarır.
  • Düzenli yedek alın ve güncellemeleri test ortamında deneyin: Büyük güncellemeleri önce staging’de test etmek, canlı siteyi riske atmaz.

Tema Kaynaklı Hataları Ayırt Etmek

Eklenti çakışması sandığınız bir sorun aslında temanızdan kaynaklanıyor olabilir. Tema ve eklenti hatalarını ayırmak için basit bir test: Tüm eklentiler kapalıyken siteniz hala hata veriyorsa, temayı varsayılan bir WordPress temasıyla (örneğin Twenty Twenty-Four) değiştirin. Hata giderse, sorun temanızdadır.

Tema kaynaklı hatalar genellikle şunlardan olur:

  • Temanın güncel olmayan bir PHP sürümüyle uyumsuzluğu
  • Tema dosyasında yapılan özel düzenlemelerin hatalı olması
  • Temanın, kullandığınız bir eklentiyle çakışması (bu durumda hem tema hem eklenti devre dışı kalınca site düzelmez; yalnızca biri kapalıyken düzelir)

Tema sorunlarında yapabilecekleriniz: temayı güncelleyin, alt tema (child theme) kullanarak özelleştirmelerinizi koruyun veya tema geliştiricisine danışın.

Sitenizi Toparladıktan Sonra Yapmanız Gerekenler

Çakışmayı çözdünüz, site normale döndü. Harika! Ancak işiniz bitmedi. Şu kontrolleri yaparak ilerideki sorunları önleyin:

  1. Tüm eklentileri güncelleyin: Madem sorunlu eklentiyi buldunuz, diğerlerini de güncel tutun ki başka bir çakışma yaşanmasın.
  2. Gereksiz eklentileri kaldırın: “Belki lazım olur” diye tuttuğunuz eklentiler varsa, onlara veda edin.
  3. Debug modunu kapatın: wp-config.php dosyasındaki WP_DEBUG değerini false yapın. Canlı sitede açık kalması güvenlik riski oluşturur.
  4. Performans testi yapın: GTmetrix veya PageSpeed Insights ile sitenizin hızını kontrol edin. Eklenti değişiklikleri yüklemeyi etkilemiş olabilir.
  5. Yedek alın: Sitenizin bu temiz ve çalışır halinin yedeğini alın. İleride bir şey ters giderse bu noktaya dönebilirsiniz.

Unutmayın, WordPress hataları genellikle korkutucu görünür ama çoğu sistematik bir yaklaşımla çözülebilir. Eklenti çakışmaları da bunun en tipik örneğidir. Biraz sabır ve doğru yöntemle sitenizi kısa sürede ayağa kaldırabilirsiniz.

İlgili Yazılar

15 yorum

  1. Peki çakışma olduğunu anladıktan sonra hangi eklentinin suçlu olduğunu en hızlı nasıl buluruz?

  2. Geçen hafta iletişim formu çalışmayınca sebebini anlayamamıştım, demek ki çakışma olabilir.

  3. Sitede kritik hata mesajı almadan önce yavaşlama fark ettim ama önemsemedim. Yedek almadan müdahale etmek riskli mi?

  4. WooCommerce ile bir ödeme eklentisi arasında yaşadığım çakışmada sitenin yarısı kaybolmuştu. Eklentileri tek tek kapatıp açarak bulmaya çalıştım ama çok vakit aldı. Sağlık kontrolü yapan bir eklenti önerebilir misiniz?

  5. Eklentileri güncellerken çakışma riskini azaltmak için bir sıralama var mı? Mesela önce hangilerini güncellemek daha güvenli olur?

  6. Canlı sitede eklenti çakışması tespiti yaparken ziyaretçilerin etkilenmemesi için bakım moduna almak yeterli olur mu? Yoksa staging ortamı şart mı? Özellikle üyelik sistemi olan bir site için soruyorum.

  7. Özellikle cache eklentileriyle form eklentileri arasında sık sık sorun yaşıyorum. Makalede bahsettiğiniz “kısmi işlev kaybı” tam da bu oluyor. Her seferinde çakışmayı bulana kadar uğraşmak yerine log kayıtlarını düzenli kontrol etmek daha mı pratik?

  8. Eklenti çakışması yaşadıktan sonra siteyi eski haline döndürmek için yedekten geri yükleme dışında bir yöntem var mı? Mesela sadece sorunlu eklentinin ayarlarını sıfırlamak gibi bir şey mümkün mü?

Yorum Yaz

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