WordPress
WordPress 403 Forbidden hatası nasıl çözülür?

Kısa yanıt
WordPress 403 Forbidden hatası, sunucunuzun belirli bir sayfaya veya dosyaya erişimi reddettiğinde çıkar; WordPress’in kendisi değil, Apache/Nginx veya önündeki bir güvenlik katmanı bu kararı verir. En sık nedenleri bozulmuş bir .htaccess dosyası, yanlış dosya/klasör izinleri, çakışan bir eklenti veya aşırı katı bir güvenlik duvarı kuralıdır.
Doğru sırayla kontrol edildiğinde bu hata genellikle 10-15 dakika içinde çözülür. Panik yapıp dosya silmek yerine önce hatanın kapsamını (tüm site mi, tek bir sayfa mı) belirlemek, hangi adıma öncelik vereceğinizi netleştirir. Ki sıra, en yaygın nedenden en nadirine doğru ilerler.
WordPress 403 Forbidden hatası neden çıkar?
Bu hatanın görünümü hep aynıdır (tarayıcıda kısa bir “403 Forbidden” mesajı), ama kaynağı birkaç farklı katmandan gelebilir:
- .htaccess dosyasının bozulması veya hatalı bir satır içermesi
- Dosya ve klasör izinlerinin, özellikle bir yedekten geri yükleme veya taşıma sonrası, çok kısıtlayıcı hale gelmesi
- Bir güvenlik veya önbellek eklentisinin kendi erişim kuralını yanlışlıkla sizin IP adresinize veya tüm ziyaretçilere uygulaması
- Temanın dizin listelemeyi engelleyen bir kuralla çakışması
- Sunucu önündeki bir güvenlik duvarının (CDN, ModSecurity) isteği şüpheli sayıp engellemesi
Ortak nokta, sorunun WordPress’in veritabanında veya içeriğinde değil, isteğin WordPress’e ulaşmadan önce geçtiği katmanlarda olmasıdır.
Hata nerede görünüyor: site genelinde mi, tek bir sayfada mı?
Çözüme başlamadan önce kapsamı belirleyin. Hata yalnızca belirli bir sayfada (örneğin bir medya dosyasında veya /wp-admin/ altında) çıkıyorsa, sorun genellikle o klasöre özel bir izin veya kural sorunudur. Hata sitenin tamamında çıkıyorsa, kök dizindeki .htaccess dosyası veya genel bir güvenlik duvarı kuralı daha olası nedendir.
Bu ayrım önemlidir, çünkü ikinci durumda WordPress yönetim paneline bile giriş yapamayabilirsiniz; bu yüzden aşağıdaki kontrollerin bir kısmını FTP veya hosting panelinizin dosya yöneticisi üzerinden yapmanız gerekir.
.htaccess dosyasını yeniden oluşturun
En sık rastlanan neden, kök dizindeki .htaccess dosyasının bozulmuş veya hatalı bir satır içeren bir sürümüdür. FTP veya dosya yöneticinizle site kök dizinine gidin, mevcut .htaccess dosyasını (yedek olarak) farklı bir adla kopyalayın, ardından orijinalini silin.
Sonrasında WordPress yönetim panelinde Ayarlar → Kalıcı Bağlantılar ekranına girip hiçbir şeyi değiştirmeden “Değişiklikleri Kaydet” düğmesine basın; WordPress, dosyayı kendi varsayılan kurallarıyla otomatik olarak yeniden oluşturur. Yönetim paneline giriş yapamıyorsanız, WordPress’in kullandığı standart kural bloğunu elle de ekleyebilirsiniz:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Dosya ve klasör izinlerini kontrol edin
.htaccess dosyası sorunu çözmediyse, sıradaki adım dosya ve klasör izinleridir. Bir yedekten geri yükleme, sunucu taşıma veya bazı yedekleme araçlarının dosyaları yanlış izinlerle yazması, sunucunun kendi dosyalarına erişimini kısıtlayabilir. Hosting panelinizin dosya yöneticisinden veya bir FTP istemcisinden izinleri kontrol edin; genel kural klasörler için 755, dosyalar için 644’tür. Wp-config.php gibi hassas dosyalarda daha kısıtlı bir değer (600 veya 640) de kullanılabilir, ama bunun dışındaki dosyaları 777 gibi aşırı gevşek bir değere çekmek 403 hatasını çözse bile sunucuyu ciddi bir güvenlik riskine açar.
Eklentileri tek tek devre dışı bırakarak çakışmayı bulun
.htaccess ve izinler doğruysa, bir eklenti çakışması olası bir sonraki nedendir. Özellikle güvenlik, önbellek veya IP engelleme işlevi olan eklentiler bazen kendi kuralını hatalı bir şekilde geniş bir alana uygular. Yönetim paneline erişebiliyorsanız tüm eklentileri tek seferde devre dışı bırakıp hatanın kaybolup kaybolmadığına bakın; kayboluyorsa eklentileri birer birer yeniden etkinleştirerek sorumlu olanı bulun. Panele giriş yapamıyorsanız, aynı işlemi FTP üzerinden wp-content/plugins klasöründeki eklenti klasörlerini tek tek geçici olarak yeniden adlandırarak yapabilirsiniz.
Güvenlik eklentisi veya IP engelleme listesini kontrol edin
Çakışmayı bir güvenlik eklentisine kadar izlediyseniz, eklentinin kendi ayarlar panelindeki IP engelleme veya erişim kısıtlama listesine bakın. Bazı güvenlik eklentileri, art arda başarısız giriş denemelerini otomatik olarak engelleme listesine ekler; kendi IP adresinizin yanlışlıkla bu listeye girmiş olması oldukça yaygın bir durumdur. Listeden adresinizi kaldırmak genellikle hatayı anında çözer.
Tema kaynaklı 403 Forbidden hatası olabilir mi?
Daha az görülen ama gerçek bir neden de temadır; özellikle dizin listelemeyi veya belirli dosya türlerine erişimi engellemeye çalışan özel bir kod parçası içeren temalar bunu tetikleyebilir. Temayı geçici olarak WordPress’in varsayılan bir temasına (Twenty Twenty-Four gibi) çevirip hatanın devam edip etmediğini kontrol edin. Hata kaybolursa, mevcut temanızın geliştiricisiyle veya temayı hazırlayan ajansla iletişime geçmeniz gerekir.
CDN veya sunucu güvenlik duvarı 403’e yol açabilir
Sitenizin önünde bir CDN veya güvenlik duvarı (örneğin Cloudflare veya sunucu tarafında çalışan bir ModSecurity kuralı) varsa, bu katman isteği WordPress’e hiç ulaştırmadan reddedebilir. Bu durumda yukarıdaki adımların hiçbiri sonuç vermez, çünkü sorun WordPress kurulumunuzun dışındadır. CDN panelinizden güvenlik olaylarını (security events) veya engellenen istekler günlüğünü kontrol edin; kendi IP adresiniz veya belirli bir sayfa isteği burada engellenmiş görünüyorsa, ilgili kuralı gevşetmeniz veya bir istisna eklemeniz gerekir.
“Bu sayfaya erişme izniniz yok” mesajı 403 Forbidden ile aynı şey mi?
Hayır, ikisi farklı katmanlardan gelir. “403 Forbidden” sunucu seviyesinde oluşur ve WordPress devreye girmeden önce gösterilir; “Üzgünüz, bu sayfaya erişme izniniz yok” mesajı ise WordPress’in kendisi tarafından, genellikle giriş yapmış bir kullanıcının rolü o işlemi yapmaya yetmediğinde üretilir (örneğin yazar rolündeki birinin başka birinin yazısını düzenlemeye çalışması gibi). Bu ikinci mesajı görüyorsanız çözüm .htaccess veya izinlerde değil, kullanıcının rolünü ve yetkilerini kontrol etmektedir.
Hiçbir adım işe yaramazsa ne yapmalı?
Yukarıdaki adımların tamamını denediyseniz ve WordPress 403 Forbidden hatası hâlâ sürüyorsa, sorun büyük olasılıkla sunucu tarafında, sizin panelden göremeyeceğiniz bir katmandadır: sunucu genelinde uygulanan bir ModSecurity kuralı, bir IP itibar listesi veya hosting sağlayıcısının kendi güvenlik politikası gibi. Bu noktada en hızlı yol, hangi adımları denediğinizi ve hatanın hangi URL’lerde çıktığını hosting destek ekibiyle paylaşmaktır; onların sunucu günlüklerine erişimi, sizin göremeyeceğiniz kesin nedeni ortaya çıkarabilir.
WordPress 403 Forbidden hatasını tekrar yaşamamak için
Bu hatanın büyük kısmı önlenebilir. Site taşıma veya yedekten geri yükleme işlemlerinde dosya izinlerini kontrol listesine ekleyin; güvenlik eklentinizin IP engelleme listesini düzenli olarak gözden geçirin; tema ve eklenti güncellemelerinden önce bir test ortamında deneme yapın. Bu konuyu daha genel bir çerçevede ele alan WordPress beyaz ekran hatası rehberimizde de görüldüğü gibi, çoğu WordPress erişim sorunu aynı üç kaynaktan (dosya bütünlüğü, sunucu kaynakları, yapılandırma) besleniyor. Hatanın nedeni bir güvenlik ihlaliyse veya siteniz daha önce ele geçirildiyse, WordPress hacklendi, ne yapmalı rehberimiz temizlik ve güçlendirme adımlarını anlatıyor.
WordPress’in .htaccess ve kalıcı bağlantı kurallarını kendi çekirdek kodunda nasıl ürettiğini görmek isterseniz, WordPress’in resmî wp-admin/includes/misc.php kaynak kodunu inceleyebilirsiniz; save_mod_rewrite_rules() fonksiyonu tam olarak bu dosyayı oluşturan mekanizmadır.
Sonraki adım
WordPress 403 Forbidden hatası ürkütücü görünse de çoğu zaman .htaccess dosyasını yeniden oluşturmak veya dosya izinlerini düzeltmekle çözülen, veri kaybı riski taşımayan bir erişim sorunudur. Sorun sunucu tarafında tekrarlıyorsa veya hosting altyapınızın güvenlik katmanlarını birlikte gözden geçirmek istiyorsanız, grup şirketimiz Web Tasarım Ofisi WordPress bakımı ve teknik sorun giderme konusunda destek veriyor.
Sitenizin teknik altyapısını veya özel yazılım ihtiyaçlarınızı birlikte değerlendirmek için özel yazılım hizmetimizi inceleyebilir ya da bizimle iletişime geçebilirsiniz.
Sıkça sorulan sorular
WordPress’te 403 Forbidden hatası ne anlama gelir?
Sunucunuzun, istediğiniz sayfaya erişim izni vermediği anlamına gelir. WordPress’in kendisi çalışıyordur, ama Apache/Nginx veya bir güvenlik katmanı isteği WordPress’e ulaşmadan reddetmiştir; bu yüzden hata genellikle WordPress yönetim panelinden değil sunucu seviyesinden kaynaklanır.
403 Forbidden hatası veri kaybına yol açar mı?
Hayır. Bu bir erişim/izin sorunudur, veritabanınız veya dosyalarınız zarar görmez. .htaccess dosyasını yeniden oluşturmadan önce yedek almak yine de her zaman doğru bir alışkanlıktır.
.htaccess dosyasını yeniden oluşturmak güvenli mi?
Evet, mevcut dosyayı silmeden önce yedeklediğinizde güvenlidir. WordPress, Ayarlar → Kalıcı Bağlantılar ekranından kaydet dediğinizde dosyayı kendi varsayılan kurallarıyla otomatik olarak yeniden oluşturur.
Dosya ve klasör izinleri için doğru değerler nelerdir?
Genel kural klasörler için 755, dosyalar için 644’tür. Daha gevşek izinler (777 gibi) 403 hatasını çözse de sunucuyu yetkisiz yazma ve kötü amaçlı kod yüklemeye açık bırakır, bu yüzden önerilmez.
Hiçbir adım işe yaramazsa ne yapmalıyım?
Hangi adımları denediğinizi ve hatanın tam olarak hangi sayfalarda çıktığını hosting sağlayıcınızın teknik destek ekibiyle paylaşın; 403 hatasının büyük kısmı sunucu güvenlik duvarı veya ModSecurity kuralları gibi sizin panelden göremeyeceğiniz katmanlardan kaynaklanabilir.