Sayt yavaş olanda ilk şübhə həmişə hostinqin üzərinə düşür. Bəzən doğrudur, amma təcrübədə gecikmənin böyük hissəsi saytın öz içində yaranır. Düzgün yanaşma budur: əvvəlcə vaxtın harada itdiyini ölçün, sonra düzəldin. Ölçmədən edilən optimizasiya çox vaxt heç nəyi dəyişmir.
Gecikmə iki yerdə yaranır
Səhifənin açılma müddəti iki hissəyə bölünür. Birincisi serverin cavab vaxtıdır, texniki adı TTFB, yəni ilk baytın gəlmə müddəti. İkincisi brauzerin səhifəni qurma vaxtıdır. Bu ikisi tamamilə fərqli səbəblərdən yaranır və fərqli həll tələb edir.
TTFB 200 millisaniyədən azdırsa, server tərəfi qaydasındadır və problemi brauzer tərəfində axtarmaq lazımdır. TTFB bir saniyədən çoxdursa, problem serverdə və ya saytın kodundadır.
Server tərəfindəki səbəblər
Ağır sorğular. Optimallaşdırılmamış verilənlər bazası sorğusu tək başına səhifəni saniyələrlə gecikdirə bilər. Ən çox rast gəlinən hal indeksi olmayan cədvəldə axtarışdır.
Keşin olmaması. Hər ziyarətçi üçün səhifəni sıfırdan qurmaq lazımsız işdir. Səhifə keşi bu yükü demək olar ki tamamilə aradan qaldırır.
Köhnə PHP versiyası. PHP 7.4 ilə PHP 8.3 arasında fərq bəzi tətbiqlərdə iki dəfəyə çatır. Versiyanı yeniləmək çox vaxt ən ucuz sürət qazancıdır.
Çoxlu plagin. Hər plagin hər səhifə yüklənişində öz kodunu işə salır. Otuz plaginli WordPress saytı onbeş plaginli saytdan qat-qat yavaş olur.
Xarici sorğular. Səhifə qurularkən kənar bir API-yə müraciət edilirsə və o API yavaşdırsa, sizin saytınız da onun qədər yavaş olur.
Resurs limiti. Paylaşılan hostinqdə hesabın CPU və yaddaş limiti var. Limit dolanda sorğular növbəyə düşür və sayt yavaşlayır.
Brauzer tərəfindəki səbəblər
Sıxılmamış şəkillər. Ən çox rast gəlinən problem budur. Bir səhifədə üç ədəd dörd meqabaytlıq şəkil olması saytın hansı serverdə olduğunu əhəmiyyətsiz edir.
Şrift yükləri. Beş fərqli şrift ailəsi və hər birinin bir neçə qalınlığı yüz kilobaytlarla əlavə yük deməkdir. İki şrift, hər biri iki qalınlıqda, əksər saytlar üçün kifayətdir.
Bloklayıcı skriptlər. Səhifənin yuxarısında yüklənən JavaScript faylı bütün göstərilməni gözlədir. Analitika və çat skriptlərini səhifənin sonuna keçirmək və gecikməli yükləmək lazımdır.
Çoxlu ayrı fayl. Otuz ayrı CSS və JS faylı otuz ayrı sorğu deməkdir. Onları birləşdirmək və sıxmaq vaxtı hiss olunacaq qədər azaldır.
Reklam və izləmə kodları. Bir neçə reklam şəbəkəsi və üç fərqli analitika sistemi saytın öz kodundan daha çox vaxt apara bilər.
Uzaq server. Ziyarətçiləriniz Bakıdadır, server isə Amerikadadırsa, hər sorğu okeanı iki dəfə keçir. Yerli auditoriya üçün yerli və ya Avropa lokasiyası düzgün seçimdir.
Necə ölçmək lazımdır
Ölçməni bir dəfə deyil, bir neçə dəfə aparın, çünki ilk ölçmə keşsiz olur və pis nəticə verir. Brauzerin geliştirici alətlərində Network paneli hər faylın nə qədər çəkdiyini göstərir. Ən böyük fayllara və ən uzun gözləyən sorğulara baxın, əksər hallarda ilk üç sətir bütün problemi izah edir.
Xarici ölçmə xidmətlərində isə diqqəti ümumi bala deyil, konkret göstəricilərə yönəldin: səhifənin ən böyük elementinin görünmə vaxtı və düzülüşün sürüşməsi. Bal yüksək olub istifadəçi təcrübəsi pis ola bilər və əksinə.
Hansı ardıcıllıqla düzəltməli
Ən böyük qazancdan başlayın: şəkilləri sıxın, səhifə keşini qoşun, PHP versiyasını yeniləyin, lazımsız plaginləri silin. Bu dörd addım əksər saytlarda yükləmə vaxtını yarıya endirir. Qalan optimizasiyalar isə artıq incə tənzimləmədir və ölçmə göstərdiyi yerdə aparılmalıdır.
Hostinq.az serverlərində LiteSpeed və NVMe disklər standartdır, PHP versiyasını isə panel üzərindən özünüz seçirsiniz. Yəni server tərəfi hazırdır, qalan hissə saytın öz quruluşundan asılıdır.