Rehber 10 Temmuz 2026 · 7 dakika okuma

WordPress’te Dosya İzinleri: Hangi Dizin Ne Olmalı?

WordPress’te dosya ve klasör izinlerini doğru ayarlayın. public_html, wp-content, wp-config.php ve upload klasörü için net değerler.

WordPress’te dosya izinleri (file permissions), hem güvenlik hem de çalışırlık için kritik bir katmandır. Yanlış izinler yalnızca “dosya yüklenmiyor” gibi hatalara yol açmaz; aynı zamanda sunucuda gereğinden fazla erişim açarak risk büyütebilir. Bu rehberde, WordPress kurulumu için dizin bazında hangi izinlerin beklendiğini, hangi kullanıcı/çalıştırma mantığında hangi değerin doğru olduğunu ve değişiklik yaparken nasıl test edeceğinizi net bir kontrol planı ile göreceksiniz.

Not: İzin değerleri kullandığınız Linux/Unix dağıtımı, PHP-FPM kullanımı ve web sunucusunun çalıştığı kullanıcı (örn. www-data, nginx, apache) gibi etkenlere göre küçük farklılıklar gösterebilir. Ancak aşağıdaki “hedef” değerler, WordPress dünyasında en yaygın ve güvenli varsayımlarla uyumludur.

Temel Kavramlar: UID/GID, izin bitleri ve WordPress akışı

WordPress dosya izinlerini anlamak için üç kavramı birlikte düşünmek gerekir:

  • Sahip (owner) / grup (group): Dizindeki dosyaları hangi kullanıcı ve hangi grup sahiplenir.
  • izin bitleri (permission): Dosya ve klasör için okuma (r), yazma (w), çalıştırma/geçme (x) yetkileri.
  • Web sunucusu kullanıcı adı: PHP’nin çalıştığı kullanıcı ile dosya sistemi izinleri uyuşmazsa WordPress “yazma” işlemlerini yapamaz.

WordPress’te tipik “yazma” akışları şunlardır: - wp-content/uploads içine görsel yükleme (upload) - Eklenti/tema kurulumu (plugin/theme installation) - Cache/temporary dosyaları (ör. bazı eklentilerin geçici klasörleri) - wp-config.php içindeki ayarların okunması; doğrudan düzenlenmesi genellikle gerekli değildir

Bu nedenle her dizin aynı izne sahip olmamalıdır. Özellikle wp-content içi yazılabilir olmalı; WordPress çekirdek dosyaları (core) ise web üzerinden yazılabilir olmamalıdır.

Unix/Linux izin sayıları nasıl okunur?

  • 4 = read (okuma)
  • 2 = write (yazma)
  • 1 = execute (çalıştırma / geçiş)

Örnek: - 755 => owner: rwx, group: r-x, others: r-x - 644 => owner: rw-, group: r--, others: r-- - 750 => owner: rwx, group: r-x, others: ---

WordPress’te klasörlerde “execute (x)” bitinin olmasının nedeni, klasörün içeriğinin taranabilmesidir. Dosyalarda ise genelde x gerekmez.

WordPress için net hedef izin seti (klasör/dosya bazlı)

Aşağıdaki değerler, çoğu barındırma ortamında güvenli başlangıç noktasıdır:

İzin tablosu (önerilen değerler)

Dizin/Dosya Tür Hedef izin Açıklama
wp-admin/ klasör 755 Yazma gerektirmez, sadece içerikler çekirdek olarak dağıtılır.
wp-includes/ klasör 755 WordPress core dosyaları. Web üzerinden yazma kapalı olmalı.
wp-content/ klasör 755 Klasörün kendisi yazılabilir olmak zorunda değildir; alt klasörler hedefe göre ayarlanır.
wp-content/themes/ klasör 755 Tema dosyaları genelde eklenti/FTP ile yüklenir; tek başına “777” yapmak yerine doğru sahiplik ve yazma izinleri uygulanır.
wp-content/plugins/ klasör 755 Eklenti yüklemede alt dosyalar yaratılır; doğru sahiplik ile çözülür.
wp-content/uploads/ klasör 775 (veya 755) Görsel yüklemeleri için yazma gerekir. Çok tutucu ortamda 755, çok paylaşımlı ortamda 775 daha pratik olur.
wp-content/uploads/ alt klasörler klasör parent ile uyumlu Yüklenen içerikler otomatik şekilde yeni klasörler oluşturur.
wp-content/cache/ (varsa) klasör 775 Önbellek eklentileri yazma yapar.
wp-config.php dosya 640 (veya 600) Veritabanı bilgileri içerir. Web kullanıcısının okuyabildiği, başkalarının erişemediği izin idealdir.
.htaccess dosya 644 Apache kullanıyorsanız site yapılandırması burada olur. Genelde yazma gerekir; ihtiyaca göre geçici 664/644 ayarlanır.
WordPress kök dizin dosyaları (örn. index.php, wp-*.php) dosya 644 Core dosyaları yalnızca okunur olmalı.

Kural: “Görsel yüklenmiyor” veya “tema/eklenti yüklenmiyor” hatalarında ilk adım chmod ile 777 yapmak değil, doğru kullanıcı/sahiplik (chown) ve uploads hedefi üzerinde düzeltme yapmaktır.

Tek satırlık net kılavuz

  • WordPress core (wp-admin, wp-includes, kök PHP dosyaları): 755 klasör, 644 dosya
  • Yazma gereken yer: wp-content/uploads (çoğunlukla 775)
  • Hassas dosya: wp-config.php (çoğunlukla 640/600)

Sahiplik (chown) hataları izin hatasından daha sık çıkar

Birçok kullanıcı “izinleri verdim ama düzelmedi” durumunu yaşar. Çünkü Linux’ta izinler “kimden” geldiğine değil, dosyanın sahibine/grubuna göre çalışır.

Web sunucusu kullanıcı adını belirleme

Çalışan kullanıcıyı (örn. www-data, apache, nginx) bilmeden yalnızca chmod yapmak yetersiz kalır.

Kamuya açık olmayan sunucularda tipik yaklaşım: 1. Hosting panelinde (Plesk/cPanel veya custom) “dosya yöneticisi” kullanın. 2. Dosyaların owner ve group değerlerini kontrol edin. 3. WordPress’in web tarafından çalıştığı kullanıcı grubuna uyumlu hale getirin.

Net hedef sahiplik stratejisi

  • Klasörleri ve dosyaları çoğunlukla web sunucusu kullanıcı grubuyla uyumlu yapın.
  • En yaygın iki düzen:
  • owner: web kullanıcı, group: web grubu
  • owner: FTP kullanıcısı, group: web grubu (paneliniz bunu destekliyorsa)

Örnek komut (sadece mantık): - chown -R www-data:www-data /path/to/wordpress

Bu komutu körlemesine tüm sunucuya uygulamayın. Eğer paylaşımlı bir ortamda farklı kullanıcılar varsa, sadece ilgili WordPress dizinini hedefleyin.

wp-config.php neden ayrı ve daha sıkı olmalı?

wp-config.php veritabanı erişim bilgilerini içerir. Bu yüzden wp-content/uploads gibi geniş yazılabilir yapmak doğru değildir.

Hedef değer seçimi

  • 600 => owner okuyabilir/yazabilir, grup ve diğerleri erişemez
  • 640 => owner okuyabilir/yazabilir, group okuyabilir, others erişemez

WordPress’in PHP’si grup üzerinden okuyabiliyorsa 640 pratik ve güvenlidir.

Yapı bozma riski

  • wp-config.php yanlış izinle 644 olursa herkes okuyabilir hale gelebilir.
  • 777 yapmak gereksiz risk yaratır.

uploads ve cache: “Yazma gereken tek yer” mantığı

WordPress’te dosya yükleme çoğunlukla wp-content/uploads altında gerçekleşir. Bu nedenle yazma izni en çok burada anlamlıdır.

uploads için net öneri

  • Klasör: 775
  • Dosyalar: genellikle 664 veya 644 (yeni yüklenen dosyaların nasıl oluştuğu ortamınıza göre değişir)

Pratik test: 1. İzinleri uyguladıktan sonra küçük bir görsel yükleyin. 2. WordPress “Media library”dan yüklenen dosyayı doğrulayın.

Cache klasörleri

Bazı önbellek eklentileri wp-content/cache/ altına yazma yapar. Bu klasör için de 775 genellikle yeterlidir.

.htaccess, otomatik yönlendirme ve izin dengesi

Apache kullanan kurulumlarda .htaccess WordPress tarafından veya eklentilerle güncellenebilir.

  • İlk hedef: 644 yeterli olur.
  • WordPress güncelleme yaparken hata alırsanız, .htaccess sadece ilgili kullanıcı tarafından güncellenebilecek şekilde geçici düzenlenmelidir.

Net yaklaşım: .htaccess için tüm siteyi 777 yapmak yerine yalnızca .htaccess dosyasını doğru izin ve sahiplikle düzeltin.

Ortama göre doğrulama: panelden mi, SSH’den mi?

Net sonuç için yöntem fark etmez; doğrulama değişir.

SSH ile doğrulama (Linux barındırmada yaygın)

  • ls -l ile izin ve sahipliği kontrol edin.
  • find ile problemli dosyaları ayıklayın.

Örnek mantık komutu (ödev gibi değil, yön gösterir): - find wp-content -type d -exec chmod 755 {} \;

Bu tarz komutlar her zaman “tam hedef” değildir. uploads gibi yazılabilir olması gereken klasörleri ayrı ele almanız gerekir.

Panel (File Manager) ile doğrulama

Plesk/cPanel veya hosting firmasının dosya yöneticisi üzerinden: - owner/group değişimini uygulayın - sadece hedef klasörlerde (özellikle uploads) izinleri artırın

Yaygın hata senaryoları ve net düzeltme adımları

1) “Dosya yüklenemiyor” (Uploads yazma hatası)

Belirti: - Medya ekleme başarısız - Bazı eklentiler dosya oluşturamaz

Net düzeltme sırası: 1. wp-content/uploads klasörünün izinlerini ve owner/group’ünü kontrol edin. 2. uploads klasörü 755 ise, yazma gerektiren ortamlarda 775 ile deneyin. 3. Sadece wp-content/uploads ve gerekirse wp-content/cache için sahiplik/grup uyumunu düzeltin.

2) “Tema/eklenti yüklenemiyor”

Belirti: - Zip yükleniyor ama açılmıyor - FTP katmanı devreye girmiyor

Net düzeltme: - wp-content/plugins ve wp-content/themes dizinlerinin owner/group’ünün doğru olduğundan emin olun. - Önce sahiplik, ardından izin değişikliği yapın. “777” yerine hedeflenen 755 + doğru sahiplik daha güvenlidir.

3) “wp-config.php okunmuyor” veya kritik hata ekranı

Belirti: - Beyaz ekran, “database bağlantısı” gibi semptomlar

Net düzeltme: 1. wp-config.php izinlerini 640/600 aralığında kontrol edin. 2. PHP’nin çalıştığı kullanıcı/grup wp-config.php okuyabiliyor mu kontrol edin.

Güvenli değişiklik planı: risk almadan ilerleyin

İzin değiştirirken en büyük risk yanlış alana müdahale etmektir. Bu plan, sorunsuz geri dönüş sağlar:

  1. WordPress dizinini yedek (backup) alın. Dosya izinlerini değiştirirken revert (geri alma) şarttır.
  2. Önce sadece şu yolu test edin: wp-content/uploads yazılabiliyor mu?
  3. Sonra wp-content/cache ve .htaccess gerekiyorsa dokunun.
  4. En son aşamada wp-content/plugins/themes izin/sahiplik düzenleyin.

Eğer son 30 günde benzer sorunlar yaşanıyorsa, izin düzeltmesi tek başına çözüm olmayabilir: PHP-FPM havuzu kullanıcıları, SELinux (varsa) veya güvenlik modülleri devreye girmiş olabilir.

Hızlı kontrol listesi (kopyala-kullan)

Aşağıdaki liste, kurulum sonrası veya sorun anında aynı sırayla kontrol edilmelidir.

  • wp-content/uploads izin: 775 (veya 755), owner/group webin yazabildiği kullanıcıyla uyumlu
  • wp-content/cache (varsa) izin: 775
  • wp-config.php izin: 640 (okuma hakkı PHP’de), others erişemez
  • WordPress core: wp-admin, wp-includes klasörleri 755
  • WordPress root PHP dosyaları: 644
  • Tüm siteyi 777 yapma kuralı: Yalnızca hedef klasörlerde ve hedef izinlerle ilerle

Sonuç: Doğru izin setini kurun, sonra sadece gereken yeri yazılabilir yapın

WordPress’te dosya izinleri, “tek bir rakam” ile çözülmez; dizin bazlı hedef gerekir. En güvenli yaklaşım; core dosyalarını okunur tutup yazma ihtiyacı olan yeri wp-content/uploads ve (gerekiyorsa) cache klasörleriyle sınırlamaktır. Siz de önce uploads üzerinden test edin; düzelmiyorsa önce sahiplik/grup uyumsuzluğunu kontrol edin. Bu sırayı izleyerek hem hataları kalıcı biçimde azaltır hem de gereksiz güvenlik açığını önlersiniz.

Etiketler: #wordpress #dosya izinleri #vps #web hosting #güvenlik #uploads

Hosting karşılaştırması yapmaya hazır mısın?

100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.

Hosting Karşılaştır →

İlgili Yazılar

0 ürün seçildi
NetKıyas AI
Hosting danışmanınız
Merhaba! Ben NetKıyas yapay zekâ asistanı. Hosting, VDS, VPS veya sunucu seçiminde size yardımcı olabilirim. Ne arıyorsunuz?