WordPress Sitesinin Hızlandırılması: Htaccess Optimizasyonu ve Sunucu Yanıt Süresini Azaltmak

WordPress Sitesinin Hızlandırılması: Htaccess Optimizasyonu ve Sunucu Yanıt Süresini Azaltmak

Günümüzde web sitenizin göz alıcı bir görünümü veya mükemmel bir içerik, potansiyel kullanıcıları çekmek için yeterli olmayabilir.

Bir site sahibiyseniz, Google'ın, bir siteyi yükleme hızında kılan bir algoritmayı, sitenin arama sonuçlarındaki konumunu etkileyen faktörlerden biri olarak kullandığını bilmeniz gerekir. Dolayısıyla, site yükleme süresi sadece birkaç saniye alırken, İnternet kullanıcıları ve google için genellikle çok uzun.

İstatistikler, İnternet kullanıcılarının neredeyse yarısının bir sitenin iki saniye veya daha kısa bir sürede yüklenmesini beklediğini söylüyor.

Sitenizin yükleme süresini artırmak için birçok teknik var.Çözümlerden biri, temel site optimizasyonunu birkaç dakika içinde sunmayı sağlayan bir .htaccess dosyasıdır.

.htaccess dosyası nedir?

.htaccess, kök dizininde bulunan Apache web sunucularında kullanılmak üzere bir yapılandırma dosyasıdır. Belirli bir klasörü veya sunucu parçasını kontrol etme olanağı verir.  .htaccess dosyasını kullanarak, bazı sunucu işlevselliğini ve özelliklerini durdurmak veya başlatmak için sunucu yazılımının yapılandırmasını değiştirebiliriz.

  • Sitenizi optimize edin
  • Sayfa yükleme hızını artırmak
  • Saptırma (iç ve dış)
  • şifre korumalı dizinler yarat
  • Belirli IP'yi engellemek
  • ve daha fazlası

WordPress'de .htaccess dosyasını nereden bulabilirim?

Dosya, WordPress kurulumunuzun kök klasöründe olmalıdır.  .htaccess dosya adı, başlangıçta gizli bir dosya olduğunu belirten bir nokta (.) ile başlar. .htaccess dosyanıza FTP istemcisini veya barındırıcınızın cPanel'ini kullanarak erişmeye çalıştığınızda "gizli dosyayı göster özelliği" ni açmayı unutmayın.

.htaccess dosyası için optimizasyon kodu

Compression

Sıkıştırma, belgenin boyutunu basitçe azaltır. HTML dosyaları, JavaScriptler, CSS stil sayfaları ve XML dosyaları için en etkili yöntemdir. Genellikle sıkıştırma 60% ile  80% veri boyutunu azaltır. Bu şekilde sunucu tarafından yanıt süresi ve bant genişliği - sunucu tarafından istemci tarayıcısına gönderilmesi gereken verilerin hacmi - azaltılabilir.

Sıkıştırmayı etkinleştirmenin en iyi yolu, Apache yazılımı için mod_gzip veya mod_deflate kullanıyor. Her iki modül temel olarak aynı şeyi yapar, verileri sıkıştırır, ancak mod_deflate daha iyi desteklenir ve belgelenir, ayrıca yapılandırmak daha kolaydır. Web sitenizde veya web sunucunuzda mod_deflate'in düzgün çalışmaması halinde, elbette bir şekilde mod_gzip kullanabilirsiniz. Her iki sıkıştırma yöntemi de WordPress .htaccess dosyasında basit bir kod ekleyerek etkinleştirilebilir:

DEFLATE

# 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

GZIP

# BEGIN GZIP COMPRESSION
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# END GZIP COMPRESSION

 

Tarayıcı Önbelleği

Tarayıcı önbelleğini ayarlayarak tarayıcıya belirli bir süre belirli bir miktarda dosya tutmanızın yerel belleğe (önbellek) yapılması gerektiğini söylüyorsunuz demektir. Önbellek dosyasına tekrar ihtiyaç duyulduğunda, tarayıcı sunucudan istemeden tarayıcıyı yerel sürücüsünden yükleyecektir.
Bu amaçla iki Apache modülü - mod_expires ve mod_headers - kullanabiliriz.
Her iki yöntem de .htaccess dosyasında aynı anda ayarlanabilir:

Expires headers

#BEGIN EXPIRES HEADERS
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
</IfModule>
#END EXPIRES HEADERS

Cache-Control

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
 <filesMatch ".(ico|jpe?g|png|gif|swf)$">
 Header set Cache-Control "public"
 </filesMatch>
 <filesMatch ".(css)$">
 Header set Cache-Control "public"
 </filesMatch>
 <filesMatch ".(js)$">
 Header set Cache-Control "private"
 </filesMatch>
 <filesMatch ".(x?html?|php)$">
 Header set Cache-Control "private, must-revalidate"
 </filesMatch>
</ifModule>
# END Cache-Control Headers

Not: mod_expires modülü tarafından zaten ayarlanmış olduğundan, max-age yönergesini Cache-Control üstbilgisi ile ayarlamak gerekmez. Diğer durumda biz şunu kullanmalıyız:
 

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
 <filesMatch ".(ico|jpe?g|png|gif|swf)$">
 Header set Cache-Control "max-age=2592000, public"
 </filesMatch>
 <filesMatch ".(css)$">
 Header set Cache-Control "max-age=604800, public"
 </filesMatch>
 <filesMatch ".(js)$">
 Header set Cache-Control "max-age=216000, private"
 </filesMatch>
 <filesMatch ".(x?html?|php)$">
 Header set Cache-Control "max-age=600, private, must-revalidate"
 </filesMatch>
</ifModule>
# END Cache-Control Headers


 

 

 

Veysel Xan
Mən 15 yaşımdan Developer və Etik hacker marağ yarandı, ilk işimi DataLife Engine ilə hazırladım. Sonralar wordpress tanış oldum. Çox Funksyalı olamsı onu DLE fərqləndirdi. wordpress yeni sürümlərində gələn funksyalarla blog olmağdan çıxdı və ona olan marağım artdı. Bununlada wordpress Developer olmağı Seçdim müştərilər wordpress bəyənirdilər çünki gözə oxşayan İdarə paneli və onu idarə etmək üçün kod biliyi lazım olmaması onu başqa frameworklərdən çox fərqlənirdi.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git