Canlı Destek Çevrimiçi
404 Sayfa Bulunamadı Hatasını WordPress’te Nasıl Düzeltirsiniz?
8 dk

404 Sayfa Bulunamadı Hatasını WordPress’te Nasıl Düzeltirsiniz?

WordPress sitenizde “404 Sayfa Bulunamadı” hatasıyla karşılaştığınızda panik yapmanıza gerek yok. Bu hata can sıkıcı olabilir, çünkü ziyaretçilerinizi kaybetmenize ve arama motoru sıralamalarınızın düşmesine yol açabilir. Ama genellikle çözümü basittir.

Bu rehberde, WordPress’teki en yaygın hatalardan biri olan 404 hatasını adım adım nasıl çözeceğinizi anlatıyorum. Permalink ayarlarından .htaccess dosyasına, eklenti çakışmalarından sunucu yapılandırmasına kadar her ihtimali ele alacağız. Hazırsanız başlayalım.

404 Hatası Aslında Ne Anlama Geliyor?

Tarayıcınız bir sayfayı açmaya çalıştığında, sunucu istediğiniz içeriği bulamazsa 404 durum kodunu döndürür. Siteniz çalışıyordur, WordPress kuruludur ama o belirli URL’de hiçbir şey yoktur. Ziyaretçi genelde “404 Not Found” ya da “Sayfa bulunamadı” mesajını görür.

WordPress’te bu hatanın birkaç tipik nedeni vardır:

  • Permalink (kalıcı bağlantı) ayarlarının bozulması
  • .htaccess dosyasının silinmesi veya yanlış yapılandırılması
  • Bir eklenti ya da tema çakışması
  • DNS veya alan adı yönlendirme sorunları
  • Sunucu tarafında rewrite modülünün kapalı olması

İşi zorlaştıran şey, hatanın bazen sadece bazı sayfalarda çıkması. Ana sayfanız açılır ama yazılarınız veya kategorileriniz çalışmaz. Bu durum neredeyse her zaman URL yeniden yazma kurallarında bir aksaklık olduğunu gösterir.

Başlamadan Önce Yedek Alın

Çoğu çözüm basit olsa da yanlış bir .htaccess düzenlemesi siteyi tamamen erişilemez hale getirebilir. O yüzden işe koyulmadan önce mutlaka sitenizin tam yedeğini alın. En azından .htaccess dosyasının bir kopyasını bilgisayarınıza indirin. Böylece işler ters giderse hemen eski haline dönebilirsiniz.

1. Permalink Ayarlarını Sıfırlayın

Bu en hızlı ve çoğu zaman işe yarayan çözümdür. WordPress yönetici paneliniz açılıyorsa (örneğin yalnızca iç sayfalar 404 veriyorsa) sırasıyla şu adımları izleyin:

  1. Ayarlar > Kalıcı Bağlantılar sayfasına gidin.
  2. Mevcut ayarınızı bir kenara not edin (örneğin “Yazı ismi”).
  3. Geçici olarak Düz (Plain) seçeneğini işaretleyip Değişiklikleri kaydet düğmesine tıklayın.
  4. Ardından tekrar istediğiniz kalıcı bağlantı yapısını seçip kaydedin.

Bu işlem WordPress’in yeniden yazma kurallarını (rewrite rules) tazeler. Çoğu durumda .htaccess dosyası da otomatik olarak güncellenir. Siteyi hemen kontrol edin. Eğer düzeldiyse sorun çözülmüş demektir. Hâlâ 404 alıyorsanız bir sonraki adıma geçin.

2. .htaccess Dosyasını Onarın

WordPress, güzel URL’ler oluşturabilmek için sunucunun mod_rewrite modülünü kullanır. Kurallar .htaccess dosyasına yazılır. Bu dosya bozulduğunda veya silindiğinde iç sayfalarınız 404 vermeye başlar.

FTP istemcinizle (FileZilla gibi) veya hosting panelinizin dosya yöneticisiyle sitenizin kök dizinine (örneğin public_html) bağlanın. Gizli dosyaları göstermeyi unutmayın, çünkü .htaccess başındaki nokta nedeniyle görünmeyebilir.

Dosyayı açın ve içeriğinin şu temel WordPress kurallarını içerdiğinden emin olun:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Eğer bu satırlar yoksa veya hata varsa, eski içeriği silip yukarıdaki kodu yapıştırın ve kaydedin. Dikkat: Dosyanın sonunda boş satır olmasın.

Dosyaya müdahale edemiyorsanız veya hiç yoksa, boş bir metin dosyası oluşturup bu kodları ekleyin, adını .htaccess olarak kaydedin ve kök dizine yükleyin.

Bu adımdan sonra hata devam ediyorsa, %99 ihtimalle mod_rewrite modülü sunucunuzda kapalıdır. Bu durumda hosting firmanıza danışmanız gerekir.

3. Eklenti Çakışmalarını Test Edin

Özellikle önbellek (cache), SEO veya güvenlik eklentileri URL yapısına müdahale edebilir. Bazen de son güncellediğiniz bir eklenti, mevcut yapınızla uyumsuzluk yaratır.

Test için:

  1. Eklentiler > Yüklü Eklentiler sayfasına gidin.
  2. Tüm eklentileri seçip Toplu işlemler menüsünden Devre Dışı Bırak seçeneğini uygulayın.
  3. Sitenizi kontrol edin. 404 hatası kaybolduysa suçlu bir eklentidir.
  4. Eklentileri teker teker aktifleştirerek hangisinin soruna yol açtığını bulun.

Bütün eklentileri devre dışı bıraktığınız halde hata devam ediyorsa, temanızdan şüphelenmelisiniz. Kısa süreliğine varsayılan WordPress temalarından birine (Twenty Twenty-Four gibi) geçiş yapın. Hata çözülürse tema dosyalarınızda, özellikle functions.php içinde URL’leri etkileyen bir kod olabilir.

4. Sunucu Tarafında Rewrite Modülünü Kontrol Edin

Apache kullanıyorsanız, mod_rewrite modülünün aktif olması şarttır. Hosting panelinizde (özellikle cPanel’de) bu ayar genelde varsayılan olarak açıktır, ama göz ardı edilmemeli.

Eğer sunucu yönetimine aşinaysanız, SSH üzerinden şu komutla kontrol edebilirsiniz:

httpd -M | grep rewrite

Listede rewrite_module yoksa, sudo a2enmod rewrite (Debian/Ubuntu) komutuyla etkinleştirip Apache’yi yeniden başlatın. Paylaşımlı hosting kullanıyorsanız bu işlemi kendiniz yapamazsınız; destek talebi açmanız gerekir.

Nginx sunucularda .htaccess çalışmaz. URL yönlendirme için sunucu bloğu yapılandırmasına özel kurallar yazılmalıdır. Örneğin:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Nginx ile ilgili sıkıntınız varsa hosting firmanızın yönlendirmesini isteyin.

5. Sayfa veya Yazı Kaydını Kontrol Edin

Siteniz genel olarak çalışıyor ancak tek bir sayfa veya yazı 404 veriyorsa, sorun URL’in kendisinde olabilir. Şu ihtimalleri değerlendirin:

  • Kalıcı bağlantı elle değiştirilmiş olabilir. İlgili içeriği düzenleme ekranında açın, üstteki kalıcı bağlantı bölümünden doğru URL’yi yeniden yazın ve kaydedin.
  • İçerik taslak veya çöp kutusunda olabilir. Yayın durumunu kontrol edin.
  • Sayfa özel bir şablon kullanıyordur ve o şablon dosyası silinmiş veya adı değiştirilmiş olabilir. Sayfa düzenleme ekranında Şablon ayarını kontrol edin.

6. Alan Adı ve DNS Ayarlarını Gözden Geçirin

Yeni bir alan adı bağladıysanız veya hosting taşıdıysanız, DNS kayıtları tam olarak yayılmamış olabilir. Bu durumda site bazen açılır, bazen 404 verir. Ayrıca WordPress Adresi (URL) ve Site Adresi (URL) ayarlarının doğru olduğundan emin olun. Bunları Ayarlar > Genel sayfasında görebilirsiniz. Yanlış bir URL yazıyorsa düzeltin. Dikkat: Bu alanları karıştırırsanız site tamamen erişilemez hale gelebilir, bu yüzden emin değilseniz değiştirmeyin.

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

İnsanların 404 hatasını çözmeye çalışırken düştüğü birkaç tipik tuzak var. Aşağıdakilere dikkat ederek zaman kaybını önleyebilirsiniz.

Permalink’leri gereksiz yere kurcalamak

404 hatası görünce hemen özel bir permalink yapısı yazıp kaydedenler oluyor. Çoğu zaman sorun yapıda değil, kuralların yazılamamasında. Önce basit sıfırlama yöntemini deneyin.

.htaccess’i yanlış düzenlemek

Fazladan boşluk, yanlış karakter veya yanlış yere eklenen bir satır, tüm siteyi 500 hatasına düşürebilir. .htaccess ile işiniz yoksa orijinal dosyayı silip WordPress’in kendisinin oluşturmasına izin vermek daha güvenlidir. Nasıl mı? Önce dosyayı silin (yedeğini alın), ardından Ayarlar > Kalıcı Bağlantılar sayfasında hiçbir şeyi değiştirmeden “Değişiklikleri kaydet” düğmesine basın. WordPress temiz bir .htaccess oluşturacaktır.

Her çözümü aynı anda denemek

Eklentileri kapatırken permalink’i de sıfırlarsanız, sorunun kaynağını anlayamazsınız. Adımları teker teker uygulayın ve her seferinde sonucu kontrol edin. Böylece hem sorunu daha hızlı çözersiniz hem de ileride benzer bir durumda ne yapacağınızı öğrenirsiniz.

Yönlendirme ve Özel 404 Sayfası Stratejisi

404 hatasını tamamen engellemek mümkün olmasa da etkisini azaltabilirsiniz. Sitenizde gerçekten var olmayan sayfalara gelen ziyaretçiler için iyi bir 404 sayfası tasarlayın. Arama kutusu, popüler yazıların listesi ve ana sayfaya dönüş bağlantısı ekleyin. Temanızın 404.php dosyasını düzenleyerek bunu yapabilirsiniz.

Ayrıca, kaldırdığınız veya URL’sini değiştirdiğiniz sayfalar varsa, 301 yönlendirmesi oluşturmayı unutmayın. Bunun için Redirection gibi basit bir eklenti işinizi görür. Böylece hem kullanıcılar hem de arama motorları doğru yere ulaşır.

Hatanın Tekrarlamaması İçin Alınacak Önlemler

WordPress güncellemeleri, tema değişiklikleri veya eklenti kurulumları sonrası 404 hatasının geri gelmesi sık görülür. Şu basit alışkanlıklar sizi çoğu dertten kurtarır:

  • Büyük değişikliklerden önce mutlaka tam yedek alın. Hosting panelinizin yedekleme aracını veya UpdraftPlus gibi bir eklentiyi kullanabilirsiniz.
  • Kalıcı bağlantı yapınızı değiştirirken iki kez düşünün. Mevcut yapınızdan farklı bir yapıya geçerseniz eski URL’ler için 301 yönlendirmesi şart.
  • Eklenti ve temaları güvenilir kaynaklardan indirin. Zayıf kodlanmış bir eklenti .htaccess’i bozabilir.
  • Sunucu loglarını ara sıra kontrol edin. 404 hatalarının hangi URL’lerde yoğunlaştığını görmek için hosting panelinizdeki “Hata Kayıtları” (Error Logs) bölümüne göz atın.

404 Hatasını Kendi Başınıza Çözmek İçin Hızlı Kontrol Listesi

Makaleyi okumaya üşenirseniz diye özet bir liste bırakayım. Ama detayları atlamayın; her maddenin arkasında ufak riskler var.

Adım Yapılacak İşlem
1 Ayarlar > Kalıcı Bağlantılar sayfasında “Değişiklikleri kaydet” düğmesine bas.
2 .htaccess dosyasının içeriğini varsayılan WordPress koduyla değiştir.
3 Tüm eklentileri devre dışı bırak, test et.
4 Temayı varsayılan temaya çevir, test et.
5 Sunucuda mod_rewrite aktif mi diye hosting firmasına sor.
6 WordPress Adresi ve Site Adresi ayarlarını kontrol et.

Bu sırayla ilerlerseniz sorununuz büyük ihtimalle çözülecektir.

Ya Hiçbiri İşe Yaramazsa?

Yukarıdaki tüm adımları uyguladınız, hatta hosting firmanızla görüştünüz ama 404 hatası devam ediyor. Böyle bir durumda sorun büyük olasılıkla veritabanındadır. Özellikle site taşıma sonrasında URL’ler veritabanında eski haliyle kalmış olabilir. Gelişmiş kullanıcılar için bir seçenek: Better Search Replace eklentisiyle veritabanındaki eski URL’leri yenileriyle değiştirmek. Fakat bunu yapmadan önce mutlaka veritabanı yedeği alın. Bu işlem geri alınamaz.

Alternatif olarak WP-CLI kullanabiliyorsanız, wp search-replace komutuyla aynı işlemi çok daha hızlı yapabilirsiniz. Ancak bu komut satırı araçlarına aşina değilseniz, risk almayın ve bir geliştiriciden yardım isteyin.

WordPress hataları bazen can sıkıcı görünse de sistematik bir yaklaşımla çoğu çabucak çözülür. Bu rehberdeki adımları sırayla uyguladığınızda, 404 hatasının da üstesinden geleceksiniz. Unutmayın, çözüm genelde sandığınızdan daha basittir.

İlgili Yazılar

15 yorum

  1. Geçen hafta sadece kategori sayfalarım 404 veriyordu, permalink ayarlarını kaydedince düzeldi.

  2. .htaccess ile uğraşırken siteyi kırmaktan çok korkuyorum. Acaba yanlış bir şey yaparsam diye yedek almadan başlamam.

  3. Eklenti çakışması yüzünden yaşamıştım bu hatayı. Yazıda da belirtildiği gibi eklentileri tek tek kapatarak hangisinin sorun çıkardığını buldum. Özellikle önbellek eklentilerine dikkat etmek gerekiyor.

  4. Ana sayfa açılıp yazılar 404 veriyorsa, bu durum sadece URL yeniden yazma kurallarında sorun olduğunu mu gösterir? Yoksa başka bir ihtimal var mı?

  5. DNS yönlendirme sorunları tam olarak nasıl anlaşılır? Alan adını yeni taşıdım ve bazı sayfalar 404 veriyor, acaba DNS propagasyonu tamamlanmadan kontrol ettiğim için olabilir mi? Bu konuda net bir belirti var mı yazıda?

  6. Ben bu hatayı yaşadığımda, yazıda bahsedilenin aksine sorun eklentilerden değil, temanın functions.php dosyasındaki özel bir yeniden yazma kuralından kaynaklanmıştı. Tema çakışması ihtimalini de göz ardı etmemek lazım.

  7. Bu adımları uyguladıktan sonra hata devam ederse ne yapmalıyız? Özellikle sunucu yapılandırmasıyla ilgili bir sorun olduğunda hosting firmasıyla mı iletişime geçmek gerekir, yoksa kendi başımıza yapabileceğimiz başka kontroller var mı?

Yorum Yaz

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