Wordpress 403 Forbidden (Erişim Engellendi) hatası, dosya izinleri ve .htaccess kurallarından kaynaklanabilir; bu rehberde adım adım çözüm yollarını.
GİRİŞ
Wordpress sitenizde 403 Forbidden (Erişim Engellendi)hatası, ziyaretçilerin belirli sayfalara ya da tüm siteye ulaşmasını engeller ve genellikle sunucu yapılandırması, dosya izinleri ya da güvenlik eklentileriyle ilişkilidir. Bu hata, arama motoru indekslemesini durdurur, kullanıcı deneyimini bozar ve SEO performansını olumsuz etkiler. Doğru teşhis ve yapılandırma ile hatayı hızlıca gidermek, sitenizin kesintisiz çalışmasını sağlar.
Uzman İpucu:Hatanın kaynağını bulmadan önce tarayıcıda Geliştirici Araçları(F12) üzerinden Network sekmesini inceleyin; 403 yanıtı hangi isteğe ait olduğunu belirlemek, sorunun konumunu daraltır.
TEKNİK ALTYAPI VE YAPILANDIRMA
Wordpress, Apache/Nginx web sunucusu ve PHP çalışma ortamı üzerinde çalışır. 403 hatası aşağıdaki katmanlardan birinde oluşabilir:
Dosya ve klasör izinleri– WordPress dosyalarının okunabilir ve çalıştırılabilir olması gerekir.
.htaccess kuralları– Yanlış yönlendirme ya da IP kısıtlaması hataya yol açar.
Güvenlik eklentileri– ModSecurity, Wordfence gibi eklentilerin kural setleri 403 üretebilir.
Sunucu yapılandırması– Apache
AllowOverrideya da Nginxdenydirektifleri.
# Örnek .htaccess yapılandırması
BEGIN WordPress
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L]
Temel güvenlik kısıtlamaları
<FilesMatch ".(php|php5|phtml)$"> Order Allow,Deny Deny from all
403 hatasını önlemek için izinleri kontrol edin
Require all granted # END WordPress
# PHP ile dosya izinlerini kontrol etme
<?php
$paths = [
ABSPATH . 'wp-config.php',
ABSPATH . 'wp-content',
ABSPATH . 'wp-includes',
];
foreach ( $paths as $path ) {
$perm = substr( sprintf('%o', fileperms($path)), -4 );
echo "Dosya/Klasör: $path – İzin: $perm<br>";
}
?>
# Bash ile klasör izinlerini düzeltme
#!/bin/bash
WordPress kök dizinine gidin
cd /var/www/html/wordpress
Klasör izinlerini 755, dosya izinlerini 644 olarak ayarlayın
find . -type d -exec chmod 755 {} ; find . -type f -exec chmod 644 {} ;
wp-config.php dosyasını 640 olarak ayarlayın
chmod 640 wp-config.php
echo "İzinler başarıyla güncellendi."
BİLEŞEN VE DEĞERLENDİRME TABLOSU
| Bileşen | İşlev | Önem Derecesi | Etki |
|---|---|---|---|
| Dosya / Klasör İzinleri | WordPress dosyalarının okunabilirliği | Yüksek | Yanlış izinler doğrudan 403 üretir |
| .htaccess Kuralları | URL yönlendirme ve erişim kontrolü | Orta | Yanlış kural 403 hatasına sebep olur |
| Güvenlik Eklentileri | Saldırı önleme ve IP kısıtlamaları | Yüksek | Katı kurallar hatalı bloklamaya yol açar |
| Sunucu Konfigürasyonu | Apache / Nginx erişim politikaları | Orta | Global deny/allow hataları 403 verir |
ADIM ADIM UYGULAMA VE İŞLEM ADIMLARI
-Adım 1:Sunucu hata günlüklerini inceleyin.
tail -f /var/log/apache2/error.log
-Adım 2:WordPress kök dizinindeki dosya ve klasör izinlerini kontrol edin.
find . -type d -exec stat -c "%A %n" {} \;
find . -type f -exec stat -c "%A %n" {} \;
-Adım 3:İzinleri önerilen değerlere göre düzeltin.
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 640 wp-config.php
-Adım 4:.htaccess dosyasını yedekleyin ve varsayılan WordPress içeriğiyle değiştirin.
cp .htaccess .htaccess.backup
cp /path/to/default-htaccess .htaccess
-Adım 5:Güvenlik eklentilerini geçici olarak devre dışı bırakın.
wp plugin deactivate wordfence
wp plugin deactivate iThemes-security
-Adım 6:Tarayıcı önbelleğini temizleyin ve siteyi yeniden test edin.
-Adım 7:Eğer sorun hâlâ devam ediyorsa, Nginx kullanıyorsanız nginx.conf içinde deny all; gibi kuralları kontrol edin.
GELECEĞE YÖNELİK EN İYİ UYGULAMALAR (BEST PRACTICES)
-İzin yönetimini otomatikleştirin:Deploy sürecinde chmod ve chown komutlarını CI/CD pipeline’ına ekleyin.
-.htaccess dosyasını sürüm kontrolünde tutun:Değişiklik geçmişi sayesinde hatalı kural eklenmesi anında fark edilir.
-Güvenlik eklentilerini düzenli olarak güncelleyin:Yeni kurallar eklenirken 403 hatası oluşturabilecek çakışmalar önlenir.
-Sunucu kaynaklarını izleyin:mod_security gibi WAF’ların loglarını periyodik olarak analiz edin.
Önemli Uyarı:Dosya izinlerini 777 gibi aşırı geniş bir değerle ayarlamak, sitenizi ciddi güvenlik açıklarına maruz bırakır; yalnızca 755(klasör) ve 644(dosya) değerlerini kullanın.
SIKÇA SORULAN SORULAR
# 403 hatası sadece yönetici panelinde mi görülüyor?
Evet, bazen sadece /wp-admin dizini için kısıtlama uygulanmış olabilir. .htaccess içinde RewriteRule ^wp-admin/ - [F] gibi bir kural bu duruma yol açar.
# .htaccess dosyasını silmek sorunu çözer mi?
Silmek geçici bir çözüm olabilir, ancak WordPress kalıcı URL yapısı ve güvenlik kuralları için .htaccess gereklidir. Dosyayı varsayılan içeriğe geri yüklemek en sağlıklısıdır.
# ModSecurity kuralları nasıl devre dışı bırakılır?
Apache konfigürasyonunda ilgili modülün SecRuleEngine Off satırını ekleyerek tüm kurallar devre dışı bırakılabilir; ancak sadece sorunlu kuralı bulup SecRuleRemoveById ile kaldırmak daha güvenlidir.
SONUÇ VE KONTROL LİSTESİ
-Log analizi:Apache/Nginx hata günlüklerinde 403 kaynağını tespit edin.
-İzin kontrolü:755 (klasör) ve 644 (dosya) izinlerini doğrulayın; wp-config.php için 640.
-.htaccess doğrulama:Varsayılan WordPress kurallarını kullanın, ekstra kısıtlamaları gözden geçirin.
-Eklenti testi:Güvenlik eklentilerini tek tek devre dışı bırakarak çakışma olup olmadığını kontrol edin.
-Sunucu yapılandırması:Apache AllowOverride All ve Nginx deny direktiflerini gözden geçirin.
-Performans ve güvenlik:İzin yönetimini otomatikleştirin, .htaccess’i sürüm kontrolünde tutun, eklentileri güncel tutun.
Bu adımları uygulayarak Wordpress 403 Forbidden (Erişim Engellendi) Hatası nı kökten çözebilir, sitenizin güvenli ve erişilebilir olmasını sağlayabilirsiniz.
Sıkça Sorulan Sorular
# Wordpress 403 Forbidden (Erişim Engellendi) Hatası neden önemlidir?
Doğru uygulandığında web sitenizin kullanıcı deneyimini, SEO performansını ve yüklenme hızlarını ciddi oranda iyileştirerek genel site kalitesini artırır.
# Wordpress 403 Forbidden (Erişim Engellendi) Hatası işlemi ne kadar sürede tamamlanır?
Sitenizin karmaşıklığına ve sayfa sayısına bağlı olarak, temel yapılandırma adımları 1 ila 2 saat içinde tamamlanabilmektedir.
# Bu işlem için eklenti kullanmak zorunlu mudur?
Hayır, birçok optimizasyon ve ayar manuel kod düzenlemeleriyle yapılabilir; ancak yönetimi kolaylaştırmak adına güvenilir eklentiler tercih edilebilir.
Wordpress Virüs Temizleme
• YöneticiTürkiye'nin en iyi WordPress virüs temizleme hizmetini sizlere vererek, bulaşan tüm zararlı kodları veritabanınız bozulmadan temizliyor ve sitenizi hem güvenli hem de eski performansına kavuşturuyoruz.
WordPress Sitenizde Güvenlik Tehdidi mi Var?
Siber güvenlik mühendislerimiz 2 saat içinde sitenizi derinlemesine tarayıp tüm zararlı yazılımları temizlesin.