403 Forbidden Error veya Türkçe karşılığıyla 403 Yasak Hatası, özellikle WordPress tabanlı sitelerde sıkça karşılaşılan erişim problemlerinden biridir ve çözümü düşündüğünüzden çok daha basit. Bu rehberde, 403 hatasının tüm olası nedenlerini ve çözümlerini adım adım göreceğiz.
Wordpress sitenizde oturum açmak isterken, sayfa veya yazıları düzenlerken, site taşıma veya WordPress kurulumu yaparken “403 Forbidden Error” hata mesajıyla karşılaşabilirsiniz. Bu mesaj aşağıdaki varyasyonlarla karşınıza çıkabilir:
- “Forbidden – You don’t have permission to access / on this server”-(Yasak – Bu sunucuya erişim izniniz yok)
- “403 – Forbidden: Access is denied”– (403 – Yasak: Erişim reddedildi)
- “Error 403 – Forbidden”– (Hata 403 – Yasak)
- “403 – Forbidden Error – You are not allowed to access this address”– (403 – Yasak Hata – Bu adrese erişmenize izin verilmiyor)
- “HTTP Error 403 – Forbidden – You do not have permission to access the document or program you requested”– (HTTP Hatası 403 – Yasak – Talep ettiğiniz belgeye veya programa erişim izniniz yok)
- “403 Forbidden – Access to this resource on the server is denied”– (403 Yasak – Sunucudaki bu kaynağa erişim reddedildi)
- “403. That’s an error. Your client does not have permission to get URL / from this server”– (403. Bu bir hata. İstemcinizin bu sunucudan URL alma izni yok)
- “You are not authorized to view this page”– (Bu sayfayı görüntüleme yetkiniz yok)
- “It appears you don’t have permission to access this page.”– (Bu sayfaya erişim izniniz yok gibi görünüyor)
İşte bu mesajlardan birine örnek:

“403 Forbidden Error” Hatası Nedenleri
403 Forbidden hatası, web sunucusunun bir isteği anladığını ama yetkisiz bulduğu için reddeddiği durumları ifade eder. Bu HTTP durum kodunu, sunucunuz “Seni duyuyorum ama bu içeriği gösteremem” dediğinde alırsınız.
Teknik açıdan bakarsak, 404 (sayfa bulunamadı) hatasından farklıdır – çünkü sayfa var, ancak sunucu size göstermeyi reddediyor. Bu genellikle güvenlik ayarları, dosya izinleri veya sunucu yapılandırması ile ilgili bir sorundur.
- En yaygın nedenler şunlardır:
- Yanlış dosya ve klasör izinleri (chmod değerleri)
- Bozuk .htaccess dosyası
- Güvenlik eklentilerinin aşırı koruyucu davranması
- Sunucu tarafında IP engellemeleri
- WordPress dizin yapısında index dosyasının olmaması
1. Dosya ve Klasör İzinlerini Düzeltin
WordPress’teki 403 hatalarının %70’inden fazlası yanlış dosya izinlerinden kaynaklanır. Dosya izinleri, kimin hangi dosyayı okuyabileceğini, yazabileceğini veya çalıştırabileceğini belirleyen sayısal kodlardır.
- FTP veya Dosya Yöneticisi ile Bağlanın– Hosting kontrol panelinizden (cPanel, Plesk vb.) Dosya Yöneticisi’ni açın veya FileZilla gibi bir FTP programı kullanın. WordPress kurulum dizininize gidin.
- Klasör İzinlerini Kontrol Edin– Tüm klasörleriniz 755 izin değerine sahip olmalı. Klasöre sağ tıklayın, “İzinler” veya “Permissions” seçeneğini bulun ve değeri 755 yapın.
- Dosya İzinlerini Ayarlayın– Tüm dosyalarınız (PHP, CSS, JS vb.) 644 izin değerine sahip olmalı. Sadece wp-config.php dosyası için 440 veya 400 kullanabilirsiniz.
- Alt Klasörlere Uygulayın– Bu işlemi tüm WordPress klasörlerine özyinelemeli (recursive) olarak uygulayın. Çoğu FTP programında “Apply to subdirectories” seçeneği vardır.
Şimdi bu işlemi FTP üzerinden adım adım açıklayalım:
- FTP istemcisi olarak ücretsiz FileZilla programını kullanacağız. FileZilla ile sunucunuza bağlandıktan sonra aşağıdaki yolu izleyin:
- Önce kök klasörü (public_html) bulun ve sağ tıklayıp “Dosya Özellikleri“ni seçin.

- Sayısal değer kutusuna 755 veya 750 girin. Ardından, Alt dizinlere tekrarla ve Yalnızca dizinlere uygula‘yı seçin ve Tamam butonuna tıklayın.

- Şimdi aynı işlemi Dosya İzinleri için uygulayın. Public_html sağ tıklayın, Dosya Özelliklerini seçin ve bu kez sayısal değeri 644 veya 640 olarak belirtin. Ardından “Alt dizinlere tekrarla” ve Yalnızca Dosyalara Uygula” yı seçip Tamam butonuna tıklayın.

- Şimdi de Wp-config.php dosyasının izinlerini değiştirmek için, kök dizine gidin (genellikle public_html). Çift tıklayın ve açılan sayfadan wp-config.php’yi bulun. Üzerine gelin ve sağ tıklayıp “Dosya İzinleri“ni seçin.
- Sayısal değer olarak 440 veya 400 belirtip Tamam butonuna tıklayın.

- İzin değerlerini manuel olarak ayarlamak yerine, SSH erişiminiz varsa aşağıdaki komutları kullanabilirsiniz:
# Klasörler için
find /path/to/wordpress/ -type d -exec chmod 755 {} \;
# Dosyalar için
find /path/to/wordpress/ -type f -exec chmod 644 {} \;
Şimdi web sitenize gidin ve “403 Forbidden Error” hatasının çözülüp çözülmediğini kontrol edin. Sorun devam ediyorsa bir sonraki adıma geçin.
2. Bozuk .htaccess Dosyasından Kaynaklanan 403 Hatası Çözümü
.htaccess dosyası, Apache sunucularında WordPress’in nasıl çalışacağını kontrol eden güçlü bir yapılandırma dosyasıdır. Ancak bu dosya bozulursa veya yanlış yapılandırılırsa 403 hatalarına yol açabilir.
- İlk adım her zaman yedek almaktır. FTP üzerinden .htaccess dosyanızı indirin ve bilgisayarınıza kaydedin. Böylece bir sorun olursa geri dönebilirsiniz.
- Dosyayı bulamıyor musunuz? .htaccess gizli bir dosyadır. FTP programınızda “Gizli dosyaları göster” seçeneğini aktif etmelisiniz. FileZilla programında
Sunucu (Server)sekmesine gidip “Gizli dosyaları göstermeye zorla” seçeneğine tıklayarak gizli dosyalara erişimi etkinleştireceksiniz.
- Dosyayı bulamıyor musunuz? .htaccess gizli bir dosyadır. FTP programınızda “Gizli dosyaları göster” seçeneğini aktif etmelisiniz. FileZilla programında

- cPanel’de ise .htaccess dosyanızı göremiyorsanız, sağ üstte bulunan
Ayarlarbutonuna tıklayın ve “Gizli Dosyaları Göster” seçeneğini işaretleyip kaydedin.

- Bunun ardından .htaccess dosyasını bulup silin veya adını değiştirin (örneğin .htaccess_old).

- Eğer sorun çözüldüyse, .htaccess dosyanız bozuktu demektir. Şimdi yeni bir tane oluşturacağız.
- Yeni bir .htaccess dosyası oluşturmak için WordPress yönetim panelinden Ayarlar »Kalıcı Bağlantılar sayfasına gidin ve hiçbir ayarı değiştirmeden Değişiklikleri kaydet butonuna tıklayın. WordPress otomatik olarak temiz bir .htaccess dosyası oluşturacaktır.
Eğer WordPress yeni .htaccess oluşturamazsa (sunucu izinleri nedeniyle), aşağıdaki varsayılan içeriği bir metin editörüne yapıştırıp .htaccess olarak kaydedin ve FTP ile kök dizine yükleyin:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
3. Eklentileri Devre Dışı Bırakın
403 forbidden hatası çözümü için deneyebileceğiniz bir diğer yöntem tüm eklentileri geçici olarak devre dışı bırakmaktır. Böylece, eklenti kaynaklı bir hata söz konusuysa, eklentiler devre dışı bırakıldığında sorunun çözülmüş olduğunu görebilirsiniz.
Eklentileri devre dışı bıraktığınızda sorun çözülmüşse, bir sonraki aşamada hangi eklentinin 403 hatasına neden olduğunu bulmanız gerekecek. Bunun için de eklentileri tek tek aktif ederek sorun yaratan eklentiyi bulabilirsiniz. Eğer Wordpress kontrol paneline erişemiyorsanız, tüm eklentileri devre dışı bırakmak için FTP veya cPanel kullanabilirsiniz.
- Öncelikle cPanel’de otum açın ve “Dosya Yöneticisine” gidin.
- Kök dizine çift tıklayın (genellikle public_html).
- Buradan da wp-content klasörüne çift tıklayarak giriş yapın.
- Plugins klasörüne sağ tıklayıp Rename (adını değiştir) butonuna tıklayarak klasöre plugins.deactive gibi bir isim verin.

Böylece tüm eklentiler devre dışı bırakılmış oldu. Bunun ardından WP kontrol paneline giriş yapın. 403 hatası çözülmüşse demek ki sorun eklenti kaynaklı diye düşünebiliriz.
- Eğer durum buysa, tekrar cPanel’den, plugins.deactive olarak değiştirdiğiniz klasör ismini eski haline getirin (.deactive kısmını silin)
- Ardından WP kontrol panelinden Eklentiler bölümüne gidin ve eklentileri tek tek etkinleştirerek her eklentiden sonra sitenizi kontrol edin. Bu şekilde hangi eklentinin sorun yarattığını bulabilirsiniz.
- Soruna neden olan eklentiyi bulduğunuzda yardım için eklenti geliştiricisine ulaşabilir veya mevcut eklentiyi silip, yerine alternatif bir eklenti yükleyebilirsiniz.
- Eğer mutlaka kullanmanız gereken bir eklentiyse, eklenti ayarlarını kontrol edin. Özellikleri tek tek geçici olarak kapatıp kontrol sağlayabilirsiniz.
- Özellikle güvenlik eklentileri ayarları bu tür hatalara sebep olur. Bir güvenlik eklentisi kullanıyorsanız ve 403 hatası alıyorsanız, mutlaka eklentinin “Activity Log” veya “Firewall Log” bölümünü kontrol edin. Burada hangi isteklerin neden engellendiğini görebilirsiniz. Çoğu zaman sorunu buradan tespit edebilirsiniz.
4. Index Dosyasını Kontrol Edin
WordPress’in düzgün çalışabilmesi için belirli klasörlerde index.php veya index.html dosyalarının olması gerekir. Bu dosyalar eksikse, sunucu 403 hatası verebilir – özellikle dizin listeleme kapalıysa.
- Ana Dizin (Root)– WordPress kurulum dizininizde mutlaka index.php dosyası olmalı. Bu dosya WordPress’in ana giriş noktasıdır.
- wp-content Klasörü– wp-content klasöründe index.php olmalı. Genellikle boş bir dosyadır ama varlığı önemlidir.
- wp-content/themes– Tema klasörünün içinde de index.php bulunmalı. Her tema kendi index.php dosyasına sahiptir.
- wp-content/plugins– Eklentiler klasöründe de bir index.php dosyası olmalı ki dizin içeriği görüntülenemesin.
Eğer herhangi bir klasörde index.php eksikse, şu adımları izleyin:
- Metin editörü açın: Notepad++, Sublime Text veya basit Notepad kullanabilirsiniz.
- Şu kodu yapıştırın:
<?php // Silence is golden- (Neden “Silence is golden”? Bu WordPress’in standart uygulamasıdır. Index dosyaları genellikle sadece klasör içeriğinin listelenmesini engellemek için vardır, başka bir işlevi yoktur. Bu yüzden içinde sadece bir PHP yorumu bulunur.)
- Dosyayı kaydedin: index.php olarak kaydedin (uzantıya dikkat edin, .txt olmamalı) ve dosyayı ilgili klasöre yükleyin.
5. Hosting ve Sunucu Ayarlarını Kontrol Edin
Bazen sorun sizin elinizde değildir – hosting sağlayıcınızın sunucu tarafında bir yanlışlık olabilir. Bu durumda birkaç farklı yaklaşım deneyebilirsiniz.
- IP Adresiniz Engellenmiş Olabilir– Hosting sağlayıcınızın firewall’u, IP adresinizi şüpheli aktivite nedeniyle engellemiş olabilir. Özellikle dinamik IP kullanıyorsanız, birisi önceden o IP’den saldırı yapmış olabilir.
- Çözüm: Hosting destek ekibinizle iletişime geçin ve IP adresinizin beyaz listeye eklenmesini isteyin. Genellikle 10-15 dakika içinde çözülür.
- PHP Sürümü Uyumsuzluğu– Eski bir PHP sürümü kullanıyorsanız, bazı WordPress işlevleri çalışmayabilir ve 403 hatası verebilir.
- Çözüm: cPanel’den PHP sürümünüzü tercihen 8.0+ yapın. Detaylar için “WordPress PHP Sürümünü Öğrenme ve Güncelleme” kılavuzumuzdan faydalanabilirsiniz.
- Sunucu Kaynakları Aşılmış– Özellikle paylaşımlı hostinglerde, CPU veya RAM limitiniz dolmuşsa sunucu istekleri reddetmeye başlayabilir.
- Çözüm: cPanel’den kaynak kullanımınızı kontrol edin. Sürekli limit aşımı varsa, hosting paketinizi yükseltmeyi düşünün. Ayrıca “cPanel Disk Kotası Aşıldı Çözümü: Disk Alanı Açma” kılavuzumuz da faydalı olabilir.
- ModSecurity Kuralları Çok Sıkı– Mod_security, bazı sunucular tarafından güvenlik amacıyla kullanılan açık kaynaklı bir güvenlik duvarıdır. Bazen, yanlış yapılandırma nedeniyle 403 Erişim Engeli hatası verebilir.
- Çözüm: cPanel veya FTP ile .htaccess dosyanıza gidin ve aşağıdaki kodu ekleyin. Hata çözülmezse, eklediğiniz kodu silin ve bir diğer yönteme geçin.
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>

- Hotlink Korumasını Yeniden Yapılandırın: Hotlink Koruması, cPanel’de dosyalarınıza diğer sitelerden doğrudan bağlanmayı engeller. Bu dosyalar genellikle görselleri içerir. 403 hatası da bu görselleri görüntüleyememe nedeniyle ortaya çıkabilir. Bu seçenek erişimi kısıtlamak için kullanıldığından, erişilebilir olması gereken bir dosyaya erişemediğinizde 403 Forbidden hatası ile karşılaşabilirsiniz. Bu sorunu çözmek için Hotlink Korumanızı yeniden yapılandırın:
- cPanel‘e giriş yapın, sayfayı aşağı kaydırarak “Güvenlik” bölümüne gidin ve Hotlink Koruma‘yı tıklayın. Buradaki parametreleri dikkatlice ayarlayın. “Erişime izin verilecek URL‘ler” bölümünde, site listesini kontrol edin ve eksik olanları ekleyin.

- Hata Loglarını Okumayı Öğrenin- Sunucu tarafındaki sorunları tespit etmenin en etkili yolu hata loglarını incelemektir. cPanel’de Metrics > Errors kısmından son hatalara bakabilirsiniz. Hata loglarında şu gibi ifadeler arayın:
[error] [client x.x.x.x] ModSecurity: Access denied– ModSecurity engellemesi[error] [client x.x.x.x] File does not exist– Dosya bulunamadı[crit] [client x.x.x.x] configuration error– Yapılandırma hatasıPremature end of script headers– PHP çalışma sorunu- Bu hata mesajları size sorunun kaynağı hakkında çok değerli ipuçları verir. Hata loglarını anlamakta zorlanıyorsanız, ilgili satırı ChatGPT’ye veya Google’a yapıştırın. Genellikle net açıklamalar bulabilirsiniz.
6. WordPress Veritabanı ve Cache Sorunları
Bazen 403 hatası, bozuk veritabanı kayıtları veya önbellekte kalan eski yapılandırmalardan kaynaklanabilir. Bu tür sorunlar özellikle tema veya eklenti güncellemelerinden sonra ortaya çıkar.
- Önbelleği Temizleyin– WP Super Cache, W3 Total Cache gibi önbellek eklentisi kullanıyorsanız, tüm önbelleği temizleyin.
- Tarayıcı Önbelleğini Silin– Ctrl+Shift+Delete ile tarayıcı geçmişini ve önbelleğini temizleyin.
- CDN Önbelleğini Boşaltın– Cloudflare veya başka bir CDN kullanıyorsanız, CDN önbelleğini de temizleyin.
- Veritabanı Onarımı- WordPress veritabanınız bozulmuşsa, wp-config.php dosyanıza şu satırı ekleyerek otomatik onarım modunu aktif edebilirsiniz:
define('WP_ALLOW_REPAIR', true);- Bu satırı ekledikten sonra
siteniz.com/wp-admin/maint/repair.phpadresine gidin. WordPress size “Onar” ve “Onar ve Optimize Et” seçeneklerini sunacaktır. İşlemi tamamladıktan sonra mutlaka bu satırı wp-config.php’den silin, aksi takdirde güvenlik riski oluşturur.
- Bu satırı ekledikten sonra
- Kullanıcı Rolleri Sorunları– Bazen veritabanında kullanıcı rolleriniz bozulabilir. Bu durumda admin bile 403 hatası alabilir.
- Çözüm: phpMyAdmin’den wp_usermeta tablosuna gidin ve capabilities satırını kontrol edin.
- Yetkilendirme Anahtarları– wp-config.php dosyanızdaki AUTH_KEY, SECURE_AUTH_KEY gibi güvenlik anahtarları bozulmuşsa, WordPress API’leri çalışmaz. WordPress.org’dan yeni anahtarlar oluşturup değiştirin.
- Site URL Ayarları– wp-config.php’de WP_HOME ve WP_SITEURL değerleri yanlışsa, çeşitli 403 hataları alabilirsiniz. Bu değerlerin doğru domain adınızı gösterdiğinden emin olun.
⚠️ Veritabanı işlemleri yapmadan önce mutlaka veritabanı yedeği alın. phpMyAdmin’den “Export” seçeneğiyle hızlıca yedek oluşturabilirsiniz. Bu alışkanlık sizi birçok baş belasından kurtarır.
Bu adımları denedikten sonra hala 403 hatası alıyorsanız, hata mesajının tam ekran görüntüsünü ve son yaptığınız değişiklikleri not edip hosting desteğine başvurun. Onlar sunucu loglarını inceleyerek sorunu daha detaylı tespit edebilirler.
