Saytingiz tezligini tekshirish uchun. Tahlildan so'ng u optimallashtirish bo'yicha bir qator tavsiyalar beradi. Va bu tavsiyalardan biri brauzer keshini ishlatishdir.
Brauzerni keshlash juda foydali narsa. Veb-sahifani yuklashda brauzer mahalliy ravishda undan asosiy resurslarni kompyuterga saqlaydi: tasvirlar, uslublar, skriptlar va hokazo. Va keyingi safar xuddi shu sahifani ochganingizda, u bir necha marta tezroq yuklanadi, chunki brauzer kerak emas. sayt resurslarini yana yuklab olish uchun - ular allaqachon kompyuteringizda.
Ammo keshlashning kamchiliklari ham bor - agar serverdagi fayl o'zgargan bo'lsa, unda siz yangi emas, balki faylning eski versiyasini ko'rasiz. Masalan, img01.jpg nomli faylda avtomobil tasviri bor edi. Siz saytga kirdingiz, maqolani o'qib chiqdingiz va ketdingiz. Lekin negadir sayt ma’muri u yerda mashina surati noo‘rin, deb qaror qilib, uni landshaft tasviri bilan almashtirishga qaror qildi. Ammo fayl nomi bir xil bo'lib qoladi. Bir necha kundan keyin siz o'sha maqolani yana o'qishga qaror qildingiz. Saytga kirganingizda, sizda hali ham eski rasm - mashina bor edi. Buning sababi, brauzer uni img01.jpg nomi bilan keshlagan. Peyzajli yangi rasmni ko'rishingiz uchun tugmalar birikmasidan foydalanib brauzer keshini tiklashingiz kerak Ctrl+F5.
Endi lirik chekinishlardan maqolaning asosiy mavzusiga o‘tamiz. Brauzerni keshlashni yoqish uchun serveringizda sayt ildizida fayl bo'lishi kerak .htaccess. Agar yo'q bo'lsa, uni yaratishingiz kerak.
Shundan so'ng u quyidagi ko'rsatmalarni o'z ichiga oladi:
Ushbu qoidalarni yozgandan so'ng, Google Page Speed keshlash yoqilgan katakchani belgilab, saytingizga qo'shimcha ball beradi.
P.S. Shuni ta'kidlashni istardimki, keshlash, afsuski, Yandex.Metrica va Google.Analytics skriptlari kabi tashqi resurslarga taalluqli emas.
Ko'rsatma faqat apache statik fayllarni qayta ishlasa ishlaydi (frontend sifatida o'rnatilgan). Agar nginx uning oldida bo'lsa, xuddi shu harakatlar butunlay boshqacha tarzda bajarilishi kerak.
Birinchidan, mavzu bo'yicha bir necha so'z - nima uchun veb-sayt resurslarini (tasvirlar, CSS, html fayllari, arxivlar va boshqa statik fayllar) keshlash kerak?
Har safar tashrif buyuruvchi saytingizni ochganda, nafaqat sahifaning html kodi, balki sahifani loyihalash uchun zarur bo'lgan barcha qo'shilgan fayllar (rasmlar, CSS uslublari, JS skriptlari va boshqalar) yuklab olinadi.
Natijada, fayl sahifasining bir marta ochilishi serverga bitta so'rov emas, balki o'ndan yuztagacha! Har bir bunday so'rov nafaqat serverga yuk (bu muhim), balki foydalanuvchi uchun sahifani yuklash uchun qo'shimcha vaqt (bu sayt sifati va foydalanuvchining u bilan ishlash qulayligi ko'rsatkichi sifatida muhim) .
Masalan, Google PageSpeed Insights-dan mashhur saytlarni tekshirish xizmati har doim bu haqda ogohlantirish yozadi:
Brauzer keshidan foydalaning
HTTP sarlavhalarida statik resurslar uchun sana yoki amal qilish muddatini belgilash orqali brauzer ilgari olingan resurslarni Internetdan emas, balki mahalliy diskdan yuklaydi.
Quyidagi resurslar uchun brauzer keshidan foydalaning://— muammoli fayllar roʻyxati —//
Keshlashni yoqish foydalanuvchi saytga/sahifaga yana tashrif buyurganida serverdagi yukni (saytning deyarli barcha sahifalarida takroriy dizayn elementlari, java skriptlari va h.k. mavjud) emas, balki uning tomonida sahifa yuklash vaqtini ham kamaytiradi. Brauzer fayllarni keshdan deyarli chaqmoq tezligida olganligi sababli, foydalanuvchi sahifa deyarli chaqmoq tezligida yuklanganligini his qiladi!
Ushbu muammoni hal qilish uchun sayt papkasida nomli fayl yarating .htaccess(boshida nuqta bilan. Bu muhim!) va unga ushbu qoidalarni qo'shing. Agar fayl allaqachon mavjud bo'lsa, mavjud faylning oxiriga qo'shing:
# foydalanuvchi tomonidagi brauzerda keshlash
Shundan so'ng, siz Google PageSpeed Insights sahifasida natijani tekshirishingiz mumkin (agar hamma narsa to'g'ri bo'lsa - xabar " Brauzer keshidan foydalaning" yashil rang bilan belgilanadi va "To'ldirilgan qoidalar: (batafsilroq)" bo'limiga joylashtiriladi)
Agar keshlash ishlamasa, modullar o'rnatilganligini tekshirishingiz kerak. Buning uchun sayt papkasida fayl yaratishingiz kerak test.php kod bilan:
Agar mod_expires yoki mod_headers ro'yxatda bo'lmasa, o'z navbatida server konsolida (ulangan) quyidagi buyruqlarni bajaring ( bu mod_expires, mod_headers o'rnatadi/yoqadi):
A2enmod sarlavhalari a2enmod apache2 xizmatini qayta ishga tushirish muddati tugaydi
Agar sayt muntazam xostingda bo'lsa, unda hamma narsa murakkabroq. Texnik yordamga murojaat qiling va modullar nima uchun o'rnatilmaganligini va bu muammoni qanday hal qilish mumkinligini bilib oling. Chunki hoster modullarni o'rnatmaganining sabablari juda ko'p bo'lishi mumkin.
img class=”aligncenter wp-image-2458 size-full” title=”Brauzerda sayt sahifalarini keshlashni qanday yoqish mumkin” src=”http://about-windows.ru/wp-content/uploads/2014/07/How to enable -browser-caching-of-site-pages.jpg” alt=”Brauzerda sayt sahifalarini keshlashni qanday yoqish mumkin” width=”600″ height=”450″ />
Agar sizning serveringiz oxirgi foydalanuvchi brauzeriga ba'zi resurslar saqlanishi mumkinligini bilish imkonini bersa, u holda bir xil resurslar uchun takroriy so'rov uzoq serverdan emas, balki mahalliy kompyuterdan javob oladi. Bundan ikkala tomon ham foyda ko'radi. Shunday qilib, server yukning bir qismini engillashtiradi, chunki u foydalanuvchi kompyuterida mavjud bo'lgan ma'lum resurslarni yuborishi shart emas. Ammo foydalanuvchi so'ralgan resurslarga tezroq kirish huquqiga ega bo'ladi.
Birinchidan, brauzer qanday resurslarni keshlashi kerakligini aniqlaylik. Shuni eslatib o'tamanki, agar brauzer ba'zi resurslarni keshlashsa, ularni uzoq vaqt davomida yangilamasligi mumkin. Bu holat statik ob'ektlar uchun juda mos keladi. Qanday resurslarni statik ob'ektlar sifatida tasniflash mumkin?
Yuqoridagi manbalar, shuningdek, ba'zi boshqa manbalar zararsiz uzoq vaqt keshda saqlanishi mumkin. Ular har kuni yangilanmaydi. Bunga asoslanib, men sizga foydalanuvchi brauzerini ro'yxatdagi resurslarni keshlashga majbur qiladigan kodni beraman. Bundan tashqari, biz ushbu resurslarni yangilanishlarni talab qilmasdan keshda saqlash muddatini ko'rsatamiz.
Faol kuni tugaydi
ExpiresDefault "kirish 7 kun"
ExpiresByType ilovasi/javascript "kirish va 1 yil"
ExpiresByType matn/javascript "kirish va 1 yil"
ExpiresByType text/css "kirish plus 1 yil"
ExpiresByType matn/html “kirish va 7 kun”
ExpiresByType text/x-javascript "1 yil kirish"
ExpiresByType image/gif “kirish plus 1 yil”
ExpiresByType image/jpeg “kirish va 1 yil”
ExpiresByType image/png “kirish va 1 yil”
ExpiresByType image/jpg “kirish va 1 yil”
ExpiresByType image/x-icon “1 yil kirish”
ExpiresByType ilovasi/x-shockwave-flash "1 yil kirish"
Ushbu kod faylga kiritilishi kerak .htaccess, bu Apache server bo'lib xizmat qiladigan saytning ildiz papkasida joylashgan. Shundan so'ng, brauzer belgilangan muddat davomida yuqoridagi barcha ob'ektlarni keshlaydi. Bu shuni anglatadiki, agar siz bir yil ichida bir xil saytga tashrif buyursangiz (misolda ko'rsatilganidek), siz kompyuteringizdan ko'plab fayllarni olasiz, agar bu vaqt ichida kompyuteringiz keshini tozalamagan bo'lsangiz.
Hammaga salom! Bugun men sizga saytingiz tezligini oshirish uchun Google PageSpeed Insights-da tashqi elementlarni qanday keshlashni aytmoqchiman. Maqsad js va boshqa yuklab olinadigan fayllarni tashqi manbalardan veb-saytingizga yuklab olishdir.
Foydalanuvchi tomonidagi brauzerda veb-saytingiz uchun fayllarni keshlashni qanday yoqish haqida yozishdan oldin, men kesh nima ekanligini tushuntirmoqchiman.
Kesh- ko'rilgan fayllarni kompyuteringizda saqlash, bu esa o'z navbatida sahifa yoki saytni qayta ko'rishda yuklanish tezligini oshiradi. Kesh o'zining saqlash muddatiga ega, undan keyin u yangilanadi yoki o'chiriladi.
Biz kesh nima ekanligini aniqladik. Keling, sahifamizni PageSpeed xizmatida tekshirib ko'raylik va Google brauzer keshidan foydalanishni tavsiya qilishiga ishonch hosil qiling. Bu xabardan parcha.
HTTP sarlavhalarida statik resurslar uchun sana yoki amal qilish muddatini belgilash orqali brauzer ilgari olingan resurslarni Internetdan emas, balki mahalliy diskdan yuklaydi.
Agar ushbu fayllar sizning resursingizda joylashgan bo'lsa, faylga brauzer keshlash kodini yozishingiz mumkin htaccess, saytning ildizida joylashgan. Kimga kerak bo'lsa, bu kodning o'zi.
# siqish matni, html, javascript, css, xml:
Ushbu kodni htacce fayliga joylashtirish orqali siz Google PageSpeed xizmatida saytingizni ikki marta tekshirishingiz mumkin.
Insights. Agar "bo'limida" brauzer keshidan foydalaning"Hammasi yaxshi, demak, u erda bo'ladi
faqat tashqi manbalarga havolalar, masalan, tahliliy, ijtimoiy
tugmalar va boshqalar.
Shaxsan men ushbu kod bilan parallel ravishda foydalanuvchi tomonidagi fayllarni keshlash uchun xostingimning imkoniyatlaridan foydalanaman. Bu shunday ko'rinadi.
Ko'rib turganingizdek, mening hosting brauzer tomonida keshlashni yoqish va siqish darajasini va faylni saqlash muddatini belgilash imkonini beradi. Bundan tashqari, men wp super kesh-sahifalarni tez yuklash uchun plagindan foydalanaman, lekin bu haqda qandaydir tarzda o'quvchilarimga aytib beraman, blog yangilanishlariga obuna bo'ldi.
Agar siz blogingizdagi fayllarni keshlash bo'yicha tavsiyalarga amal qilgan bo'lsangiz. Siz faqat Google PageSpeed Insights vositasida tashqi manbalarga havolalarni ko'rishingiz kerak. Sizda shunga o'xshash narsa bo'lishi kerak. Skrinshotdan ko'rinib turibdiki, Google PageSpeed Insights tashqi manbalarga qasam ichadi, masalan, Yandex o'lchovlari, google analytics va boshqalar. Endi men sizga ushbu xatoni qanday tuzatishni va serveringizning ichki va keshlangan tashqi manbalariga havolalar qilishni aytaman.
Tashqi resurs fayllari bizning saytimizga tegishli bo'lmagani uchun ular avval yuklab olinishi kerak. Tashqi fayllarni uchinchi tomon manbalaridan yuklab olish uchun biz fayl yaratishimiz kerak kesh_js.php quyidagi kod bilan. Faylga kodni tez va toʻgʻri qoʻshish uchun Notepad++ dan foydalanishni maslahat beraman.
Kodni yozish uchun bizga kerak. ushbu havolani oling va nusxa oling:
downloadJs( ‘PageSpeed-dan havolani bu erga joylashtiring /metrics.js ‘ , realpath("./ folder_js« ) . ‘/ metrics.js— yakuniy faylni shu yerga kiriting”) ;
Shu tarzda siz ko'plab so'rovlarni qo'shishingiz mumkin. Eslab qolishingiz kerak bo'lgan yagona narsa - papkada ikki nusxadagi fayllar yo'qligiga ishonch hosil qilishdir. Bunday holda, bir nechta skriptlar uchun bitta fayldan foydalaning, odatda bir xil skript yoki uning nomini o'zgartiring.
Kodni faylga qo'shgandan so'ng kesh_js.php, siz uni boshqa narsa deb atashingiz mumkin. U bizning saytimizning ildiziga yuklangan bo'lishi kerak. Shuningdek, saytning ildizida siz papka yaratishingiz kerak folder_js, yoki kirish huquqiga ega boshqa nom ostida 777/755. Jildga kirish huquqlarini o'rnatish uchun men foydalanishni tavsiya qilaman Fillizille.
Buning uchun fillizilla dasturini oching. Keyinchalik, papkani tanlang va kirish huquqlarini o'rnating, 777 ga ishonch hosil qiling, shundan so'ng biz uni 755 ga o'zgartiramiz. Agar siz ushbu dasturdan foydalanishni xohlamasangiz, buni hostingingizning boshqaruv panelida ham qilish mumkin. Men sizga Fillizilla dasturida kirish huquqlarini o'rnatishning skrinshotini ko'rsataman. Keyin bo'limni oching " fayl ruxsatlari" va 777/755 qiymatini kiriting.
Keyingi qadam, biz saytimiz uchun vazifa rejalashtiruvchisini yoqishimiz kerak, shunda bizning skriptimiz https://veb-saytingiz manzili/kesh_js.php har kuni yugurdi. Buning yordamida bizning veb-saytimizda har doim tashqi manbalardan olingan fayllarning so'nggi versiyasi bo'ladi. Ishlab chiquvchilar o'z kodlariga o'zgartirishlar kiritgan taqdirda ham, vazifa rejalashtiruvchisi tufayli biz doimo saytda ishlaydigan versiyaga ega bo'lamiz.
Veb-saytingiz uchun vazifalarni rejalashtirish uchun siz hosting boshqaruv paneliga o'tishingiz va kod variantlaridan birini kiritishingiz kerak.
GET orqali vazifani bajarish. Dvigatel kontekstini hisobga olgan holda cron ishini bajarishingiz kerak bo'lsa:
https://site.ru/script.php
bu yerda site.ru sizning domeningiz nomi, script.php esa vazifaga ega fayl nomi;
WGET orqali ishni bajarish. Dvigatel kontekstini hisobga olgan holda cron ishini bajarish uchun muqobil variant:
Wget -q -O - https://site.ru/script.php> /dev/null 2>&1
bu yerda site.ru sizning domeningiz nomi, script.php esa vazifaga ega fayl nomi;
Bizning holatda, biz yozishimiz kerak:
Https://veb-saytingiz manzili/kesh_js.php OLING
Yoki muqobil variantni tanlang; men shaxsan birinchisini tanladim.
Biz nimani ro'yxatdan o'tkazishni aniqladik, endi biz hostingimizni ochamiz va uning boshqaruv paneliga o'tamiz. Men ISPmanager boshqaruv panelidan foydalanaman, agar sizda boshqasi bo'lsa, vazifalarni rejalashtiruvchi yorlig'ini yoki cronni qidiring.
Endi "yaratish" yorlig'ini oching.
Keyin brauzer keshini tozalaymiz. Google Chrome uchun ctrl+shift+delete klaviatura yorlig'idan foydalaning va sayt ishini tekshiring. Saytingizni yana PageSpeed Insights vositasi orqali ishga tushirishni tavsiya etaman.
Men uchun hammasi shu, sahifani tezlashtirishning ushbu usuli tufayli sizga yaxshi ball tilayman. Keyingi maqolada men sizga blogingiz uchun rangli youtube obuna tugmachasini qanday yaratishni aytaman, shuning uchun unutmang. yangilanishlarga obuna bo'ling. Hammaga hayr!
Ushbu maqolani o'qib, siz ushbu nuqtani qanday yo'q qilishni bilib olasiz: do'stimiz PageSpeed Insights brauzerining keshidan foydalaning. Muammoni men bilgan bitta blog misolida ko'rib chiqamiz.
Maqola uzun, men uni qismlarga bo'lib ko'rsataman va mazmuni bilan tanishtiraman.
1-raqam bilan belgilangan ramkaga qarang (pastdagi rasm), uchinchi tomon xizmatlarining js fayllari yuklangan, lekin siz ularga ayta olmaysiz, keling, resurslaringiz uchun brauzer keshini yoqaylik. Afsuski, bu holda hech narsa qilish mumkin emas va bu shikoyatlarni olib tashlash mumkin emas.
Keling, uchta bosqichni ko'rib chiqaylik, ular quyidagilardan iborat:
Va bu sizning birinchi maslahatingiz. Iloji bo'lsa, hech qachon saytlaringizda tashqi resurslardan foydalanmang, bu juda sekin. Ko'pchilik o'z serverlariga ega emasligi sababli, bu muammo dolzarbdir. Menda bitta portaldan fikr-mulohaza shakli bor edi, lekin men uni olib tashladim, JS kodi sahifani sekinlashtirdi, buni o'zingiz hal qilasiz.
2-qutiga o'tsak, quyidagi manbalar uchun eslatmalar mavjud, asosan CSS, JS va tasvirlar. Keling, ushbu amal qilish muddati nima ekanligini aniqlaylik. Gap shundaki, tashrif buyuruvchi saytga tashrif buyurganida, uning brauzeri o'zi uchun fayllarni yuklab oladi (biz buni yuqoridagi ta'rifdan allaqachon bilamiz). Ushbu fayllarni xotirangizda qancha vaqt saqlashni bilish uchun ushbu vaqtni ko'rsatishingiz kerak.
Birinchi qadam - .htaccess-ni yuklab olish, FTP menejeri orqali hamma narsani tezda bajarish. Birinchidan, serveringiz nimada ishlayotganini, aniqrog'i uning dasturiy ta'minotini bilib olishingiz kerak bo'ladi. Bu Apache bo'lishi kerak (95% unda ishlaydi, lekin tekshirishga arziydi).
Quyidagi nginx resurslari bu funksiyani yoqish uchun apache-dan farqli parametrlarga ega, shuning uchun sayt nimada ishlayotganini tekshirishni bejiz aytganim yo'q.
Keyinchalik, saytning asosiy katalogiga (FTP orqali, men FileZilla-dan foydalanaman) butun WordPress dvigateli joylashgan pablic_html jildiga o'ting. .htaccess fayli bu yerda ideal tarzda joylashgan; u Apache'dan standartdir. U yuklash va kirishni tartibga soladi, agar u mavjud bo'lmasa, biz uni yaratamiz. Biz buni ko'proq tematik maqolalarda ko'rib chiqamiz, hozircha biz keshlashimiz kerak.
Qadam 2. Faylga mod-sarlavhasini qo'shing
Ikkinchi qadam .htaccess-ga mod-header direktivalarini qo'shishdir. Agar u mavjud bo'lsa, uni #endwordpress yopish tegidan oldin qo'ying, bu kod.
Sarlavha kesh-nazoratni o'chirib tashladi Agar u yangi bo'lsa, uni joylashtiring va ildiz katalogiga tashlang.
# BEGIN WordPress
#ENDWordPress Sarlavhalar to'plami kesh-nazorat "max-age = 43200" Sarlavhalar to'plami kesh-nazorat "max-age = 604800" Sarlavhalar to'plami kesh-nazorat "max-age = 2592000" Sarlavha kesh-nazoratni o'chirib tashladi Kod satrlarini tahlil qilish, ular nima uchun javobgardir
Endi biz ushbu kod satrlari nima uchun javobgar ekanligini aniqlashimiz kerak. Hammasi ahamiyatsiz, siz satrlarda png, jpg va shunga o'xshash turli xil kengaytmalarni ko'rishingiz mumkin va raqamlar ushbu kengaytmalar qarshisida ko'rsatilgan, bu fayllar saqlanadigan vaqtinchalik qismdir. Masalan, 43200 raqami ushbu kengaytmalarning fayllari keshda bir kun davomida saqlanishini bildiradi.
Agar hamma narsa to'g'ri bajarilgan bo'lsa, unda bu chiziq yo'qoladi, lekin biz bundan ham yaxshiroq ish qila olamiz, masalan, o'qing.
NIX Gravatar keshini keshlash uchun plagin
Nix gravatar kesh plagini men uchun xudojo'y. Boshqa servislardan yuklab olingan skriptlardan qutulish mumkin emas, desam, biroz yolg‘on gapirdim. Tashqi manbalar ro'yxatida siz gravatar saytini topishingiz mumkin, agar siz maqolaga sharhlaringiz bo'lsa va ularga gravatar biriktirilgan bo'lsa, bu holat ishga tushiriladi. G'alati, bu erda siz ushbu tasvirlar uchun WordPress brauzer keshini yoqishingiz mumkin.
Men sinchkov odamman va nihoyat yechim topdim, faqat rasm u yerdan keladi va shunga ko'ra uni keshlash va unga amal qilish muddatini yopishtirish mumkin.
Men NIX Gravatar Cache plaginida yechim topdim, bu yomon ekanligini bilaman, lekin undan yuk deyarli yo'q. Tan olaman, men uchta plaginni sinab ko'rdim, lekin faqat bu jpg formatida va noma'lum formatdagi rasmlarni ishlab chiqaradi. Barcha sozlamalar ikki nuqtaga tushadi, ular skrinshotda ko'rsatilgan.
Birinchi tasdiqlash qutisi yoqilgan yoki o'chirilgan, ikkinchisi esa keshni qancha vaqt saqlashi kerak.
Qiziq nima? Gap shundaki, tashrif buyuruvchi o'z sharhini qoldiradi va plagin avtomatik ravishda o'z gravatarini xostingga yuklab oladi va keyin yuklab olish gravatar saytidan emas, hammasi. Uni o'rnatishga ishonch hosil qiling, chunki bitta plagin yuzta so'rovdan yaxshiroqdir (agar sizda yuzta sharh bo'lsa).
Biz butun saytni keshlaymiz
Butun saytni keshlash uchun sizga plagin ham kerak. Ushbu rolda men Hyper Cache-ni tanladim, u engil va ko'p jarayonlarni talab qilmaydi. Ammo men buni hozir ko'rib chiqmayman, chunki mavzu juda keng va menda etarli maqolalar yo'q. Nimani o'rnatish kerakligini va uni qanday sozlashni unutmang, keyingi maqolani kuting.
Men bu erda tugataman, biz sizning keshingizni maksimal darajada yangiladik. Ayni paytda u xavf ostida emas va saytingiz tezroq yuklanadi, ushbu maqolani o'qib, siz ushbu nuqtani qanday yo'q qilishni bilib oldingiz: do'stimiz PageSpeed Insights-dan brauzer keshidan foydalaning.
Keling, nimani o'rganganimizni va protsedura nima ekanligini umumlashtiramiz
- Biz sayt nimada ishlayotganini bilib oldik (apache, nginx va boshqalar).
- .htaccess-ni kompyuteringizga qanday yuklab olishni bilib oldik.
- Kirish fayli tahrirlangan.
- Biz uni serverga qayta yuklashga muvaffaq bo'ldik.
- Nix gravatar kesh plaginini o'rnatdi.
P.S. Agar biror narsa ishlamasa, sharhlaringizni yozing, men javob beraman va yordam beraman.