0553 315 45 08
trendefr
trendefr
Sosyal Medya Hesaplarımız

Htaccess Optimizasyonu ve Sunucu Yanıt Süresini Azaltmak

02 Kasım 2022
455 kez görüntülendi

Htaccess Optimizasyon süresi

İ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

[html]
BEGIN GZIP COMPRESSION
&lt;IfModule mod_gzip.c&gt;
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.*
/fModule;

[/html]

 

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

[html]</div><div><div class=”code”><pre>#BEGIN EXPIRES HEADERS
&lt;IfModule mod_expires.c&gt;
# 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”
&lt;/IfModule&gt;
#END EXPIRES HEADERS
[/html]

Cache-Control

[html]</div><div><pre># BEGIN Cache-Control Headers
&lt;ifModule mod_headers.c&gt;
&lt;filesMatch “.(ico|jpe?g|png|gif|swf)$”&gt;
Header set Cache-Control “public”
&lt;/filesMatch&gt;
&lt;filesMatch “.(css)$”&gt;
Header set Cache-Control “public”
&lt;/filesMatch&gt;
&lt;filesMatch “.(js)$”&gt;
Header set Cache-Control “private”
&lt;/filesMatch&gt;
&lt;filesMatch “.(x?html?|php)$”&gt;
Header set Cache-Control “private, must-revalidate”
&lt;/filesMatch&gt;
&lt;/ifModule&gt;
# END Cache-Control Headers
[/html]

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:

[html]</div>
<div>
<pre># 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
[/html]

WordPress Hızlandırma

WordPress kullananlar için wp-config.php dosyasında oluşturulacak basit ama etkili bir kaç kod ile web sitemizi optimize edebiliriz.

WordPress’in dosyaları içerisinde yer alan wp-config.php dosyası ile birkaç düzenlemede web sitemizi optimize etme ve hızlandırma imkanına sahip olacağız.

Aşağıda görülen kodları  “define(‘WP_DEBUG’, false);” kodundan hemen sonra eklemeniz yeterli olacaktır.

 

define('WP_HOME', 'http://www.websitem.com');
define('WP_SITEURL', 'http://www.websitem.com');
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '256M');
define('AUTOMATIC_UPDATER_DISABLED', true);
define('WP_AUTO_UPDATE_CORE', false);
define('UPLOADS', 'wp-content/uploads');
define('WP_POST_REVISIONS', 3);
define('DISABLE_WP_CRON', true);
define('AUTOSAVE_INTERVAL', 900);

ZİYARETÇİ YORUMLARI

Ziyaretçilerimiz tarafından yapılan yorumlar

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

BİR YORUM YAZIN

Bu konu hakkındaki görüşünüzü belirtmek ister misiniz?
[single_loop]