İçindekiler
WordPress, içerik oluşturucular ve site yöneticileri için oldukça esnek bir platformdur. Ancak bazen, güvenlik veya kaynak yönetimi açısından yalnızca belirli dosya türlerinin yüklenmesine izin vermek gerekebilir. Özellikle sitenizde sadece resim dosyalarının (JPEG, PNG, GIF gibi) yüklenmesine izin vererek hem performansı artırabilir hem de kötü niyetli dosya yüklemelerinin önüne geçebilirsiniz. Bu makalede, WordPress’te resimler dışında tüm dosya türlerinin yüklenmesini nasıl engelleyebileceğinizi SEO uyumlu bir şekilde anlatıyoruz.
Neden Yalnızca Resim Dosyalarını İzin Vermelisiniz?
- Güvenlik: Sitenize kötü amaçlı dosyalar yüklenmesini engelleyerek potansiyel güvenlik açıklarını kapatabilirsiniz.
- Performans: Gereksiz büyük dosyalar sitenizin yükleme hızını yavaşlatabilir, bu da SEO performansınıza zarar verebilir.
- Kaynak Yönetimi: Hosting alanınızı sadece gerekli medya dosyalarıyla doldurmak, sitenizi daha verimli hale getirir.
Bu işlemi kolayca gerçekleştirmek için temanızın functions.php
dosyasına birkaç satır kod ekleyebilirsiniz. Aşağıda adım adım nasıl yapacağınızı göstereceğiz.
WordPress’te Resim Dışındaki Dosyaların Yüklenmesini Engelleme
Yalnızca resim dosyalarının yüklenmesine izin vermek için aşağıdaki kodu kullanabilirsiniz. Bu kod, yüklenen dosyanın türünü kontrol eder ve yalnızca JPEG, PNG, GIF gibi resim formatlarına izin verir.
function only_allow_image_uploads($file) {
// Yüklenen dosyanın uzantısını kontrol et
$filetype = wp_check_filetype($file['name']);
$allowed_mime_types = array('image/jpeg', 'image/png', 'image/gif');
// Eğer dosya tipi izin verilenler arasında değilse hata mesajı ver
if (!in_array($filetype['type'], $allowed_mime_types)) {
$file['error'] = 'Yalnızca resim dosyası yükleyebilirsiniz (.jpg, .png, .gif).';
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'only_allow_image_uploads');
Birden Fazla Dosya Türünü Engelleme Senaryoları
Örnek 1: Yalnızca PDF ve Resim Dosyalarına İzin Verme
Eğer sitenizde yalnızca resim dosyaları ve PDF yüklenmesine izin vermek istiyorsanız, aşağıdaki gibi bir yapı kurabilirsiniz:
function allow_images_and_pdf_uploads($file) {
$filetype = wp_check_filetype($file['name']);
$allowed_mime_types = array('image/jpeg', 'image/png', 'image/gif', 'application/pdf');
if (!in_array($filetype['type'], $allowed_mime_types)) {
$file['error'] = 'Yalnızca resim ve PDF dosyası yükleyebilirsiniz (.jpg, .png, .gif, .pdf).';
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'allow_images_and_pdf_uploads');
Bu kod ile yalnızca PDF ve resim dosyalarının yüklenmesine izin verilir. Diğer tüm dosya türleri engellenir.
Örnek 2: Yalnızca ZIP Dosyalarını Engelleme
Bazen tam tersi bir durum isteyebilirsiniz; örneğin, sadece belirli dosya türlerini (ZIP dosyaları gibi) engellemek. Aşağıdaki kod, sadece ZIP dosyalarını engellerken diğer dosya türlerine izin verir:
function block_zip_uploads($file) {
$filetype = wp_check_filetype($file['name']);
$blocked_mime_types = array('application/zip');
if (in_array($filetype['type'], $blocked_mime_types)) {
$file['error'] = 'ZIP dosyası yükleyemezsiniz.';
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'block_zip_uploads');
Bu şekilde, ZIP dosyaları yüklemeye çalışan kullanıcılar bir hata mesajı alacak, diğer dosya türleri ise yüklenebilir olacaktır.
İşte WordPress’te engellenebilecek dosya türleri için yaygın kullanılan MIME türleri. Bu listeyi kendi ihtiyaçlarınıza göre genişletebilir veya daraltabilirsiniz. Kodda bu MIME türlerini filtre olarak kullanarak dosya yüklemelerini engelleyebilirsiniz.
Engellenebilecek Dosya Türleri ve MIME Tipleri
ZIP dosyası (application/zip)
RAR dosyası (application/x-rar-compressed)
EXE dosyası (application/x-msdownload)
MS Word dosyaları (.doc ve .docx) (application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
MS Excel dosyaları (.xls ve .xlsx) (application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
MS PowerPoint dosyaları (.ppt ve .pptx) (application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation)
MP3 ses dosyası (audio/mpeg)
MP4 video dosyası (video/mp4)
AVI video dosyası (video/x-msvideo)
MKV video dosyası (video/x-matroska)
PDF dosyası (isteğe bağlı) (application/pdf)
ISO disk görüntüsü dosyası (application/x-iso9660-image)
PSD dosyası (Photoshop dosyası) (image/vnd.adobe.photoshop)
Torrent dosyası (application/x-bittorrent)
Engelleme Kodu Örneği
Aşağıdaki örnekte, birden fazla dosya türünü engelleyebileceğiniz bir yapı sunulmuştur:
function block_specific_file_uploads($file) {
$filetype = wp_check_filetype($file['name']);
// Engellenecek MIME türlerini buraya ekleyin
$blocked_mime_types = array(
'application/zip',
'application/x-rar-compressed',
'application/x-msdownload',
'application/msword',
'application/vnd.ms-excel',
'application/vnd.ms-powerpoint',
'audio/mpeg',
'video/mp4',
'video/x-msvideo',
'video/x-matroska',
'application/pdf', // İsteğe bağlı olarak PDF de engellenebilir
'application/x-iso9660-image',
'image/vnd.adobe.photoshop',
'application/x-bittorrent'
);
if (in_array($filetype['type'], $blocked_mime_types)) {
$file['error'] = 'Bu dosya türünü yükleyemezsiniz.';
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'block_specific_file_uploads');
WordPress’te yalnızca resim dosyalarının yüklenmesine izin vermek veya belirli dosya türlerini engellemek, sitenizin güvenliği ve performansı açısından oldukça önemlidir. Bu basit kodlarla, medya yüklemelerini kontrol altında tutabilir ve sitenizin ihtiyaçlarına göre özelleştirebilirsiniz. Unutmayın, sitenizdeki güvenlik ve hız iyileştirmeleri, SEO performansınıza da doğrudan katkı sağlar. Bu yöntemlerle hem kullanıcı deneyimini iyileştirir hem de arama motoru sıralamalarında daha iyi sonuçlar elde edebilirsiniz.
WordPress’te sadece resim dosyalarını nasıl yüklerim?
WordPress’te belirli dosya türlerini engellemenin en kolay yolu nedir?
WordPress güvenliği için dosya yüklemelerini nasıl sınırlandırabilirim?
Hangi MIME türleri WordPress’te dosya yüklemesini engeller?
ZIP dosyası yüklemeyi WordPress’te nasıl engelleyebilirim?
WordPress’te sadece PDF ve resim dosyalarına izin vermek mümkün mü?
EXE dosyalarını WordPress yüklemelerinden nasıl engelleyebilirim?
WordPress’te dosya güvenliğini nasıl artırırım?
WordPress medya yüklemelerini yönetmenin en iyi yolları nelerdir?
WordPress sitenizde güvenliği artırmak için dosya türü kontrolü nasıl yapılır?
Umarım faydalı olmuştur 🙂