Kullanıcı deneyimini etkileyebilecek sayısız faktör vardır. En önemlisi muhtemelen içeriktir, fakat web siteniz kullanıcı deneyimi açısından düşük puan alıyorsa birinci sınıf içerik bile yeterli olmayabilir. Endişelenmeyin: kullanıcı deneyimini iyileştirmek için pek çok şey yapılabilir. Gezinme kolaylığı gibi bazıları biraz soyuttur (eğer iyi çalışırlarsa kimse onları fark etmez) ve bazıları, örneğin web sitesine erişilebilirlik, web sitenizin bazı özelliklerinin yeniden tasarlanmasını bile içerebilir. Web sitesi hızı eskilerden biridir.
Bu yazıda, web sitenizin hızını artırmanın bir yolunu tartışacağız: GZIP ve bunu WordPress’te nasıl uygulayacağınızı göstereceğiz. Fakat GZIP sıkıştırması nedir? O nasıl çalışır? Web sitenizin buna gerçekten ihtiyacı var mı? Tüm bu soruları aşağıdaki yazımızda cevaplayacağız. GZIP ve WordPress araştırmamızda değineceğimiz konular şunlardır:
-
GZIP Sıkıştırma Nedir?
-
Neden GZIP Sıkıştırma Kullanmalı?
-
GZIP Sıkıştırmasının Halihazırda Etkin Olup Olmadığını Kontrol Etme
-
Bir Eklenti Kullanarak GZIP Sıkıştırmasını Etkinleştirme
-
Apache Sunucularında GZIP Sıkıştırmasını Etkinleştirme
-
Nginx Sunucularında GZIP Sıkıştırmasını Etkinleştirme
GZIP Sıkıştırma Nedir?
İpucu adında: verileri – bu durumda web sitesi verilerini – sıkıştırmanın bir yolu, daha küçük ve dolayısıyla daha hızlı yüklenmesini sağlıyor. Fakat bu, sorunun asıl amacına cevap vermiyor.
Veri sıkıştırmanın kendisi bu makalenin kapsamı dışındadır, fakat özellikle GZIP’i ele almak amacıyla, tercih edilen sıkıştırma yöntemlerinin büyük ölçüde sıkıştırılmasını istediğiniz veri türüne bağlı olduğunu söyleyeceğiz. Örneğin görüntüleri optimize etmek ve CSS ve JavaScript’i küçültmek için aynı yöntemleri kullanmazsınız, fakat amaç aynıdır.
GZIP, GNU Zip’in kısaltmasıdır ve şu anda en popüler kayıpsız sıkıştırma algoritmasıdır. Gelişmiş matematiksel sihirle çalışır ve herhangi bir dosya türünü sıkıştırabilir, fakat en iyi HTML, CSS, JavaScript ve diğer metin tabanlı dosyalarla çalışır.
Algoritma olmasının yanı sıra sıkıştırma ve açma için kullanılan bir yazılım ve bir dosya formatıdır. GZIP sıkıştırmasından kaynaklanan dosyanın son eki genellikle .gz’dir.
Nasıl çalıştığına gelince, çok teknik olmadan çok derine inemeyiz. Fazlalıkları (metindeki tekrarlanan yerleri) tespit etmek ve bunları matematikte tuple olarak bilinen sıralı öğe dizileriyle değiştirmek için LZ77 adlı bir algoritma kullandığını söyleyeceğiz. Daha sonra sonucu daha da sıkıştırmak için Huffman kodlaması olarak bilinen başka bir algoritma kullanır ve daha sık karakterleri daha az sıklıkta olanlardan daha az bit ile yeniden kodlar.
LZ77 ve Huffman kodlamasının bu kombinasyonu, yukarıda belirtilen .gz dosyasını oluşturur. Ortaya çıkan dosya, değişiklik gösterse de orijinal boyutunun %10’una kadar küçültülebilir.
Neden GZIP Sıkıştırma Kullanmalı?
Dosya boyutlarınızı (ve dolayısıyla yükleme hızlarını) azaltma olasılığına ikna olmadıysanız, GZIP’in bazı ek faydalarını tartışalım.
İlk olarak, web sitesini bir kullanıcıya görüntülemek için tarayıcının .gz dosyasını çalıştırmak için sıkıştırılmış dosyasını açması gerektiğini unutmayın. Ve GZIP, veri depolamanın en verimli yöntemi olmasa da, birleşik algoritmaları, her iki şekilde de açık ara en hızlısı olacak kadar rafine edilmiştir: sıkıştırma ve sıkıştırmayı açma. Bu yüzden dosyalarınızı küçültmenin daha etkili yolları olsa da, yükleme hızını yine de kaybedebilirsiniz.
İkincisi, ücretsiz ve açık kaynaklıdır. Bu durum kullanmak için ücretli bir lisans sözleşmesi gerektirmediği anlamına gelir. Başlangıçta ücretli çözümlere ücretsiz bir alternatif olarak geliştirildi ve bu kadar yaygın olmasının bir nedeni de bu.
Üçüncüsü, entropi şifrelemeye dayanıklıdır. Bir dosya zaten verimli bir şekilde düzenlenmişse veya çok küçükse, ona bir sıkıştırma algoritması uygulamak, şifreleme sözlüğü dosyaya eklendikçe dosyanın boyutunun artmasına neden olabilir. GZIP ile bu nadiren olur ve etkileri diğer bazı sıkıştırma algoritmalarında olduğu kadar olumsuz değildir.
Son olarak sıkıştırmanın kendisi: dosya boyutunu küçültme açısından daha verimli algoritmalar olsa da, metin dosya boyutlarını %70 ila 90 oranında azaltabilen GZIP, bu açıdan hala çok verimlidir.
Bu yüzden GZIP’in görüntü sıkıştırmadan (.png dosyası gibi), her bitin ve hertz’in önemli olduğu konsol oyunlarına ve en popüler işletim sistemlerinden bazılarına kadar çeşitli alanlarda yaygın olarak kullanılması şaşırtıcı değildir. Web sitelerine uygulama açısından GZIP, web sitenizin yükleme hızını önemli ölçüde artırabilir, bu da SERP sıralamanız ve kullanıcı deneyiminiz üzerinde olumlu etkiler sağlar.
GZIP Sıkıştırmasının Halihazırda Etkin Olup Olmadığını Kontrol Etme
GZIP çok yaygın olarak kullanıldığından ve desteklendiğinden, birçok barındırma sağlayıcısı bunu varsayılan olarak etkinleştirir. Yine de sunucunuzda GZIP sıkıştırması kullanılmamış olabilir.
Bunu kontrol etmek için herhangi bir sayıda online aracı kullanabilirsiniz. Bu tanıtım için Sitechecker Pro’nun GZIP denetleyicisini seçtik. Bağlantıyı takip edin, GZIP sıkıştırmasını kontrol etmek istediğiniz URL’yi girin ve ok simgesini tıklayın. WordPress Dergisi’nin URL’si ile gittik.
Gördüğünüz gibi GZIP sıkıştırması etkin. Sitechecker ayrıca sıkıştırmanın ne kadar verimli olduğu konusunda sizi bilgilendirecektir. Bizim durumumuzda,% 90’ın üzerindedir.
PageSpeed Insights gibi çoğu web sitesi hız kontrol aracı, GZIP sıkıştırmasının etkinleştirilmemesi durumunda size bir uyarı mesajı sunacaktır.
Son olarak GZIP kodlamasının etkin olup olmadığını kontrol etmek için tarayıcınızın inceleme aracını kullanabilirsiniz. Kendi web sitemizi test edeceğiz.
Herhangi bir yere (bizim durumumuzda arka plana) sağ tıklayarak ve konsolu açmak için İncele’yi seçerek inceleme aracını etkinleştirin.
Oradayken, Ağ sekmesini bulun ve tıklayın.
Son olarak HTML belgesini bulun ve içerik kodlama: gzip ve accept-encoding: gzip başlıkları için Başlıklar bölümünü kontrol edin.
Bir Eklenti Kullanarak GZIP Sıkıştırmasını Etkinleştirme
Çoğu durumda olduğu gibi, bir WordPress eklentisi kullanılarak gerekli bir işlevsellik sağlanabilir. Bu gösteri için ücretsiz WP-Optimize eklentisini seçtik. Eklentiyi kurup etkinleştirdikten sonra, WordPress panonuzdan WP-Optimize/Cache seçeneğine gidin.
Oradayken, Gzip sıkıştırma sekmesini seçin ve Etkinleştir düğmesini tıklayın.
Ve aynen böyle, web sitenizde GZIP sıkıştırmasını etkinleştirdiniz.
Apache Sunucularında GZIP Sıkıştırmasını Etkinleştirme
Bir Apache sunucusu kullanıyorsanız (şu anda en yaygın olanıdır), web sitenizde GZIP sıkıştırmasını etkinleştirmek için yapılandırma dosyalarınızı düzenlemek için FTP’yi kullanabilirsiniz. WordPress çok kullanıcı dostu olsa da, yeni başlayan kullanıcılar için kod düzenlemeyi öneremeyeceğimizi unutmayın.
Kök WordPress dizininizde .htaccess dosyasını bulun ve mevcut direktiflerden sonra aşağıdaki kodu ekleyin:
<IfModule mod_deflate.c> # Compress HTML, CSS, JS, text, XML and font files 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 # Fix browser bugs on 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 </IfModule>
Yukarıdaki kodun yalnızca mod_filter modülü sunucunuzda etkinse çalıştırılacağını unutmayın. Bununla ilgili ayrıntılar için barındırma sağlayıcınızla iletişime geçin.
Bazen diğer yazılımlar (proxy’ler, güvenlik duvarları ve diğer güvenlik yazılımları), kabul kodlama başlıklarına izin vermeyerek GZIP sıkıştırmasına müdahale edebilir. Bunun olmamasını sağlamak için yukarıda verilen kod yerine aşağıdaki kodu kullanın:
"application/wasm" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "font/otf" \ "font/ttf" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "text/cache-manifest" \ "text/calendar" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/markdown" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml" </IfModule> <IfModule mod_mime.c> AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> </IfModule>
Nginx Sunucularında GZIP Sıkıştırmasını Etkinleştirme
Bir Nginx sunucusu kullanıyorsanız (en popüler ikinci sunucu), genellikle sunucunuzda etc/nginx/nginx.conf konumunda bulunan nginx.conf dosyasını düzenlemeniz gerekir.
Aşağıdaki talimatları eklemeniz gerekir:
# Enables GZIP gzip on; # Compression level (set within range of 1 to9) gzip_comp_level 9; # Minimum file size to compress gzip_min_length 256; # Compress data for clients using proxies gzip_proxied any; # Proxies to cache regular and GZIP versions of files gzip_vary on; # Disables GZIP compression for browsers which don't support it gzip_disable "msie6"; # Compress files with following extensions or MIME-types gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/otf font/ttf image/bmp image/svg+xml text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
Bunu yaptıktan sonra, aşağıdaki komut kullanılarak talimatlar yürütülmeden önce Nginx’i yeniden yüklemeniz gerekecek:
sudo service nginx reload
Çözüm Yolu
Web sitenizin kullanıcı deneyimini iyileştirmenin hızlı bir yolu varsa, denememek için hiçbir sebep yok. Web sitenizi aramalarda daha üst sıralara çıkarmanın hızlı bir yolu varsa, denememek için hiçbir sebep yok. Web sitenizin daha hızlı yüklenmesini ve daha sorunsuz çalışmasını sağlamanın hızlı bir yolu varsa, denememek için hiçbir neden yok. GZIP sıkıştırması üçüdür.