Bu yazımda sizlere Wordpress içerik yönetim sistemi kurulu internet sitenizde, sitenizin daha hızlı açılması ve Google tarafından daha iyi indexlenmesi; ayrıca Google aramalarında daha üst sırada yer almak istiyorsanız da Wordpress GZIP sıkıştırma özelliğinin bir başka deyişle mod_deflate kullanımının aktif olması gerekiyor. Bunun için bazen .htaccess dosyası üzerinde bazen de cpanel üzerinde düzenleme yapmanız gerekebilir. Fakat tüm düzenlemelere rağmen mod_deflate modülü aktif gözükmüyorsa; yani gzip aktifleşmemişse (gzip çalışmıyorsa) aşağıda yazacaklarımı uygulayabilirsiniz.
Sayfa İçerikleri
WordPress GZIP Sıkıştırma
Wordpress içerik yönetim sistemine sahip internet sitenizde, sitenizin hızlı bir şekilde açılmasını sağlamak için gzip özelliğini kullanıyoruz. GZIP özelliği ile sayfalarınızın boyutları azaltılıyor ve neredeyse 1 saniyenin altında siteniz açılıyor. Bu Google için özellikle çok önemli.
Günümüzde tüm tarayıcılar Wordpress GZIP özelliğini destekliyor. Muhtemelen sizin web sitenizin bulunduğu web sunucunuzda da GZIP özelliği yer alıyordu. Bir web tarayıcısı bir web sitesini ziyaret ettiğinde, “content-encoding: gzip” yanıt başlığının var olup olmadığını görmek suretiyle web sunucusunda GZIP’in etkin olup olmadığını kontrol eder. Header içinde algılanırsa, sıkıştırılmış ve daha küçük dosyaları hedef alır.
GZIP etkin değilse Google PageSpeed Insights ve GTmetrix gibi sitenizin hızını test eden araçlarda uyarılar göreceksiniz; ayrıca Google’in son güncellemesi ile Google arama sonuçlarında sitenizin hızı düşük puanlı olacağından alt sıralarda yer alacaksınız.
GZIP Aktif olup olmadığını kontrol etme
Sitenizde GZIP etkin olup olmadığını kontrol etmek için şu siteden faydalanabilirsiniz;
https://checkgzipcompression.com
Bu yazımda bahsettiğim GZIP özelliği konusundaki eklemeler sonrası bu siteden GZIP’in etkinleşip etkinleşmediğini kontrol edebilirsiniz.
Bunun yanında eğer sunucunuzda SSH bağlantınız varsa gzip’in aktif olup olmadığını curl komutu yardımıyla da kontrol edebilirsiniz. Aşağıdaki komutu yazın:
curl -I -H 'Accept-Encoding: gzip,deflate' https://www.hknkr.com
Site adı kısmına kendi adresini yazabilirsiniz. Eğer ekranda Content-Encoding: gzip sonucuyla karşılaşırsanız gzip aktif durumda ve çalışıyor demektir.
WordPress’de GZIP Sıkıştırma Nasıl Etkinleştirilir
Wordpress sitenizde GZIP’i etkinleştirmenin çeşitli yolları var. Bunlardan ilki, sitenizde GZIP özelliğini destekleyen bir önbellek eklentisi (cache) kurmak olacaktır. Şuan piyasada bulunan çoğu önbellek eklentisi (WP Super Cache, WP Total Cache, WP Rocket) söz konusu özelliği destekliyor ve mod_deflate modülünü kullanarak otomatik bir şekilde GZIP’ın çalışmasını sağlıyor.
Bu bahsettiğim eklentiler (plugins) GZIP özelliğini destekliyorlar ancak yine de web sunucunuzda bazı dosyaları değiştirmek için izinlere ihtiyaç duyuyorlar; eğer sitenizde Wordpress güvenlik önlemleri kapsamında bazı dosyaların cmod izin ayarlarını değiştirmişseniz (örneğin .htaccess veya cache klasörü veya wp_config) söz konusu eklentileri kurduğunuzda bazı kod ayarlamaları yapmanız gerekecek. (veya zaten eklenti kurulumunda hangi izinlerin verilmediğini eklentiler size gösteriyor)
Bunun yanında sadece GZIP özelliğini aktif etmek için kullanılan WP eklentileri de bulunuyor. Bunlardan bir tanesi de GZIP compression adlı eklenti. Kurulumu basit; eklenti ekle kısmından buluyorsunuz, yükle ve etkinleştir dedikten sonra GZIP’i etkinleştir diyorsunuz, gerisini kendi hallediyor. (Yalnız burada yine sunucunuz dosya izinleri farklıysa, sorun meydana gelebilir.)
Yukarıda bahsettiğim iki sebepten ötürü eklenti kurulumu sonrası gerekli izinler yoksa, web sunucunuzda aşağıdaki kodları kullanmanız gerekebilir. Cpanel üzerinden dosya yöneticisine girdiğinizde, sitenizin kurulu olduğu yerde bulunan .htaccess dosyasını açın. Aşağıdaki kodu içerisine yapıştırın.
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
NGINX’te GZIP’i Etkinleştirme
Eğer sunucunuz NGINX üzerinde çalışıyorsa, aşağıdaki kodları sunucunuzda bulunan nginx.conf dosyanıza ekleyin ve kaydedin.
gzip on;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_vary on;
gzip_types text/plain text/css text/javascript image/svg+xml image/x-icon application/javascript application/x-javascript;
IIS’de GZIP’i Etkinleştirme
IIS üzerinde bir siteniz varsa eğer GZIP etkinleştirme işlemi için iki farklı sıkıştırma yönteminden birini denemeniz gerekiyor. Statik ve dinamik olmak üzere kullanılan iki farklı sıkıştırma türü hakkında geniş bilgi için (ingilizceniz varsa) aşağıdaki rehberi okuyabilirsiniz.
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771003(v=ws.10)
(Windows sunucu kullanmadığım için bu yöntem hakkında daha fazla bilgi veremiyorum)
GZIP’i Cpanel üzerinden aktifleştirme
Cpanel’e giriş yapıp “Yazılım” kısmında yer alan “Web sitenizi Optimize edin” kısmında tüm içeriği sıkıştır seçeneğini seçerek GZIP aktif edebilirsiniz.
cPanel’de Gzip Çalışmama Sorunu
Yukarıda yazanların hepsini yaptınız ve hala gzip çalışmıyor ise – ki bu yazıyı okuma sebebiniz de sanırım bu – şimdi yazacaklarımı uygulayabilirsiniz.
Cpanel üzerinde Yazılım sekmesinde bulunan MultiPHP INI Editor kısmını açın ve Editör Mode (Düzenleyici Modu) seçeneğini tıklayın. Bu kısımda sitenizin çalışan PHP versiyonunu seçin. Sonrasında aşağıdaki satırları bularak altta yazdığım şekilde düzeltin.
output_handler = Off
zlib.output_compression = On
zlib.output_handler = ob_gzhandler
Wordpress GZIP sıkıştırma çalışmıyor
veya bu işlemleri yapmadan yani kod girmek istemiyorum diyorsanız en baştan başlayalım;
Cpanel üzerinden yazılım sekmesinde bulunan MultıPHP INI Düzenleyicisi kısmına giriş yapın.
Açılan kısımda Temel Mod kısmını seçin, “bir konum seçin” kısmında ise sitenizi seçin. Aşağıdaki gibi bir yer açılacak:
Bu kısımda zlib.output_compression kısmının sağdaki gibi etkinleştirildi olması lazım. GZIP etkinleştirme işleminin olması için “etkinleştirildi” olması gerekiyor yani.. Bu kısmı “etkinleştirildi” şeklinde yapın, aynı resimde olduğu gibi.
Sonra bu son işlemi, sondan bir önceki kısımda yer alan “Bir konum seçin” kısmında ana klasörü seçerek de tekrar yapın.
Şimdi sitenizde GZIP etkin olması gerekiyor. Böylelikle Wordpress GZIP sorunu çözülmüş oluyor. Yani GZIP aktif olmuyor, GZIP çalışmıyor gibi soruları sormazsınız artık. : )
Umarım fayda sağlamıştır.
bende uzun zamandır wordpress sitem için g zip sıkıştırma nasıl yapabilirim diye düşünüyordum bu içerik gerçekten çok güzel olmuş teşekkürler….
Wordpress siteler için oldukça önemli bir konuya değinmişsiniz. Paylaşım için teşekkürler. Her WP sitede olması gereken bir eklenti. Sitenin daha hızlı açılması ve sayfaların gösterilmesi için GZip eklentisi şart.
harika bilgi