Web sitenizin performansını arttırmanız için seo ipuçları. Yüksek performans sunan bir site sahibi olmak için izlenmesi gereken teknik talimatlar ve optimizasyon ipuçları.

Kullandığınız yazılım dilini ve sistemi çok iyi tanımanız ve analiz etmeniz gerekmektedir. En iyi web sitesi performans iyileştirme araçlarını sizlere anlatıyor olacağız;

Web sitenizin Hız Testini Yapın

İlk adım web sitenizin genel hızını test etmek olacaktır. Bunun için webpagetest sitesini kullanacağız.

Siteye giriş yaptıktan sonra site adresinizi yazmanız gerekmektedir.

Burada dikkat etmeniz gereken diğer konu ise şudur, mevcut protokolümüzü seçmemiz gerekmektedir. Yani “Https veya http” hangi sürümü kullanıyor iseniz.

Test işlemini Chrome veya Firefox için yapabilirsiniz. Bulunduğumuz ülke için seçim bulunmuyor default seçmeniz gerekecek.

Test işlemi başladığında aşağıdaki sonuç ekranı çıkana kadar beklemeniz gerekiyor.

performans sonucu

Timeline view yazan bölümünü tıkladığınızda çok detaylı bir rapor ile karşılaşacaksınız. Test işlemi sonucunda;

  • DNS
  • İçerik
  • SSL
  • Html
  • Js
  • Css
  • Resim
  • Flash
  • Font
  • Video
  • Diğer
  • Js Sıkıştırmaları

rapor sonuçları

Sonuçlarını görebilir ve Ms değerlerini düşürmek için çözüm üretebilirsiniz.

Ek olarak alt alanda yani yukarıdaki görseli tıkladığınızda; istek detayları, bağlantı görünümleri ve istek başlıkları detaylarına ulaşabilirsiniz.

bağlantı görünümü

Web sitenizin iyi bir performans sergilemesi için ayrıca Https kullanmanız gerektiğini de unutmayınız.

Web Sitesi Test Araçları

test araçları

Site trafiğimizin ve sıralamalarımızın aniden düşmemesi için, düzenli testler yapmak çok önemlidir.

Site analiz araçlarından bazıları;

WordPress Performance Profiler : WordPress sistemine sahip siteler için performans iyileştirmeleri. PHP 5.3,  5.6 ve PHP 7.2 sürümlerinde çalışan bir eklentidir.

P3 (Plugin Performance Profiler) : WordPress kullanan sitelerde eklentilerin neden olduğu yükleme sürelerini ölçer ve geliştirmeniz için raporlama yapan eklentidir. Tüm tarayıcılar için uyumludur IE8 ve üzeri her tarayıcıda performans test tablolarını görebilirsiniz.

Blitz : Web siteleri ve uygulamalar ve Rest API performans testi yapmanızı sağlar.

LoadImpact : DevOPS için isteğe bağlı veya otomatik olarak performans testi aracı. Web sitenizi, uygulamalarınızı ve API’lerinizi eş zamanlı olarak 1.3 Milyon eş zamanlı kullanıcı ile test etmenizi sağlar.

WonderNetwork : Doğal olarak yük testi yapmanızı sağlayacaktır. Gerçek bir kullanıcı gibi davranarak testler yapar. Test işlemi içerisinde; Sayfanızı, css, js ve resimleri yükler. CSRF ve Formları doldurur. Çerezleri kullanır. Bir yavaşlama gördüğünde uyarıda bulunur.

Loader : Web uygulamaları ve api’lerinizi binlerce eş zamanlı bağlantıyla test etmenizi sağlayan ücretsiz bir yük testi hizmetidir.

BlazeMeter : Web sitesi, Uygulama ve API’ler için açık kaynak kodlar ile site performansınızı iyileştirmeyi sağlar.

PerformanceBudget : Performans bütçe hesaplayıcısı.

Web Sitesi Performansını Yükseltecek Optimizasyon İpuçları

Web sitenizde oluşan hatalar sitenizin geç yüklenmesi sağlar ve kötü bir kullanıcı deneyimi oluşturur. Optimizasyon yapılmayan bir sitenin iyi sıralamalar alması rekabetin yüksek olduğu kelimeler için son derece zordur.

Optimizasyon ipuçlarımızı takip ederek başarılı işler çıkarın;

Resim Optimizayonu

Web performans uzmanlarının belirledikleri hataların başında resim optimizasyonu geliyor. Yapılan incelemeler sonucunda web sitelerinin %49’undan fazlasında resim optimizasyonu sorunu ile karşılaştığımızı söylemek mümkündür.

Sitenizde yer alan görsellerin KB değerlerinin yüksek olması yüklenme süresini geciktirmektedir. Yüksek çözünürlüğe sahip fotoğrafların sayfa ve içerikleriniz de yer alması maalesef UX tarafında ciddi sorunlara neden olmaktadır.

Peki, resimlerin çözünürlüklerini bozmadan nasıl KB değerlerini düşürebilirsiniz?

Resim KB değerlerini düşürmek için bir çok online web yazılımı bulunmaktadır. Lakin en çok tercih edilen online resim optimizasyonu sitesi eski adı Optimizilla, yeni ismi ile imagecompressor sitesidir.

Resimleri optimize etmek için yapmanız gereken adımlar;

Öncelikle imagecompressor sitesine giriş yapalım.

Uploads Files yazan alandan birden fazla resim yüklemek için seçebilirsiniz.

resimleri sıkıştırma

Görselde gördüğünüz gibi PNG veya JPG formasında olan resmi siteye yüklemeden önce sıkıştırdık. Sıkıştırma işlemi sonucunda çözünürlüğünü bozmadan %52 oranında bir sıkıştırma işlemi gerçekleştirdik.

Resmi artık sitenize yüklemek için hazır download butonuna tıklayarak indirdikten sonra resmin sonuna eklediği “-min” kısmını kaldırabilirsiniz.

Resimlerini yükledikten sonra, resim alt açıklamasını eklemeyi unutmayınız.

HTTP isteklerini minimuma düşürme

İnternet tarayıcıları, web sitelerinde yer alan verileri HTTP aracılığıyla almaktadır. Buradan yola çıktığımızda HTTP sayısının fazla olması sorgu sayısını arttırarak web site hızının düşmesine neden olur.

HTTP nedeniyle web site hızının düşük olmaması için HTTP isteklerinin minimuma indirilmesi gerekmektedir. HTTP isteklerini azaltmak için çeşitli yöntemler vardır ve onlardan bazıları şunlardır.

  • Javascript verilerini satır içi yapın. (Sadece küçük javascript dosyaları için uygundur)
  • CSS sprite kullanın.
  • Dışarıdan veri çeken eklentilerin sayısını azaltın.
  • Gerekli olmadıkça dışarıdan çekilen kütüphane verilerini kullanmayın.
  • Olabildiğince az kod kullanın
  • CSS ve JS dosyalarınızı birleştirin

Web sitede yer alan istek sayısı web siteden web siteye değişiklik göstermektedir. Site hız testi yaptığını zaman web site açılış hızının düşük olmasına neden olan istekler uyarı olarak sizlere sunulacaktır. Bu yüzden sorgu sayısını belirlemek adına her web site ayrı bir şekilde test edilmelidir.

HTTP istekleri

1. HTTP isteklerini azaltma örneği

Web site sahiplerinin büyük bölümü Google Analytics hizmetini kullanmaktadır. Google Analytics içerisinde yer alan yeniden pazarlama ve reklamcılık işlevi ekstra HTTP isteğinin oluşmasına neden olur.

Bu HTTP isteğini ortadan kaldırarak sorgu sayısını düşürmeniz mümkündür.

Bu isteği ortadan kaldırmak için Google Analytics hesabınızda oturum açın. Daha sonra veri saklama bölümüne geçiş yapın. İlgili kısımda yer alan yeniden pazarlama ve reklam raporlama özelliklerini kapatın. Böylelikle ekstra bir sorgu sayısını ortadan kaldırmış olursunuz.

Google analytics veri saklama

Google Analytics hesabınız üstünden işlem yapmadan da bu istekleri devre dışı bırakmanız mümkündür. Bunun için Google Analytics komut dosyasına aşağıdaki kodu eklemeniz yeterlidir.

ga('set', 'displayFeaturesTask', null);

Web site açılış hızınızın düşmesine neden olan, 302 yönlendirmesi nedeniyle oluşan bu HTTP isteğini bu şekilde ortadan kaldırabilirsiniz. Bunun sadece bir örnek olduğunu unutmayın. Buna benzer özellik taşıyan isteklerin de bu tarz yöntemlerle ortadan kaldırılması mümkündür.

2. HTTP isteklerini azaltma örneği

Dünya genelinde en çok kullanılan web site altyapısı şüphesiz WordPress’tir. WordPress alt yapısını hiçbir müdahale yapmadan aktif ettiğinizde çeşitli javascript dosyaları da sistem içerisinde yer alacaktır.

Buna örnek olarak wp-emoji-release.min.js?ver=4.3.1 dosyasını gösterebiliriz. WordPress içerisinde gerçekten de çok sayıda güzel emoji var ancak bunları kullanmak bize göre gerekli değildir.

Sizler de bizimle aynı fikirdeyseniz, WordPress ile birlikte gelen bu javascript dosyalarını functions.php içerine aşağıda yer alan kodu ekleyerek devre dışı bırakabilirsiniz.

/**
 * Disable the emoji's
 */
function disable_emojis() {
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );
	remove_action( 'admin_print_styles', 'print_emoji_styles' );	
	remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
	remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );	
	remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
	add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );

/**
 * Filter function used to remove the tinymce emoji plugin.
 * 
 * @param    array  $plugins  
 * @return   array             Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
	if ( is_array( $plugins ) ) {
		return array_diff( $plugins, array( 'wpemoji' ) );
	} else {
		return array();
	}
}

Eğer functions.php dosyasına ekleme yaparak bunu devre dışı bırakmak istemeyenleriniz olursa “Disable Emojis” adlı WordPress eklentisiyle de ilgili javascript dosyalarını devre dışı bırakmanız mümkündür. Her zaman daha az eklenti kullanılmasından yana olduğumuz için bu işlemi verdiğimiz kodlarla yapmanızı tavsiye ederiz. Kod eklemesi yapmadan önce mutlaka web sitenizin bir yedeğini indirmeyi unutmayın. Herhangi bir olumsuzluk durumunda sistemi geri yükleyebilmeniz için bu önemlidir.

CSS ve JavaScript Küçültün

CSS Javascript küçültme

CSS ve JavaScript dosyalarının küçültülmesi, bu dosyalar içerisinden kullanılmayan gereksiz karakterlerin kaldırılması anlamına gelir. Gereksiz CSS ve JavaScript karakterleri arasında şunlar yer alır:

  • Boşluk karakterleri
  • Yeni satır karakterleri
  • Yorumlar
  • Blok ayırıcıları

Sunucudan yüklemesi beklenen kod miktarı bu karakterlerin kaldırılmasıyla azaltılabilir. Bu sayede web site hızında da bariz bir hızlanma meydana gelir.

CSS ve Javascript dosyalarını küçültmek için çeşitli online platformlar vardır. Javascript ve CSS dosyalarınızı küçültmek adına “csscompressor.com” adresini kullanabilirsiniz.

CSS ve Javascript dosyalarını, WordPress kullanıyorsanız “WordPress Cache Enabler” adlı eklentiyle de küçültebilirsiniz.

Oluşturmayı ve Görüntülemeyi Engelleyen Kaynaklar (CSS+JS)

Oluşturmayı önleyen kaynaklar

Web site hız analizi yapıldığı zaman karşınıza oluşturmayı ve görüntülemeyi engelleyen kaynaklar çıkabilir. Bu kaynaklar arasında özellikle CSS ve JS dosyaları yer alır.

CSS ve JS dosyalarınızı optimize ederek oluşturmayı ve görüntülemeyi engelleyen durumları ortadan kaldırabilirsiniz. CSS ve JS işlemleri için geliştirilmiş olan birkaç yöntem vardır ve o yöntemler sırasıyla şu şekildedir.

Oluşturmayı ve Görüntülemeyi Engelleyen CSS Optimizasyonu

  • CSS dosyalarınızdaki hataları giderin.
  • CSS yüklenene kadar sayfa oluşturmayı engelleyin.
  • Çok sayıda CSS dosyası varsa bunları birleştirin.
  • CSS dosya boyutunu küçültün.
  • Mümkün mertebe az miktarda CSS kullanın.

Oluşturmayı ve Görüntülemeyi Engelleyen Javascript Optimizasyonu

  • Javascript dosyalarını “< /body >”etiketinden önce olmak koşuluyla sayfanızın altına yerleştirin.
  • JS oluşturmasını engellemek adına async veya defer yönergelerini uygulayın.
  • Birden fazla JS dosyası varsa bunları birleştirin.
  • Javascript dosyasının boyutunu küçültün.
  • Javascript dosyası aşırı derecede küçükse satır içi yapın.

Async, komut dosyasını engellemeden arka planda indirilmesini sağlar. İndirme tamamlanınca ilgili dosya çalışmaya başlar. Sizler de Javascript dosyalarınız için bunu uygulamak istiyorsanız aşağıdaki örneği kendi JS dosyanıza göre uyarlayıp kullanabilirsiniz.

 script async src="foobar.js"> </script

Yapacağınız bu iyileştirme sayesinde web site yükleme hızında bariz bir artışın olacağına emin olabilirsiniz.

CDN Kullanarak Gecikmeleri Azaltın

CDN, içerik dağıtım ağı olarak kullanılan bir sistemdir. Dosya dağıtımının hızlanmasını sağlayan CDN sistemi ayrıca gecikmelerin de azalmasına yardımcı olmaktadır.

“Tools.keycdn.com/ping” adresini kullanarak web sitenizin CDN’li ve CDN’siz hallerini çeşitli konumlara göre test edin. Yapacağınız karşılaştırma sonrasında gecikme süresinin yaklaşık olarak %70 oranında azaldığını göreceksiniz.

CDN kullanımı

Yukarıdaki tabloda, yapılan karşılaştırmaya dair bir örnek yer almaktadır. Gördüğünüz üzere CDN kullanımının sayfa açılış hızına faydası hafife alınmayacak kadar çoktur. CDN kullanarak gecikmeleri azaltıp web site sayfalarınızın daha hızlı yüklenmesini sağlayabilirsiniz.

TTFB (Time to First Byte)

TTFB, ilk byte’ın yüklemesini bekleme süresi olarak ifade edilmektedir. İlk byte yanıt süresi ne kadar hızlıysa web site hızı da o derecede yüksektir.

TTFB hesabı genel olarak şu şekilde yapılır:

HTTP istek zamanı + işlem isteği zamanı + HTTP yanıt süresi

Chrome Dev Tools üstünden web sitenizdeki dosyaların TTFB zamanlarını kontrol edebilirsiniz. Bunun için Chrome Dev Tools açın ve network bölümüne geçiş yapın. Sol sütünden dosyanızı işaretleyin ve timing sekmesini aktif edin. Burada açılan yeşil renkli çizelgeye sahip olan kısım TTFB değerini ifade etmektedir.

TTFB

Yüksek hıza sahip sunucu, CDN ve güvenilir DNS hizmetleri alarak TTFB değerlerinin önemli ölçüde azalmasını sağlamanız mümkündür.

301 Yönlendirmelerinden Kaçının

Yönlendirmeler

Yönlendirmelerin tamamı web site performansının düşmesine neden olur. Bu etkisinden dolayı başta 301 yönlendirmesi olmak üzere mümkün mertebe tüm yönlendirmelerden kaçınılmalıdır.

Yapılan yönlendirmeler, gidiş geliş sürelerini (RTT) oluşumuna neden olur. Bu tip durumlarda tarayıcı diğer dosyaları yüklemeden HTML belgesini yüklemeye başlar. Bu durum da web site açılış hızının takribi olarak iki katına çıkmasına neden olur.

Önbellekleme (Cache)

Önbellekleme

Önbellekleme işlemi tarayıcı önbellekleme ve sunucu önbellekleme olmak üzere 2 şekilde yapılmaktadır.

Tarayıcı önbellekleme

Sıklıkla değiştirilmeyen web site öğeleri için tarayıcı önbelleğini kullanmak web site hızını arttırır. Önbellekleme işleminin maksimum 7 gün olacak şekilde yapılmasını tavsiye ediyoruz.

Tarayıcı önbellek işleminin gerçekleşebilmesi için kaynak kodlarının daha önceden tarayıcı tarafından kaydedilmiş olması gerekmektedir. Tarayıcı önbellekleme işlemi hem HTTP hem de HTTPS uzantılarında kullanılabilir.

Sunucu önbellekleme

Çok sayıda sunucu önbellekleme yöntemi bulunmaktadır. Özellikle yüksek trafiğe sahip olan web sitelerin trafik kaynaklı yükleme hızı düşüşlerini ortadan kaldırmak için sucunu önbellekleme yapması gerekmektedir.

Sunucu önbellekleme sistemleri CDN ile birlikte kullanıldığı zaman daha başarılı sonuçlar vermektedir. Bu yüzden önbellekleme sistemlerine ek olarak CDN kullanmanızı da tavsiye ediyoruz.

Prefetch ve Preconnect

Prefetch

Prefetch sistemi DNS adresinin önceden çözümlenmesi sağlamak adına yapılır. Bu işlem sayesinde web site yükleme hızının yükseltilmesi mümkündür. DNS perfecth işlemi, tarayıcıda belirli bir bölgenin açık bir şekilde ifade edilmeden DNS çözmesinin gerekli olduğunu ifade eder.

Bunun nasıl uygulanabileceğini bilmeyenler aşağıda yer alan kodu kendilerine göre uyarladıktan sonra web sitelerinin head bölümüne ilgili kodu ekleyebilir.

link rel="dns-prefetch" href="//www.seosefi.com"

Preconnect, HTTP isteği sunucuya gönderilmeden önce tarayıcının erken bağlantı kurmasını sağlamaktadır. NS Lookup, TCP Handshake ve TLS bağlantılarının önceden başlatılması mümkündür. İlgili yöntem gidiş dönüş gecikmelerini ortadan kaldırarak kullanıcıların zaman tasarrufu yapmasını sağladığı gibi web site açılış hızının artmasını da sağlamaktadır.

Sizler de web sitenizde preconnect sitemini aktif etmek istiyorsanız aşağıda yer alan kodu web sitenize göre uyarlayıp kullanabilirsiniz.

 link href='https://cdn.keycdn.com' rel='preconnect' crossorigin

HTTP/2

HTTP2

HTTP/2 geleceğin en önemli sistemleri arasında görülmektedir. Özellikle web site performansını arttırmasından dolayı yakın zaman içerisinde özellikle büyük kuruluşların HTTP/2 sistemine geçeceği inancındayız.

HTTP/2 sisteminin aktif edilebilmesi için SSL sertifikasına sahip olunması gerekmektedir. Ayrıca sunucunun HTTP/2 sistemini desteklemesi de gerekenler arasında yer almaktadır.

HTTP/2 sistemi verileri ayrı bağlantılardan çekmek yerine tek bağlantı ağı üstünden verileri alarak web site performansının artmasını sağlamaktadır. Bu sayede resimler ne kadar kaliteli olursa olsun, CSS ve JS dosya boyutları ne kadar büyük olursa olsun yüksek performansla web sitelerin yüklenmesi sağlanmaktadır.

PHP7 ve HHVM

Web sitelerde yer alan güvenlik yamalarının ve performansı yükseltici yönde etkisi olan bileşenlerin güncel tutulması önemlidir. Eğer PHP kullanıyorsanız PHP 5.6 yerine sistemi PHP7’ye yükseltmeniz web site performansının artmasını sağlayacaktır.

php7 performans

Yukarıda yer alan görselde wordpress tabanlı bir sistemde sistem sorgu sayısıyla alakalı bilgiler yer almaktadır. PHP7 sistemine geçilmesi sorgu sayısının artmasına neden olabilir. Ayrıca wordpress versiyonunun da sorgu sayısında artışa neden olduğu gözlemlenebilir. Buna rağmen sistemi güncel tutmak güvenlik ve performans açısından önemlidir.

HHVM sistemi Facebook tarafından aktif bir şekilde kullanılmaktadır. Açık kaynaklı bir VM olan HHVM performans açısından iyi sonuçlar alınmasını sağlamaktadır.

HHVM performans

Yukarıda gördüğünüz gibi ister HHVM olsun isterse PHP olsun, ilgili sistemlerin güncel tutulması performansın büyük ölçüde artmasını sağlamaktadır. Web site performansının yüksek olması için her daim güncel kalmanızı tavsiye ederiz.

Font Performansı

Web sitelerde Google yazı fontlarının kullanımı her geçen gün artmaya başladı. Bu durum HTTP sorgu sayısının artmasına neden olan şeyler arasında yer almaktadır. Sizler de fontunuzla alakalı değişiklikler yapmayı planlıyorsanız performansı arttırmak adına aşağıda yer alan önerilerimizi dikkate alın.

  • Mecbur kalmadıkça dışarıdan çekilen yazı fontlarını kullanmayın.
  • Sadece ihtiyacınız olan font stillerini kullanın.
  • Karakter kümelerini minimum düzeyde tutun.
  • Fontları base64 kodlamasını kullanarak LocalStorage içerisinde saklayın.
  • Dışarıdan çağırılan fontlar yerine fontları sunucunuza yükleyin.

Google yazı fontlarının CDN sistemine yüklenmesi mümkündür. Fontları CDN sistemine taşıyarak da web site performansınızı arttırmanız mümkündür.

Hotlink Koruması

Hotlink koruması, diğer web sitelerin sunucunuzda yer alan verileri kullanmasını engelleyerek bant genişliği kazandırmaktadır. Hotlink koruması kısaca http yönlendirmelerini kısıtlama anlamına gelmektedir.

Örneğin web sitenizde yer alan resimlerin farklı web siteleri tarafından kullanılmasını istemiyorsanız hotlink korumasını devreye sokabilirsiniz. Bunun için aşağıda yer alan kodu .htaccess dosyasına eklemeniz yeterli olacaktır.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?domain\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://i.imgur.com/donotsteal.gif [L]

Gzip Sıkıştırmasını Aktifleştirin

Gzip, CSS ve JS dosyalarının tarayıcıya gönderilmeden önce sunucu düzeyinde belirli oranda sıkıştırılmasını sağlamaktadır. Eğer gzip sıkıştırmasını aktif etmediyseniz bunu aktif ederek web site performansınızın hissedilir düzeyde artmasını sağlayabilirsiniz.

Gzip sıkıştırma sistemi bant genişliğinin %50 ila %80 arasında tasarruf etmesini sağlar. Bu da yükleme hızının artmasını sağlamaktadır.

Apache

Aşağıda yer alan kodu .htaccess dosyanıza ekleyerek gzip sıkıştırmayı aktif edebilirsiniz.

  # 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

Nginx.conf dosyasına aşağıda yer alan kodu ekleyerek gzip sıkıştırmayı aktif etmek mümkündür.

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_vary on;

Web Site Altyapısı

Web site altyapısı

Web site performansının yüksek olması için kullanılan sunucunun performansı aşırı derecede önemlidir. Yüksek web site performansına sahip olmak için ucuz sunucular yerine kendisini kalite anlamında kanıtlamış sunucu firmaları tercih edilmelidir.

Web site performansınızı arttırmak için sizlere VPS kullanmanızı öneririz. Eğer ödeme imkanınız varsa tabi ki de tercihinizi yönetilebilen hostinglerden yana kullanın. Ayrıca sanal saldırıların her geçen gün artmasından dolayı sunucunuzun DDoS korumasının olmasına da özen gösterin.

Web site altyapısına yapılan yatırımlar web site performansı konusunda olumlu geri dönüşlerin alınmasını sağlayacaktır. Kullanıcıları memnun etmek adına sunucu masraflarından kaçınılmaması gerekmektedir.

404 Hatalarını Düzeltin

Sunucuda eksik dosyaların yer alması 404 hatalarının oluşmasına neden olur. Yer alan 404 hataları sunucu belleğinin tüketilmesinde aktif rol oynar.

Online olarak hizmet veren Broken Link Checker sistemleri üstünden sorgulama yaparak web sitenizde yer alan 404 bağlantılarını tespit edebilirsiniz. Bunun için geliştirilmiş olan wordpress eklentileri olsa da bizler sunucu yükü oluşturmamak adına online sistemlerden yararlanmanızı tavsiye ederiz.

Web sitenizde yer alan 404 sayfaları bir süre sonra Google Search Console üstünden uyarı olarak da görünecektir. Burada yer alan 404 sayfalarını liste halinde indirip gerekli düzenlemeleri de yapabilirsiniz.

Ölçeklendirilmiş Görsel Kullanın

Görsel ölçeklendirme

Web sitenizde yer alan görsellerin tamamını her zaman ölçeklendirmeniz ve bunları küçültmek adına CSS kullanmanız önemlidir. Bunu uygun şekilde yapmanız Google Pagespeed değerlerinde görsellerle alakalı hata bildirimleri almanızı engelleyecektir.

Sunucunuza yüklemiş olduğunuz görselin 900px olduğunu düşünün. Bu görselin web sitede gösterilme boyutu 700px olsun. Bu tip durumlarda 200px gibi bir büyüklük gereksizdir. Bu görsel 700px değerine düşürülerek boyutu azaltılabilir. Böylelikle web site yükleme hızında ciddi artışlar olacaktır.

Bu küçültme işlemini yapmak adına CSS’den de yararlanabilirsiniz ancak sunucuda orijinal boyutta görsel kalacağından dolayı her zaman küçültmelerin web site tasarımına göre yükleme öncesinde yapılmasını tavsiye ediyoruz.

Veritabanı Optimizasyonu

Veritabanı Optimizasyonu

Veri tabanı optimizasyonu sayesinde kullanım dışı kalan tablolar temizlenerek yeni dizinler oluşturulmaktadır. Bu sayede daha hızlı ulaşılabilen dizinler elde edilmektedir.

MySQL Ayarları

MySQL optimize edilmesi aşırı derecede önemlidir. Hassasiyet gerektirdiğinden dolayı kesinlikle sadece bu alanda uzman kişiler tarafından optimizasyon yapılmalıdır.

MySQL / MariaDB yapılandırma dosyası /etc/my.cnf içerisinde yer alır. Bu kısımda göz atmanız gereken yerler vardır. Özellikle aşağıdaki listede yer alan kısımların boyutlarına göre optimize edilmesi performansın artmasını sağlayacaktır.

  • tmp_table_size
  • query_cache_type
  • query_cache_size
  • query_cache_size
  • join_buffer_size
  • max_heap_table_size

Bu konuda önerilere ihtiyacınız varsa mysqltuner.com bağlantısını kullanabilirsiniz. Sistem salt okunur olsa da yapılandırma değişiklikleri yapmamaktadır. Buradan yapabileceğiniz değişikliklere dair öneriler alabilirsiniz.

Sonuç

Gördüğünüz gibi web site performansınızı arttırmak adına yapabileceğiniz çok sayıda şey bulunmaktadır. HTTP / 2, Gzip, PHP7, HHVM, görüntü optimizasyonu, CDN uygulaması, tarayıcı ve sunucu önbellekleme sistemi bunlar arasında yer alır.

Eğer düşük performansından dolayı kullanıcı deneyimi iyi olmayan bir web siteye sahipseniz verdiğimiz bilgiler doğrultusunda web site optimizasyonu yaparak kullanıcı deneyiminin artmasını sağlayabilirsiniz.