wordpress 403 forbidden error

WordPress’te 403 Forbidden Hatası ve Çözüm Yolları

“403 Forbidden” hatası genel olarak web sunucusunun isteğinizi anladığını fakat bu isteği yetkisizlik nedeniyle reddettiğini ifade eder. Yani bir kaynağa (sayfa, dosya vs.) erişim hakkınız yoktur. WordPress sitelerinde bu hata genellikle bir sayfaya veya dizine ulaşmaya çalıştığınızda görülür.

WordPress’te 403 Forbidden Hatasının Nedenleri

1. Yanlış Dosya veya Dizin İzinleri (File Permissions)
Web sunucusu, dosya veya klasörlerin erişim izinleri doğru değilse erişimi engeller.
Dizinler için ideal izin: 755
Dosyalar için ideal izin: 644

2. Hatalı .htaccess Dosyası
.htaccess dosyası yanlış yapılandırılmışsa, belirli dizinlere erişim kısıtlanabilir.

3. Güvenlik Eklentilerinin Aşırı Kısıtlamaları
Bazı güvenlik eklentileri (Wordfence, iThemes Security gibi), belirli IP adreslerini veya kullanıcı rollerini engelleyebilir.

4. CDN veya Güvenlik Duvarı (Firewall) Kuralları
Cloudflare gibi servislerin yanlış yapılandırılması erişimi engelleyebilir.

5. Sunucu Taraflı Engellemeler
Barındırma hizmetinizin (hosting) güvenlik sistemleri, bot/zararlı trafik algılayıp hatayla gerçek kullanıcıları da engelleyebilir.

6. Bozuk veya Hatalı Eklentiler
Bazen bir eklenti, yanlış yönlendirmeler veya yetki sorunları yaratabilir.

WordPress 403 Forbidden Hatası Nasıl Düzeltilir?

1. Dosya ve Dizin İzinlerini Kontrol Edin
cPanel / FTP / SSH üzerinden:
Tüm klasörlerin izni 755 olmalı.
Tüm dosyaların izni 644 olmalı.

Örnek (SSH komutu ile):

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

2. .htaccess Dosyasını Kontrol Edin veya Sıfırlayın
Ana dizinde .htaccess dosyasını bulun.
Yedek alarak silin veya silmeden adını değiştirin.
WordPress panelinize erişebiliyorsanız:
Ayarlar > Kalıcı Bağlantılar bölümüne gidin ve “Değişiklikleri Kaydet” butonuna basın. Yeni .htaccess oluşturulur.
Veya CPanel/FTP ile manuel olarak ekleyin:

# 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

3. Eklentileri Devre Dışı Bırakın
Bazı otomatik eklenti güncellemeleri soruna yol açmış olabilir. FTP/cPanel üzerinden wp-content/plugins klasörünün adını geçici olarak plugins-disabled gibi bir şey yaparak tüm eklentileri devre dışı bırakın. Site düzelirse, sorun bir eklentiden kaynaklanıyor demektir. Eklentileri tek tek aktif ederek sorumlu olanı tespit edin. Bu adımı eğer isterseniz en son kurduğunuz eklentiden başlamak üzere sırayla devre dışı bırakarak deneyebilirsiniz.

4. Temayı Geçici Olarak Değiştirin
Aktif temanızı varsayılan WordPress teması (örneğin Twenty Fifteen) ile değiştirin. Admin panele giriş yapamıyorsanız bu işlemi veritabanı ile halledebilirsiniz. Sorun çözülürse, mevcut temanız hata üretiyor olabilir. Admin panele giriş yapamıyorsanız WordPress temasını veritabanından değiştirme yazımızı inceleyebiliriniz.

5. Hosting Sağlayıcınızla İletişime Geçin
Eğer yukarıdaki adımlar işe yaramazsa, sunucu taraflı bir güvenlik duvarı engellemesi olabilir. Paylaşımlı hostinglerde mod_security hataları da 403 verebilir. Hosting desteğine erişim günlüklerini ve IP engellemeleri kontrol ettirin.

7. Cloudflare veya Diğer CDN Ayarlarını Kontrol Edin
WordPress siteniz için CloudFlare veya diğer CDN servislerinden birini kullanıyorsanız, IP erişim kısıtlamaları, firewall kuralları ya da “Page Rule” ayarları 403’e neden olabilir. Örneğin Cloudflare > Firewall > Events bölümünden hataları inceleyin.