WordPress sitenize girmeye çalıştığınızda “403 Forbidden”, “Access Denied”, “You Don’t Have Permission to Access This Resource” veya “Erişim Engellendi” uyarısıyla karşılaşıyorsanız, web sunucusu ilgili sayfaya erişmenize izin vermiyor demektir. Bu sorun sitenin tamamında görülebileceği gibi yalnızca WordPress yönetim panelinde, belirli bir sayfada, eklenti kurulumunda veya dosya yüklerken de ortaya çıkabilir.
WordPress 403 Forbidden hatası çoğunlukla hatalı dosya izinleri, bozuk .htaccess kuralları, güvenlik eklentileri, hosting güvenlik sistemleri, CDN ayarları veya IP engellemeleri nedeniyle oluşur. CoreSoftDigital olarak bu rehberde, WordPress sitelerde karşılaşılan 403 hatasının en yaygın nedenlerini ve uygulanabilecek çözüm yöntemlerini adım adım ele alıyoruz.
WordPress 403 Forbidden Hatası Nedir?
403 Forbidden, sunucunun kullanıcının yaptığı isteği anladığını ancak ilgili kaynağa erişim izni vermediğini belirten bir HTTP durum kodudur.
Bu hata, 404 hatasından farklıdır. 404 hatasında istenen sayfa veya dosya bulunamaz. 403 hatasında ise sayfa ya da dosya sunucuda bulunmasına rağmen erişim engellenir.
WordPress sitelerde aşağıdaki hata mesajlarından biri görülebilir:
- 403 Forbidden
- Access Denied
- You don’t have permission to access this resource
- Forbidden: You don’t have permission to access this server
- HTTP Error 403
- Error 403 – Forbidden
- Bu sayfaya erişim izniniz yok
Hata mesajının görünümü kullanılan hosting altyapısına, Apache veya Nginx yapılandırmasına ve güvenlik sistemlerine göre değişebilir.
WordPress 403 Hatası Neden Olur?
WordPress 403 Forbidden hatasının tek bir nedeni yoktur. Sorunun kaynağını bulabilmek için hatanın sitenin hangi bölümünde ortaya çıktığına dikkat edilmelidir.
En yaygın nedenler şunlardır:
- .htaccess dosyasındaki hatalı veya bozuk kurallar
- Yanlış dosya ve klasör izinleri
- Güvenlik eklentilerinin erişimi engellemesi
- Hosting ModSecurity kuralları
- Cloudflare veya başka bir CDN hizmetinin IP engellemesi
- WordPress dosyalarının eksik ya da bozuk olması
- Sunucu tarafından IP adresinin engellenmesi
- Dizin indeksleme ayarlarının kapalı olması
- Hatalı hotlink koruması
- WordPress REST API isteklerinin engellenmesi
- Eklenti veya tema kaynaklı güvenlik kuralları
- Sunucu güvenlik duvarı yapılandırması
- Ülke, kullanıcı aracısı veya bot engelleme kuralları
403 hatası bazen yalnızca tek bir kullanıcıda görülebilir. Bu durumda sorun site genelinden ziyade IP adresi, tarayıcı önbelleği, VPN veya güvenlik filtresiyle ilişkili olabilir.
1. Tarayıcı Önbelleğini ve Çerezleri Temizleyin
Teknik işlemlere başlamadan önce sorunun yalnızca tarayıcınızda oluşup oluşmadığını kontrol edin.
Aşağıdaki işlemleri uygulayın:
- Siteyi gizli sekmede açın.
- Farklı bir tarayıcı kullanın.
- Telefonun mobil interneti üzerinden siteye bağlanın.
- Tarayıcı önbelleğini ve çerezleri temizleyin.
- VPN veya proxy kullanıyorsanız geçici olarak kapatın.
- Modemi yeniden başlatarak yeni IP adresi almayı deneyin.
Site mobil internet üzerinden açılıyor ancak mevcut internet bağlantınızda açılmıyorsa IP adresiniz sunucu, güvenlik eklentisi veya CDN tarafından engellenmiş olabilir.
2. WordPress Eklentilerini Devre Dışı Bırakın
WordPress güvenlik eklentileri, şüpheli gördükleri istekleri engelleyebilir. Özellikle yanlış yapılandırılmış güvenlik duvarı kuralları, site yöneticisinin bile panele erişememesine neden olabilir.
403 hatasına yol açabilen eklenti türleri şunlardır:
- Güvenlik eklentileri
- Giriş denemesi sınırlama eklentileri
- IP engelleme eklentileri
- Spam koruma eklentileri
- Önbellek eklentileri
- Yönlendirme eklentileri
- Ülke bazlı erişim engelleme eklentileri
- Dosya güvenliği sağlayan eklentiler
WordPress yönetim paneline erişebiliyorsanız Eklentiler > Yüklü Eklentiler bölümünden eklentileri geçici olarak devre dışı bırakın.
Yönetim paneline giremiyorsanız cPanel Dosya Yöneticisi veya FTP üzerinden şu dizine gidin:
public_html/wp-content/
Buradaki plugins klasörünün adını geçici olarak değiştirin:
plugins-pasif
Ardından siteyi yeniden kontrol edin. Hata ortadan kalkarsa sorun eklentilerden biriyle ilgilidir.
Klasör adını tekrar plugins yaptıktan sonra eklentileri tek tek etkinleştirerek soruna neden olan eklentiyi bulabilirsiniz.
3. .htaccess Dosyasını Kontrol Edin
Apache tabanlı WordPress sitelerde 403 hatasının en sık karşılaşılan nedenlerinden biri bozuk veya hatalı .htaccess dosyasıdır.
.htaccess dosyasına eklenen yanlış bir IP engelleme, yönlendirme veya güvenlik kuralı sitenin tamamına erişimi durdurabilir.
cPanel veya FTP üzerinden WordPress’in kurulu olduğu ana dizine gidin:
public_html/
Buradaki .htaccess dosyasının yedeğini aldıktan sonra dosyanın adını değiştirin:
.htaccess-eski
Daha sonra sitenizi yeniden açmayı deneyin.
Hata düzelirse WordPress yönetim panelinde şu bölüme gidin:
Ayarlar > Kalıcı Bağlantılar
Herhangi bir ayarı değiştirmeden Değişiklikleri Kaydet butonuna tıklayın. WordPress, standart kuralları içeren yeni bir .htaccess dosyası oluşturacaktır.
Standart WordPress .htaccess içeriği genellikle şu şekildedir:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
WordPress alt klasörde kuruluysa RewriteBase ve yönlendirme yolları farklı olabilir. Bu nedenle başka bir siteden doğrudan .htaccess dosyası kopyalamak yerine sitenizin kurulum yapısına uygun kurallar kullanılmalıdır.
4. Dosya ve Klasör İzinlerini Düzeltin
Sunucudaki her dosya ve klasörün erişim izinleri bulunur. Bu izinlerin çok kısıtlı olması, web sunucusunun WordPress dosyalarını okuyamamasına neden olabilir.
WordPress için yaygın olarak kullanılan izin değerleri şunlardır:
- Klasörler: 755
- Dosyalar: 644
- wp-config.php: Sunucu yapılandırmasına göre 600, 640 veya 644
cPanel Dosya Yöneticisi üzerinden dosya ya da klasöre sağ tıklayarak İzinleri Değiştir seçeneğini kullanabilirsiniz.
FTP programı kullanıyorsanız WordPress ana dizinindeki klasörlere 755, dosyalara ise 644 izni verebilirsiniz.
Tüm dosyalara 777 izni vermeyin. Bu yöntem güvenlik açığı oluşturabilir ve bazı hosting firmaları tarafından otomatik olarak engellenebilir.
İzinleri değiştirdikten sonra aşağıdaki dizinleri özellikle kontrol edin:
public_html/ public_html/wp-admin/ public_html/wp-content/ public_html/wp-content/uploads/ public_html/wp-includes/
Yalnızca görsel yüklerken 403 hatası alıyorsanız wp-content/uploads dizininin izinlerini kontrol etmeniz gerekir.
5. ModSecurity Engellemesini Kontrol Edin
ModSecurity, hosting sunucularında kullanılan bir web uygulama güvenlik sistemidir. Zararlı olduğu düşünülen istekleri otomatik olarak engeller.
Ancak bazı WordPress işlemleri yanlışlıkla tehdit olarak algılanabilir. Örneğin:
- Blog yazısı kaydetmek
- Elementor ile sayfa düzenlemek
- Kod içeren içerik yayınlamak
- Eklenti ayarlarını kaydetmek
- Form göndermek
- Tema dosyası düzenlemek
- Büyük bir dosya yüklemek
- REST API üzerinden işlem yapmak
403 hatası yalnızca belirli bir formu gönderirken veya yazı kaydederken ortaya çıkıyorsa ModSecurity ihtimali yüksektir.
Bazı hosting panellerinde ModSecurity geçici olarak kapatılabilir. Ancak güvenlik sistemini kalıcı şekilde devre dışı bırakmak yerine hosting firmasından hangi kuralın isteği engellediğini kontrol etmesini istemek daha güvenlidir.
Hosting desteğine şu bilgileri iletin:
- 403 hatasının oluştuğu tam URL
- İşlemin yapıldığı tarih ve saat
- Kullanılan IP adresi
- Hata oluşmadan önce yapılan işlem
- Varsa ekran görüntüsü
Sunucu loglarında ilgili ModSecurity kuralı tespit edilerek yalnızca yanlış engelleme yapan kural için istisna tanımlanabilir.
6. Cloudflare ve CDN Ayarlarını Kontrol Edin
Cloudflare veya başka bir CDN kullanıyorsanız 403 hatası doğrudan WordPress sunucusundan gelmiyor olabilir.
Cloudflare tarafında şu bölümleri kontrol edin:
- WAF güvenlik kuralları
- Özel güvenlik duvarı kuralları
- IP Access Rules
- Rate Limiting kuralları
- Bot koruması
- Ülke bazlı engelleme
- Security Level ayarı
Özellikle yönetim paneline çok sayıda giriş denemesi yapıldıysa IP adresiniz geçici olarak engellenmiş olabilir.
Cloudflare’i kısa süreliğine geliştirme moduna alarak veya proxy özelliğini geçici olarak kapatarak hatanın CDN kaynaklı olup olmadığını test edebilirsiniz.
Ancak bu işlemler yalnızca teşhis amacıyla yapılmalıdır. Sorun tespit edildikten sonra güvenlik ayarları yeniden etkinleştirilmelidir.
7. IP Adresinizin Engellenip Engellenmediğini Kontrol Edin
WordPress eklentileri, hosting güvenlik sistemleri veya sunucu güvenlik duvarı belirli IP adreslerini engelleyebilir.
Aşağıdaki durumlardan biri yaşandıysa IP engellemesi oluşabilir:
- Art arda yanlış şifre girilmesi
- Çok sayıda sayfanın kısa sürede açılması
- Yoğun API isteği gönderilmesi
- FTP şifresinin yanlış girilmesi
- Zararlı bot davranışına benzeyen trafik oluşması
- VPN veya ortak IP kullanılması
- Güvenlik eklentisinin yanlış alarm vermesi
Site başka bir internet bağlantısından açılıyorsa mevcut IP adresinizin beyaz listeye eklenmesi gerekebilir.
cPanel kullanıyorsanız IP Blocker bölümünü kontrol edin. Ayrıca .htaccess dosyasında aşağıdakine benzer kurallar bulunup bulunmadığına bakın:
Deny from 192.168.1.1
veya:
Require not ip 192.168.1.1
Engelleme Cloudflare üzerinde yapılmışsa WordPress dosyalarında değişiklik yapmak sorunu çözmeyecektir. Engelin hangi katmanda bulunduğu belirlenmelidir.
8. Hotlink Korumasını Kontrol Edin
Hotlink koruması, başka sitelerin sunucunuzdaki görselleri doğrudan kullanmasını önler. Yanlış yapılandırıldığında kendi sitenizdeki görsellerin veya bazı dosya türlerinin de engellenmesine neden olabilir.
403 hatası yalnızca görsellerde, PDF dosyalarında veya indirilebilir içeriklerde ortaya çıkıyorsa hotlink korumasını kontrol edin.
cPanel üzerinde Hotlink Protection bölümüne giderek:
- Kendi alan adınızın izin verilen adreslerde bulunduğunu doğrulayın.
- www kullanılan ve kullanılmayan alan adlarını ekleyin.
- HTTPS ve HTTP sürümlerini kontrol edin.
- Gerekirse özelliği geçici olarak kapatıp test yapın.
Örneğin aşağıdaki adreslerin ayrı ayrı tanımlanması gerekebilir:
https://siteadi.com https://www.siteadi.com http://siteadi.com http://www.siteadi.com
9. WordPress Ana Dosyalarını Yenileyin
WordPress çekirdek dosyaları eksik, değiştirilmiş veya bozulmuşsa bazı dizinlerde erişim sorunları oluşabilir.
Bu durumda WordPress’in güncel kurulum paketini indirerek şu iki klasörü yeniden yükleyebilirsiniz:
wp-admin wp-includes
wp-content klasörünü ve wp-config.php dosyasını silmeyin. Bu alanlarda sitenizin temaları, eklentileri, yüklenen dosyaları ve veritabanı bağlantı bilgileri bulunur.
Dosyaları değiştirmeden önce mutlaka tam site yedeği alın.
WordPress yönetim paneline erişebiliyorsanız:
Başlangıç > Güncellemeler
bölümündeki WordPress’i yeniden kurma seçeneğini de kullanabilirsiniz.
10. Dizin İçinde index.php Dosyası Bulunduğunu Kontrol Edin
Sunucuda dizin listeleme kapalıysa ve ilgili klasörde bir başlangıç dosyası yoksa 403 hatası görülebilir.
Web sunucuları genellikle şu dosyalardan birini arar:
index.php index.html index.htm
WordPress ana dizinindeki index.php dosyasının silinmediğinden emin olun.
Standart WordPress index.php dosyası oldukça kısa bir yapıya sahiptir:
<?php define('WP_USE_THEMES', true); require __DIR__ . '/wp-blog-header.php';
WordPress başka bir klasöre taşındıysa veya alan adı yeni bir dizine yönlendirildiyse document root ayarının da kontrol edilmesi gerekir.
11. Dosya Sahipliği Sorunlarını Kontrol Edin
Dosya izinleri doğru görünmesine rağmen 403 hatası devam ediyorsa dosya sahipliği yanlış olabilir.
Bu problem genellikle:
- Site farklı bir sunucudan taşındığında
- Dosyalar root kullanıcısıyla yüklendiğinde
- Hosting hesabı değiştirildiğinde
- Sunucu yeniden yapılandırıldığında
- Yedek farklı kullanıcı hesabıyla geri yüklendiğinde
ortaya çıkar.
Dosyaların sahibi, hosting hesabının çalıştığı kullanıcıyla uyumlu olmalıdır. Paylaşımlı hosting kullanıcılarının bu ayarı doğrudan değiştirme yetkisi bulunmayabilir. Hosting desteğinden dosya sahipliği ve kullanıcı grubu ayarlarını kontrol etmesini isteyebilirsiniz.
12. Sunucu Hata Kayıtlarını İnceleyin
403 hatasının gerçek nedenini bulmanın en güvenilir yöntemlerinden biri sunucu hata kayıtlarını kontrol etmektir.
cPanel üzerinde genellikle şu bölümler bulunur:
- Errors
- Raw Access
- Metrics
- Error Log
- ModSecurity Log
Sunucuda dosya erişiminiz varsa aşağıdaki log dosyaları da incelenebilir:
error_log access_log /var/log/apache2/error.log /var/log/nginx/error.log
Loglarda şu ifadelere dikkat edin:
client denied by server configuration permission denied access forbidden by rule mod_security directory index forbidden authentication failure
Hata kayıtları, sorunun dosya izninden mi, güvenlik kuralından mı yoksa sunucu yapılandırmasından mı kaynaklandığını anlamayı kolaylaştırır.
WordPress Admin Panelinde 403 Hatası Nasıl Çözülür?
403 hatası yalnızca /wp-admin veya /wp-login.php sayfasında görülüyorsa şu kontrolleri yapın:
- Güvenlik eklentilerini devre dışı bırakın.
- Giriş denemesi sınırlandırma kayıtlarını temizleyin.
- IP adresinizin engellenmediğini kontrol edin.
- Cloudflare güvenlik kurallarını inceleyin.
- .htaccess içindeki /wp-admin kısıtlamalarını kaldırın.
- ModSecurity kayıtlarını kontrol edin.
- wp-admin klasörünü temiz WordPress dosyalarıyla yenileyin.
- VPN ve proxy bağlantısını kapatın.
Bazı WordPress sitelerde yönetim paneline yalnızca belirli IP adreslerinden erişim verilmiş olabilir. .htaccess dosyasında aşağıdakine benzer bir yapı bulunabilir:
<Files wp-login.php> Order Deny,Allow Deny from all Allow from 88.00.00.00 </Files>
IP adresiniz değiştiğinde bu kural sizi de engeller. Sabit IP kullanmıyorsanız bu tür bir yapı dikkatli uygulanmalıdır.
WordPress Dosya Yüklerken 403 Hatası
Medya yüklerken 403 hatası alıyorsanız sorun genellikle şu nedenlerden kaynaklanır:
- uploads klasörü izinleri
- ModSecurity dosya filtreleri
- Yasaklı dosya uzantıları
- Çok büyük dosya boyutu
- Güvenlik eklentisinin yüklemeyi engellemesi
- CDN veya web uygulama güvenlik duvarı
- Dosya adında özel karakter bulunması
Dosya adında Türkçe karakter, boşluk veya olağan dışı semboller varsa dosyayı yeniden adlandırmayı deneyin.
Örnek:
wordpress-403-hatasi-cozumu.webp
Ayrıca farklı bir dosya türü ve daha küçük dosya boyutuyla test yaparak sorunun genel mi yoksa dosyaya özel mi olduğunu belirleyebilirsiniz.
WordPress Yazı Kaydederken 403 Hatası
WordPress yazı veya sayfa kaydederken 403 hatası alınması çoğunlukla içerikteki belirli kelimelerin, kodların veya bağlantıların güvenlik sistemi tarafından şüpheli görülmesiyle ilgilidir.
Özellikle içerikte şu öğeler varsa ModSecurity tetiklenebilir:
- JavaScript kodları
- SQL sorguları
- PHP kod örnekleri
- iframe etiketleri
- Çok sayıda harici bağlantı
- Komut satırı örnekleri
- Şüpheli kabul edilen teknik ifadeler
İçeriği parça parça kaydederek hangi bölümün engellemeye neden olduğunu tespit edebilirsiniz. Sorun ModSecurity kaynaklıysa ilgili kuralın hosting firması tarafından incelenmesi gerekir.
403 Hatası Site Güvenliğinin İhlal Edildiği Anlamına mı Gelir?
403 hatası tek başına sitenin saldırıya uğradığını göstermez. Çoğu durumda sorun yanlış izin, güvenlik eklentisi veya sunucu kuralından kaynaklanır.
Ancak aşağıdaki belirtiler de varsa güvenlik kontrolü yapılmalıdır:
- .htaccess dosyasında tanımadığınız kodlar
- Bilinmeyen yönetici hesapları
- Kendiliğinden oluşan PHP dosyaları
- Arama sonuçlarında istenmeyen sayfalar
- Site ziyaretçilerinin farklı adreslere yönlendirilmesi
- Dosya değişiklik tarihlerinde şüpheli hareketler
- Güvenlik eklentisinin zararlı yazılım uyarısı vermesi
Bu durumda yalnızca 403 hatasını kaldırmak yeterli değildir. WordPress dosyaları, veritabanı, yönetici kullanıcıları, cron görevleri ve sunucu logları birlikte incelenmelidir.
403 Hatasını Çözmeden Önce Yedek Alın
.htaccess, WordPress çekirdek dosyaları, eklentiler veya dosya izinleri üzerinde işlem yapmadan önce sitenizin yedeğini alın.
Yedek kapsamında şu veriler bulunmalıdır:
- WordPress dosyaları
- MySQL veritabanı
- .htaccess dosyası
- wp-config.php
- Tema ve eklenti dosyaları
- uploads klasörü
Yanlış yapılan bir işlem mevcut 403 hatasının yanında yeni erişim ve yönlendirme sorunlarına da neden olabilir.
WordPress 403 Hatası İçin Hızlı Kontrol Listesi
WordPress sitenizde 403 Forbidden hatasıyla karşılaştığınızda şu sırayla ilerleyebilirsiniz:
- Siteyi farklı tarayıcı ve internet bağlantısıyla açın.
- VPN veya proxy bağlantısını kapatın.
- WordPress eklentilerini geçici olarak devre dışı bırakın.
- .htaccess dosyasını yeniden oluşturun.
- Klasör izinlerini 755, dosya izinlerini 644 olarak kontrol edin.
- Cloudflare ve CDN güvenlik kurallarını inceleyin.
- ModSecurity kayıtlarını kontrol ettirin.
- IP adresinizin engellenmediğini doğrulayın.
- Hotlink korumasını kontrol edin.
- WordPress çekirdek dosyalarını yenileyin.
- Sunucu hata kayıtlarını inceleyin.
- Hosting firmasından dosya sahipliğini kontrol etmesini isteyin.
Sık Sorulan Sorular
WordPress 403 Forbidden hatası kalıcı mıdır?
Hayır. Hatanın kaynağı tespit edildiğinde çoğunlukla .htaccess, dosya izinleri, güvenlik eklentisi veya sunucu kuralı düzeltilerek siteye yeniden erişim sağlanabilir.
403 hatası veritabanından kaynaklanır mı?
403 hatası genellikle veritabanı bağlantısıyla ilgili değildir. Veritabanı sorunlarında daha çok “Error Establishing a Database Connection” benzeri mesajlar görülür. Bununla birlikte bazı güvenlik eklentilerinin veritabanında sakladığı IP engelleme kayıtları dolaylı olarak 403 hatasına neden olabilir.
WordPress 403 hatasında tüm eklentileri silmek gerekir mi?
Hayır. Eklentileri silmek yerine geçici olarak devre dışı bırakmak yeterlidir. Sorunlu eklenti tespit edildikten sonra ayarları düzenlenebilir, güncellenebilir veya alternatif bir eklenti kullanılabilir.
.htaccess dosyasını silmek güvenli midir?
Dosyanın yedeği alındıktan sonra geçici olarak yeniden adlandırılabilir. WordPress, kalıcı bağlantı ayarları kaydedildiğinde yeni bir .htaccess dosyası oluşturabilir. Özel yönlendirmeleriniz veya güvenlik kurallarınız varsa bunları yeni dosyaya kontrollü şekilde aktarmanız gerekir.
Dosyalara 777 izni vermek 403 hatasını çözer mi?
Bazı durumlarda erişim sağlıyor gibi görünse de 777 izni ciddi güvenlik riski oluşturur. Ayrıca hosting güvenlik sistemleri bu izin seviyesini engelleyebilir. WordPress klasörlerinde genellikle 755, dosyalarda ise 644 kullanılmalıdır.
403 hatası yalnızca bende görünüyorsa ne yapmalıyım?
Farklı internet bağlantısıyla test yapın. Site başka bağlantılarda açılıyorsa IP adresiniz engellenmiş olabilir. Güvenlik eklentisi, Cloudflare, cPanel IP Blocker ve sunucu güvenlik duvarı kayıtları kontrol edilmelidir.
WordPress 403 Forbidden Sorunu Devam Ediyorsa
WordPress 403 Forbidden hatası basit bir tarayıcı önbelleği probleminden kaynaklanabileceği gibi sunucu güvenlik kuralları, dosya sahipliği veya zararlı yazılım nedeniyle de ortaya çıkabilir. Bu nedenle rastgele dosya silmek ya da tüm güvenlik özelliklerini kapatmak yerine kontrollü bir inceleme yapılmalıdır.
CoreSoftDigital, WordPress sitelerde görülen 403 Forbidden, 500 Internal Server Error, kritik hata, beyaz sayfa, yönetim paneline erişememe ve güncelleme sonrası site bozulması gibi teknik problemlerin tespit edilmesi ve giderilmesi konusunda destek sunar.
Sitenizde 403 hatası devam ediyorsa WordPress dosyaları, .htaccess kuralları, eklentiler, güvenlik sistemleri ve sunucu logları birlikte incelenerek sorunun gerçek kaynağı belirlenmelidir.