Bir yazına tıklıyorsun, karşısına “404 – Sayfa Bulunamadı” çıkıyor. Can sıkıcı, değil mi? Üstelik reklamdan gelen bütçe boşa gidiyor, SEO etkileniyor, ziyaretçi güveni sarsılıyor. Merak etme; bu yazıda WordPress 404 hatasını adım adım çözeceğiz. “WordPress 404 ne demek?” sorusunu netleştirip, en sık senaryolar üzerinden ilerleyeceğiz.
WordPress 404 Ne Demek?
Tarayıcı, istediğin URL’nin sunucuda karşılığını bulamadığında 404 verir. Yani içerik yok, yol hatalı ya da yönlendirme bozuk demektir. WordPress tarafında bu genellikle kalıcı bağlantı (permalink) kuralları, .htaccess/Nginx yapılandırması, eklentiler ya da özel yazı türü / taksonomi ayarları yüzünden olur.
WordPress 404 Hatasının En Sık Nedenleri
- Kalıcı bağlantı kuralları bozulur: WordPress URL’leri doğru eşleyemez ve yazı veya sayfa bağlantısına tıkladığında 404 hatası oluşur.
.htaccess(Apache) eksik olur, yanlış olur veya yazılamaz: Rewrite kuralları çalışmaz ve ana sayfa dışındaki URL’lerde 404 hatası oluşur.- Nginx’te
try_fileskuralı eksik olur: İstek PHP’ye yönlenmez ve dinamik sayfalarda 404 hatası oluşur. - Eklentiler çakışır (SEO, yönlendirme, slug kaldırma gibi): URL beklenmedik şekilde değişir ve hedef içerik bulunamaz, 404 hatası oluşur.
- Özel yazı türü (CPT) ya da taksonomide
rewriteayarı hatalı olur: CPT arşivlerinde veya terim sayfalarında 404 hatası oluşur. - Slug’lar çakışır (örn.
cpanel,admin,blog): Kısa ad sistem yolu veya mevcut bir sayfa ile çakışır ve yanlış yere yönlenir, 404 hatası oluşur. - Önbellek / CDN eski kuralı sunar: Değişiklikten sonra eski yönlendirme veya regex devrede kalır ve aynı URL’de 404 hatası oluşur.
WordPress 404 Hatası Nasıl Düzeltilir?
Aşağıdaki sırayı bozmadan ilerle; her adım bittiğinde tekrar test et.
1. Kalıcı bağlantıları yenile ( en hızlı çözüm )
Yönetim Paneli > Ayarlar > Kalıcı Bağlantılar sayfasına git. Hiçbir şeyi değiştirmeden Kaydet butonuna tıkla. Bu işlem WordPress’in rewrite kurallarını tazeler.
İpucu: Büyük tema / eklenti değişikliği yaptıysan ya da yeni bir CPT eklediysen bunu her zaman yap.
2. .htaccess dosyasını kontrol et ( Apache )
WordPress kök dizininde (genelde public_html ya da sitenin ana klasörü) .htaccess olmalı. İçeriği şu şablonla aynı olsun:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- Dosya izinleri
644, klasör izinleri755olmalı. - Panelde “kalıcı bağlantıları kaydet” dediğinde bu blok otomatik yazılamıyorsa, izin / veri yolu sorunlarını kontrol etmeni öneririm.
3. Nginx için try_files kuralını ekle
Nginx kullanıyorsan, site bloğunda şu yapı olmalı:
location / {
try_files $uri $uri/ /index.php?$args;
}
Değişiklikten sonra Nginx’i yeniden yükle (reload). PHP-FPM soket / yol ayarlarını karıştırmadığından emin ol.
4. Eklenti çakışmalarını test et
URL’yi değiştiren eklentiler (redirect, slug kaldırma, çok dilli, güvenlik vb.) 404 yaratabilir.
- Tüm eklentileri geçici olarak devre dışı bırak, sorun bitiyorsa tek tek aktifleştirerek sorunlu eklentiyi bulabilirsin.
- Sorunlu eklentide “kalıcı bağlantı”, “kategori / etiket tabanı”, “redirect” ayarlarını gözden geçir.
Senaryolardan biri: Etiket / kategori ön ekini (ör. /category/, /e/) kaldıran eklenti kullanıyorsan ve slug çakışması oluşur. Örneğin “/cpanel/” gibi bir kategori kullanıyorsan hosting paneline yönlenebilirsin. Çözüm: Bu kategoriyi yeniden adlandır (/cpanel-ipuclari/ gibi) veya taksonomiye benzersiz bir taban ver.
5. Özel yazı türü (CPT) / taksonomi rewrite ayarlarını düzelt
register_post_type ya da register_taxonomy tanımlarında yanlış rewrite 404’e yol açar.
- CPT’de
rewritekullanıyorsan herkesçe erişilebilir, benzersiz birslugver. with_frontdeğerini kullandığın yapıya göre ayarla (true/false).- Yeni CPT / taksonomi ekledikten sonra kalıcı bağlantıları yeniden kaydet.
- Aktivasyon anında bir kere
flush_rewrite_rules()çalıştır; her istekte çalıştırma.
Örnek CPT:
register_post_type('portfoy', [
'public' => true,
'rewrite' => ['slug' => 'isler', 'with_front' => false],
// ... diğer argümanlar
]);
6. Önbellek ve CDN’i temizle
- WordPress üzerinde bir cache eklentisi kullanıyorsan tüm önbelleği tamamen temizle ve ardından siteyi yeniden test et, böylece eski kuralların kalıp kalmadığını incele.
- CDN hizmeti (örneğin Cloudflare) kullanıyorsan ilgili URL’yi veya tüm cache’i purge et ve CDN’in güncel kuralı yansıttığından emin ol.
- Tarayıcı önbelleğini sil ve aynı adımı gizli pencere ile de test et, böylece tarayıcıda tutulan eski verilerin 404 hatasına yol açıp açmadığını netleştir.
7. Yönlendirmeleri gözden geçir ( 301 / 302 döngüleri )
Yanlış koşullu yönlendirmeler 404 hatasına yol açar: http→https veya www→non-www yönlendirmelerinde fazladan adım oluşur ve URL doğru şekilde çözülemez, bu durumda 404 hatası oluşur.
Redirect eklentisinde aynı URL hem kaynak hem de hedef olarak tanımlanırsa yönlendirme döngüsü oluşur ve sonuçta 404 hatası oluşur.
8. Çoklu site ( Multisite ) ve alt alan adları
- Subdomain veya subdirectory multisite kurulumlarında
/.htaccessvewp-config.phpdosyalarında ek kurallar gerekir: Bu kurallar doğru tanımlanmazsa alt sitelerde URL’ler çözülemez ve 404 hatası oluşur. - Yanlış veya eksik kural bulunduğunda alt sitelerde içeriklere erişilemez ve her istek 404 hatası üretir.
- Ağ yöneticisi ekranında multisite ayarlarını kontrol ederek gerekli kuralların doğru şekilde uygulandığından emin ol, aksi halde 404 hatası oluşur.
WordPress 404 Hatası İçin İleri Düzey Teşhis
Daha karmaşık durumlarda şu adımları deneyebilirsin:
- Günlükleri aç:
error_logdosyasını ve erişim loglarını incele, hata mesajlarını satır satır kontrol et ve hangi URL’nin 404 hatası ürettiğini belirle. - WP_DEBUG ayarını etkinleştir:
wp-config.phpdosyasına geçici olarakdefine('WP_DEBUG', true);ekle, hata çıktısını ekranda gör ve hangi dosyanın sorun çıkardığını tespit et. İşin bittiğinde bu ayarı kapat, aksi halde canlı sitede kullanıcıya hata mesajı görünür. - Query Monitor eklentisini yükle: 404 hatası veren sayfayı aç, hangi kuralın ve şablonun çalıştığını ayrıntılı olarak gör ve sorunun kaynağını tespit et.
- WP-CLI komutlarını çalıştır:
wp rewrite flush --hardkomutuyla kalıcı bağlantı kurallarını sıfırla, ardındanwp plugin deactivate --allile tüm eklentileri devre dışı bırak ve tek tek yeniden açarak soruna neden olan eklentiyi bul.
Unutma: Canlı sitede debug modu açık kalırsa kullanıcılar hata mesajlarını görür. Teşhis tamamlandığında mutlaka debug ayarını kapat.
WordPress 404 Hatasını Önlemek için İpuçları
- Tema veya eklenti setini değiştirdiğinde kalıcı bağlantıları mutlaka yeniden kaydet, aksi halde kurallar güncellenmez ve 404 hatası oluşur.
- Her içerik için benzersiz slug kullan.
admin,cpanel,bloggibi çakışma ihtimali yüksek kelimelerden uzak dur, aksi halde 404 hatası oluşur. - Yeni bir CPT veya taksonomi eklediğinde aktivasyon anında bir defa
flush_rewrite_rules()uygula, aksi halde bağlantı kuralları güncellenmez ve 404 hatası oluşur. - Cache veya CDN kullanıyorsan temizlik kısayollarını not et ve büyük değişikliklerden sonra mutlaka purge yap, aksi halde eski kural aktif kalır ve 404 hatası oluşur.
Sonuç: Kontrol sende
Artık WordPress 404 hatası seni paniğe sürüklemeyecek. Sorunun altında çoğu zaman basit bir kural, eksik bir .htaccess bloğu ya da çakışan bir slug yatar. Adımları uyguladığında siten nefes alır, hem SEO hem dönüşüm performansı toparlanır.
Kalıcı bağlantı mantığını en baştan kurmak istersen şu rehberi öneririm: “WordPress kalıcı bağlantı ayarları nasıl yapılır?“
Sorunu beraber çözelim
Hala “WordPress 404 ne demek” sorusuna kendi senaryon için net yanıt bulamadın mı? Bana yorumlarda veya iletişim sayfasından ulaşabilirsin 👉 https://wolinka.com.tr/iletisim/
Sevgiler 🫶