İçerikler


    PageSpeed Puanını Artırmak İçin Nginx Yapılandırması (Ubuntu 16.04)

    28.11.2017 21:11

    Giriş

    Bu yazıda, web sitenizin yanıt süresini ve hızını arttırmaya yönelik bazı nginx yapılandırmaları yapacağız. Amaç Google PageSpeed skorunu arttırmak ve 80/100 üzerinde bir puan elde etmektir.

    Gereksinimler

    • Ubuntu 16.04 kurulu bir sunucu.
    • root yetkisine sahip olmak.
    • nginx web sunucusu.

    Adım 1 - PageSpeed puanı alma

    Web sitenizin mevcut PageSpeed puanını bu URL den alabilirsiniz. mevcut pagespeed puanı

    Adım 2 - Sıkıştırmayı Etkinleştirme

    CSS, JavaScript ve resim dosyalarınız büyük ise site ziyaretçilerinin indirmesi gereken veri miktarı artacaktır. Bu nedenle yavaşlık yaşanabilir. Sıkıştırma işlemi bu verilerin daha küçük kompakt bir sürüme indirgenmesi sağlar. Gzip ile sıkıştırma yöntemi, Nginx'te kullanılabilecek bir yöntemdir. Gzip sıkıştırması etkinleştirildiğinde, tarayıcılar içerikleri daha hızlı indirebilirler; bu nedenle PageSpeed üzerinde puanı arttırmaya yardımcı olur.

    Sıkıştırmayı etkinleştirmek için sitenizin Nginx yapılandırma dosyasını nano ya da benzeri bir metin editörü ile açın:

    sudo nano /etc/nginx/sites-available/default

    Aşağıdaki gibi bir yapılandırma ile karşılaşacaksınız.

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        . . .
    }

    Kodların altına aşağıdaki satırları giriniz ve sıkıştırma seviyesini ayarlayınız.

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        gzip on;
        gzip_comp_level    5;
    }

    Sıkıştırma değeri için 1 ile 9 arasında bir sayı seçebilirsiniz. 5 değeri CPU kullanımı konusunda iyi bir değerdir ve çoğu ASCII dosyası için yaklaşık% 75'lik bir sıkıştırma sağlar (yaklaşık olarak seviye 9 ile aynıdır).

    ...
        gzip_comp_level    5;
        gzip_min_length    256;
        gzip_proxied       any;
        gzip_vary          on;

    Ayrıca eklediğimiz bu birkaç satırı da açıklayalım: gzip_min_length değeri küçük boyutlu dosyaların daha da sıkıştırılmaması için girilir. gzip_proxied değeri Cloudflare gibi proxy kullananlar için de sıkıştırmayı etkinleştirir. gzip_vary tarayıcıların hem sıkıştırılmış içeriği hemde normal sürümü önbelleğe almaları için girilir.

    Son olarak, sıkıştırmak istediğiniz içerikler için MIME türlerini belirtin. Resimleri, JSON verilerini, javascript dosyalarını ve diğer yaygın içerikleri sıkıştırırız:

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
    
        gzip on;
        gzip_comp_level    5;
        gzip_min_length    256;
        gzip_proxied       any;
        gzip_vary          on;
    
        gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/ld+json
        application/manifest+json
        application/rss+xml
        application/vnd.geo+json
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/bmp
        image/svg+xml
        image/x-icon
        text/cache-manifest
        text/css
        text/plain
        text/vcard
        text/vnd.rim.location.xloc
        text/vtt
        text/x-component
        text/x-cross-domain-policy;
        # text/html is always compressed by gzip module
    
        location ~*  \.(jpg|jpeg|png|gif|ico|css|js|pdf)$ {
            expires 7d;
        }
    }

    Tarayıcı önbellek yapılandırması için ise location satırını girdik.

    Tüm girdiğimiz yapılandırma bu şekilde olacaktır. Dosyayı kaydedin ve kapatın.

    Girdiğimiz yapılandırmada hatalı satır var mı diye aşağıdaki komut ile kontrol edebilirsiniz;

    sudo nginx -t

    Ardından girdiğimiz bu yapılandırmaların aktif olması için nginx servisini yeniden başlatıyoruz.

    sudo systemctl restart nginx

    Adım 3 - Sonuçları Ölçün

    Bu yapılandırmaların hangi PageSpeed puanınızı etkilediğini kontrol etmek web sitenizi PageSpeed üzerinden tekrar analiz edin. Sıkıştırma ve tarayıcı önbellekleme uyarılarının gittiğini göreceksiniz:

    pagespeed son resim

    Sonuç

    Amacımız 80 in üzerinde bir puan elde etmekti. Eğer bu yapılandırmaları yaptığınız halde sizin sonuçlarınız 80 puanın altında ise dikkat etmeniz gereken başka ayarlar da olabilir. Web sitenizin içeriğine göre aldığınız puan değişiklik gösterecektir. Google PageSpeed size neleri düzenlemeniz gerektiğini söyleyecektir. Nginx yapılandırmanızı değiştirmek, PageSpeed'i geliştirmenin yalnızca bir yöntemidir ve tek başına yeterli olmayabilir.

    Yorumlar

    Hiç Yorum Yapılmamış


    Yorum Ekleyin

    E-Bülten Aboneliği

    E-Bültenimize kayıt olun, indirimlerden ve fırsatlardan önce siz haberdar olun..