Sunucu Dostu WebP Eklentisi

WordPress sitelerimizde en büyük disk alanı düşmanı hiç şüphesiz görsellerdir. Siteyi hızlandırmak için WebP formatına geçmek istiyoruz, ancak piyasadaki popüler eklentiler (Smush, Imagify vb.) genellikle orijinal JPEG/PNG dosyasını da sunucuda “yedek” olarak tutuyor. Bu da bir görsel yüklediğinizde sunucuda iki dosya barındırmanız anlamına geliyor.

Eğer yeni bir projeye başlıyorsanız veya “Eski dosyalarla işim yok, sadece hızlı açılan WebP olsun, diskim dolmasın” diyorsanız, sizin için harika ve ultra hafif bir çözümüm var.

Bu Eklenti Ne Yapar? Bu basit eklenti (Micro-Plugin), WordPress medya kütüphanesine bir resim yüklediğiniz anda devreye girer ve şunları yapar:

  1. Yüklediğiniz JPEG veya PNG dosyasını yakalar.

  2. Otomatik olarak WebP formatına çevirir (Kalite: %85).

  3. Transparanlığı korur (PNG logolarınız siyah olmaz).

  4. En önemlisi: Orijinal yüklenen büyük dosyayı sunucudan siler.

Böylece sunucunuzda gereksiz dosya yığınları (inode kullanımı) oluşmaz ve disk alanından ciddi tasarruf sağlarsınız.

Özellikleri:

  • Ayar Gerektirmez: Yükle ve etkinleştir. Panelde ayar sayfası aramanıza gerek yok.

  • Sunucu Dostu: Sadece resim yükleme anında 1 saniye çalışır, sitenizi yavaşlatan arka plan işlemleri yapmaz.

  • Ücretsiz ve Açık Kaynak: Aşağıdaki kodları kullanarak kendi eklentinizi oluşturabilirsiniz.

Nasıl Kurulur? Aşağıdaki kodları bir metin dosyasına yapıştırın, dosya adını basit-webp.php yapın, zipleyip sitenize yükleyin. Ya da direkt olarak functions.php dosyanıza ekleyebilirsiniz.

<?php
/**
* Plugin Name: Basit WebP Dönüştürücü (Orijinali Siler)
* Description: Yüklenen JPEG/PNG dosyalarını WebP'ye çevirir, transparanlığı korur ve disk tasarrufu için orijinal dosyayı siler.
* Version: 1.0
* Author: [Sizin Adınız veya Site Adınız]
* License: GPL2
*/

defined( 'ABSPATH' ) || exit;

add_filter( 'wp_handle_upload', 'custom_force_webp_on_upload' );

function custom_force_webp_on_upload( $upload_data ) {

// İşlenecek formatlar
$supported_types = array( 'image/jpeg', 'image/png' );

// Dosya türü desteklenmiyorsa veya hata varsa çık
if ( ! in_array( $upload_data['type'], $supported_types ) || isset( $upload_data['error'] ) ) {
return $upload_data;
}

$file_path = $upload_data['file'];

// Resim editörünü başlat
$image_editor = wp_get_image_editor( $file_path );

if ( ! is_wp_error( $image_editor ) ) {

// Kalite ayarı: %85 (Boyut ve kalite dengesi)
$image_editor->set_quality( 85 );

$file_info = pathinfo( $file_path );
$dirname = $file_info['dirname'];
$filename = $file_info['filename'];
$new_file_path = $dirname . '/' . $filename . '.webp';

// Aynı isimde dosya varsa üzerine yazma, sonuna sayı ekle
$i = 1;
while ( file_exists( $new_file_path ) ) {
$new_file_path = $dirname . '/' . $filename . '-' . $i . '.webp';
$i++;
}

// WebP olarak kaydet
$saved = $image_editor->save( $new_file_path, 'image/webp' );

if ( ! is_wp_error( $saved ) ) {

// BAŞARILI: Orijinal dosyayı (JPEG/PNG) sunucudan sil
@unlink( $file_path );

// Veritabanı bilgisini güncelle
$upload_data['file'] = $new_file_path;
$upload_data['url'] = str_replace( basename( $upload_data['url'] ), basename( $new_file_path ), $upload_data['url'] );
$upload_data['type'] = 'image/webp';
}
}

return $upload_data;
}
?>

Bu eklentiyi kullanmadan önce, sunucunuzda Imagick veya GD kütüphanesinin aktif olduğundan emin olun (çoğu sunucuda standarttır). Eklenti sadece yeni yüklenen görseller için çalışır, eskileri dönüştürmez.

Kodlar Kodlayana, Kahveler Bana! ☕

Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.

☕ Bana Bir Kahve Ismarla

Bir yanıt yazın

29 Aralık 2025

Sitenizin Arka Kapısını Kilitleyin: xmlrpc.php Tehlikesi ve Çözümü

WordPress sitenizi kurdunuz, temanızı seçtiniz ve güvenlik eklentilerinizi yüklediniz. Peki ya sitenizin arka kapısı, yani xmlrpc.php ne durumda? Çoğu site sahibinin varlığından bile haberdar olmadığı, ancak […]
21 Aralık 2025

WooCommerce için Ülkeye Göre Otomatik Para Birimi Değiştirme (Manuel Fiyat)

E-ticaret sitelerinde yurt dışına satış yaparken en büyük dertlerden biri fiyatlandırmadır. Piyasadaki çoğu “Currency Switcher” (Para Birimi Değiştirici) eklentisi, fiyatı o anki kura göre otomatik çarpar. […]
21 Aralık 2025

Eklenti Çöplüğüne Son: WooCommerce Vitrin ve Fırsat Alanlarını Kodla Yönetin

Standart WooCommerce bileşenleri (Son Eklenenler, Çok Satanlar vb.) çoğu zaman işimizi görse de, e-ticaret projelerinde sıklıkla daha spesifik alanlara ihtiyaç duyarız. “Editörün Seçimi“, “Haftanın Yıldızları” veya […]