Htaccess kodlaması ile WordPress hız optimizasyonu

Web sitenize kaliteli içerik eklediniz, gerekli ayarları yaptınız ancak sırada büyük bir sorun vardır. Oda web sitenizi hızlandırmak. Ve sanırım bu durum web sitenizin kalitesi ve kullanıcı deneyimi açısından çok önemli.

Paylaşımlı bir hosting yada bir VPS sunucu sahibi olmanızın bu durumda çok fazla bir önemi yok. Her iki durumda da .htaccess komutlarının WordPress Hız Optimizasyonuna önemli katkısı vardır.

Kullanıcıları ve Google’ın kullandığı algoritmayı etkilemek için sitenizi iki saniyeden daha kısa sürede açılması gerekmektedir. Sitenizi optimize etmenin yollarından biri .htaccess dosyasını düzenlemedir.

.htaccess dosyası nedir?

.htaccess dosyası, konfigürasyon dosyasıdır. Kök dizininde (Web sitenizin bulunduğu public_html/www) web yer almaktadır.

.htaccess dosyası ne işe yarar?

Belirli bir klasörü veya sunucunun bir parçasını kontrol etmenin anahtar dosyasıdır. .htaccess, sunucunun bazı özelliklerini veya işlevlerini başlatmak veya duraklatmak gibi komutlar ile sunucu yazılımının yapılandırmasını düzenlemek için çok kullanılır.

Bu komutlara örnek vermek gerekirse, 301 yönlendirmeleri, parola korumalı dizinler oluşturabilir, belirli IP’leri engelleyebilir, sayfa yükleme hızını iyileştirebilir ve siteyi optimize edebilirsiniz.

WordPress’te .htaccess dosyası nerede ?

WordPress sitenizin bir .htaccess dosyası oluşturduğunu varsayarsak, Public_html/www dosyanızın içerisinde bulunur.

.htaccess dosyası gizli bir dosyadır, bu nedenle cPanel veya FTP programı kullanırken ‘gizli dosyaları göster’ bölümünü aktif etmeniz gerekir.

cPanel > Dosya Yönetici sayfasına girdiğimizde aşağıda ki resimde gördüğünüz gibi dosyamız burada yer alır.

Varsayılan olarak, .htaccess dosyası bazı güvenlik nedenlerinden dolayı gizlenmiştir, bu nedenle manuel olarak görünür hale getirene kadar public_html dizini altında göremezsiniz. Bunun için:

Ayarlar  tıklayınız

Gizli Dosyaları (dotfiles) göster tıklayınız ve Kaydedin.

.htaccess dosyasını bulamıyorsanız

Bunun nedeni, ilgili sitenizin henüz bir .htaccess dosyası oluşturmamış olması olabilir.

Bir .htaccess dosyası oluşturmak için kalıcı bağlantılar kurun:

Ayarlara gidin

Kalıcı bağlantı ayarlarına gidin ve değişiklikleri kaydet’e tıklayın.

Bu şekilde kolayca bir varsayılan .htaccess dosyası oluşturabilirsiniz.

Sitenizi .htacess üzerinden optimize etmeden önce

Eklentilerin önbellek oluşturmasını pasif edin ve eklentiler tarafından daha önce üretilen önbelleği temizleyin.

Web sitenizin aktif durumda olup olmadığını kontrol edin. Herhangi bir hata var isedüzenleyin.

Sayfa yükleme süresi için önceden bir kaç test gerçekleştirin.

Bunun için Google Speed – GTmetrix – PingDoom Tools

.htacess Kullanarak sayfa hızlandırma

Sayfa yükleme süresini azaltmak çok adımlı bir işlemdir ve etkinleştirmeniz veya devre dışı bırakmanız gereken birkaç özellik/komut vardır. Biraz araştırma yaptıktan sonra, çoğu geliştiricinin ve bizlerinde kullandığı komutlar aşağıda ki gibidir;

Gzip’i Etkinleştirme ve Sıkıştırmayı aktif etme

Tarayıcı Önbelleğe Almayı Etkinleştirme

Keep-Alive Etkinleştirme

Resim Bağlantısını Devre Dışı Bırak

mod_pagespeed’i etkinleştirme

Gelin tüm bu adımları tek tek öğrenelim.

.htaccess Kullanarak WordPress Sitesini Hızlandıran Gzip ve Deflate Sıkıştırma

Sıkıştırma komutu yalnızca bir belgenin boyutunu küçültür, XML dosyaları, JavaScript’ler, CSS ve HTML dosyaları için önerilir. Sıkıştırmanın komutlarının dosyalarınızı %60 ile %80 oranında azalttığını biliyor muydunuz?

Sıkıştırmayı etkinleştirmenin iki iyi yolu vardır, Apache Yazılımı kullanıyorsanız mod_gzip veya mod_deflate kullanmanız gerekmektedir. Mod_deflate biraz daha kolaydır, ancak web sitenizin veya sunucunuzun desteklememesi ihtimali vardır. Bu nedenle önceden sunucunuzu kontrol ediniz. Eğer bir paylaşımlı hosting kullanıyorsanız barındırma şirketinize sorabilirsiniz.

DEFLATE Sıkıştırma komutları

# BEGIN DEFLATE COMPRESSION

<IfModule mod_deflate.c>

# 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

</IfModule>

# END DEFLATE COMPRESSION

Eğer web siteniz Deflate komutlarını desteklemiyorsa, GZIP komutlarını kullanabilirsiniz.

.htaccess komutlarını kullanarak GZIP etkinleştirme

Bu GZİP komutları web sitenizin yüklenme süresini 30-40% oranında kısaltacaktır.

Yalnızca yüklenme süresini kısaltmak için değil, her zaman siteniz için Gzip sıkıştırmanız önerilir.

Apache sunucusunda .htaccess komutlarını kullanarak GZIP ayarlama

Çoğunuz web barındırma hizmetlerinde Apache sunucusunu kullanıyorsunuzdur. Doğrudan yazacağınız deflate komutları ile GZIP’i açabilirsiniz

# compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

Nginix sunucu kullanıyorsanız

NGINX sunucusunda yer alan kullanıcılar için de çözümüm var