2.17.2.1. Налады аптымізацыі сайта (PageSpeed)
Увага!
Выкарыстанне на сайце плагінаў, якія выконваюць тыя ж дзеянні, што і фільтры PageSpeed, можа прыводзіць да памылак у працы сайта. Рэкамендуем выкарыстоўваць нешта адно - альбо плагіны, альбо PageSpeed.У наладах аптымізацыі сайта выкарыстоўваюцца фільтры модуля Google PageSpeed. Ён усталяваны на хостынгу па змаўчанні і прызначаны для паскарэння адлюстравання старонкі ў браўзэры. Дакументацыя даступна на афіцыйным сайце.
Апісанне
Хуткасць працы сайта — адзін з найважнейшых фактараў, на які звяртаюць увагу сучасныя наведвальнікі. Затрымкі ў адлюстраванні сайта выклікаюць раздражненне, негатыўна ўплываюць на ранжыраванне ў пошукавых сістэмах і зніжаюць даходы камерцыйных сайтаў. З пункту гледжання наведвальніка на хуткасць працы сайта ўплываюць два асноўных параметру: хуткасць фарміравання старонкі на сэрвэры і хуткасць адлюстравання старонкі браўзэрам. Для паскарэння фарміравання старонак на серверах мы выкарыстоўваем сучаснае абсталяванне і тонкую наладу праграмнага забеспячэння. Таксама нашым кліентам даступныя інструменты, якія дазваляюць паскорыць яшчэ і хуткасць адлюстравання старонкі ў браўзэры наведвальніка, усяго толькі унёсшы змены ў налады свайго сайта.
Прычыны праблемы
Вялікую частку часу пры адлюстраванні старонкі браўзэрам займае загрузка яе дадатковых элементаў — малюнкаў, JavaScript і CSS. Практычна ўсе тэмы афармлення папулярных CMS выкарыстоўваюць JavaScript—фрэймворкі з дзясяткам плагінаў і мноствам CSS—стыляў. Агульны аб’ём загружаных наведвальнікам дадзеных пры гэтым нярэдка перавышае 500 КБ, а колькасць запытаў да сервера для адлюстравання адной старонкі складае некалькі дзясяткаў. Гэта негатыўна адбіваецца на хуткасці загрузкі старонкі ў наведвальніка.
Спосабы рашэння
Існуе некалькі методык, з дапамогай якіх можна павысіць хуткасць адлюстравання сайта ў браўзэры кліента:
- Паменшыць аб’ём перадаваных дадзеных.
- Паменшыць колькасць запытаў да сервера.
- Наладзіць кэшаванне статычных файлаў у браўзэры.
- Аптымізаваць рэндэрынг старонкі.
Знізіць колькасць запытаў да сервера, аб’ём перадаваных дадзеных і эфектыўнасць іх сціску можна шляхам аб’яднання некалькіх файлаў у адзін і выдаленні лішніх каментароў і прабелаў. У выпадку, калі на сайце шмат графікі ў ніжняй частцы старонак (якую відаць толькі пры пракрутцы), карыснай можа аказацца адкладзеная загрузка малюнкаў. Для паскарэння рэндэрынгу старонкі неабходна наладзіць правільны парадак падлучэння CSS-і JavaScript-файлаў, і, магчыма, перанесці дробныя CSS у HTML-код. Калі на старонках актыўна выкарыстоўваюцца элементы з іншых сайтаў (лічыльнікі наведвальнасці, фішкі сацсетак, чаты анлайн-дапамогі), папярэдні рэзалінг DNS-імен гэтых рэсурсаў можа павысіць хуткасць іх загрузкі ў сучасных браўзэрах. Выканаць такога роду аптымізацый можна з дапамогай налад PageSpeed. Усе аптымізацыі выконваюцца «на лета», Без неабходнасці ўнясення змяненняў у код сайта.
Аптымізацыя і HTTPS
Модуль PageSpeed працуе і па пратаколе HTTPS. Калі для сайта настроены рэдырэкт з HTTP на HTTPS (ці наадварот) з дапамогай .htaccess, могуць узнікаць праблемы з апрацоўкай кантэнту модулем PageSpeed па HTTPS. Каб выправіць сітуацыю, неабходна выдаліць дырэктывы рэдырэкту з .htaccess і замест іх уключыць патрэбны рэдырэкт. у наладах сайта.
Кэшаванне статыкі
Кешаванне дазваляе браўзэру захаваць копію статычнага файла на кампутары наведвальніка і не звяртацца за ім на сервер пры паўторным наведванні. Аднак гэта стварае нязручнасці распрацоўнікам, паколькі змены ў гэтых файлах наведвальнікі будуць бачыць з затрымкай на час кэшавання. У пазбяганне гэтай праблемы ў PageSpeed прысутнічаюць параметры пашыранага кэшавання малюнкаў, стыляў і скрыптоў. У выпадку іх выкарыстання ў URL статычных файлаў дадаецца хэш іх змесціва, які змяняецца пры рэдагаванні файла. Такім чынам дасягаецца працяглае кэшаванне з магчымасцю вольна ўносіць змены.
Настройка
Важныя моманты:
- Не існуе універсальнага набору налад, падыходнага ўсіх сайтаў без выключэння. Опцыі трэба падбіраць індывідуальна пад канкрэтны сайт. Для некаторых сайтаў яны могуць быць не патрэбныя зусім, калі праграмісты рэалізавалі адпаведны функцыянал у рухавічку, для іншых можа спатрэбіцца толькі частка параметраў.
- Вызначыць прыдатныя сайту налады можна эксперыментальна, па чарзе ўключаючы іх і правяраючы на кожным этапе працу сайта. Некаторыя з настроек могуць парушаць нармальную працу сайта. Напрыклад, пасля ўключэння мініфікацыі ці аб’яднання JavaScript на сайце могуць перастаць працаваць інтэрактыўныя элементы (не будуць націскацца якія-небудзь кнопкі). Гэта азначае, што з дадзеным сайтам настройка несумяшчальная. У гэтым выпадку яе трэба адключыць і ачысціць кэш PageSpeed.
- Эфектыўнасць налад наўпрост залежыць ад таго, як распрацоўшчыкі сайта падышлі да яго аптымізацыі. Для добра ад пачатку аптымізаванага сайта налады могуць апынуцца лішнімі.
- Некаторыя фільтры PageSpeed могуць ствараць дадатковую нагрузку на сэрвер. За кошт генерацыі аптымізаваных файлаў модуль стварае мноства запытаў да сервера. У большасці сваёй запыты накіраваны на статычнае змесціва і іх апрацоўка не павінна выклікаць нагрузку на сервер і праблемы, але ў некаторых выпадках запыты могуць накіроўвацца на генераваны скрыптамі PHP кантэнт і тым самым ствараць вялікую нагрузку (такі сцэнар сустракаецца вельмі рэдка, але мае месца быць) .
- Фільтры аптымізацыі PageSpeed не змяняюць файлы на сэрвэры, таму пасля іх адключэння сайт вернецца ў ранейшы стан.
- Модуль PageSpeed мае некаторыя нюансы працы. Азнаёміцца з імі можна ў дакументацыі на афіцыйным сайце.
- Некаторыя модулі аб’яднання маюць межавае значэнне MaxBytes, пры якім файлы не будуць аб’ядноўвацца звыш гэтага памеру. На хостынгу значэнне MaxBytes роўна 1 КБ.
- Адкрыйце налады сайта.
- На ўкладцы «Налады аптымізацыі сайта» уключыце або адключыце патрэбныя опцыі і захавайце змены:
- Пачакайце прыкладна 15-30 хвілін, пакуль змены ўступяць у сілу.
Дадатковыя атрыбуты са значэннем URL
Па змаўчанні фільтры PageSpeed, якія апрацоўваюць URL, улічваюць атрыбуты з спецыфікацый HTML4 і HTML5, а таксама некаторыя распаўсюджаныя пашырэнні, пералічаныя ў дакументацыі PageSpeed. Калі на сайце для URL выкарыстоўваюцца нестандартныя атрыбуты (напрыклад, спасылкі на выявы ў <li data-thumb="URL">
), трэба відавочна паказаць PageSpeed аб неабходнасці іх апрацоўкі.
Атрыбуты дадаюцца ў поле «Дадатковыя атрыбуты са значэннем URL» (пасля дадання абавязкова захавайце змены):
Выключэння
Правілы ўказанні выключэнняў:
- URL трэба ўказваць без імя самога сайта, напрыклад
*/jquery.js
або*/static*
. - Каталогі трэба апраўляць двума знакамі
*
, напрыклад*/content*
. - Кожнае выключэнне паказваецца з новага радка.
- Даўжыня аднаго выключэння не павінна перавышаць 100 знакаў.
- Даступныя сімвалы:
a-z 0-9 - . _ / *
.
- Адкрыйце налады сайта.
- На ўкладцы «Налады аптымізацыі сайта» ў полі «Выключэння з PageSpeed» увядзіце URL, якія неабходна выключыць, і захавайце змены:
- Пачакайце прыкладна 15-30 хвілін, пакуль змены ўступяць у сілу.
Ачыстка кэша
Увага!
- Для ачысткі кэша PageSpeed на сайт адпраўляецца спецыяльны запыт. Калі пры ачыстцы кэша ўзнікае памылка, праверце ў логах доступу коды адказаў сервера для запытаў з юзэр-агентам
pagespeed cache cleaner
. Напрыклад, працы такіх запытаў у шэрагу выпадкаў могуць замінаць дырэктывы рэдырэктаў з файла. .htaccess. У такой сітуацыі рашэннем можа быць часовае перайменаванне гэтага файла на час ачысткі кэша. - Кнопка ачысткі кэша адлюстроўваецца толькі пры уключаных наладах аптымізацыі. Калі адключаная аптымізацыя ці ўсе яе опцыі, кнопка выводзіцца не будзе.
- Адкрыйце налады сайта.
- На ўкладцы «Налады аптымізацыі сайта» унізе старонкі націсніце «Ачысціць кэш»:
Адключэнне
- Адкрыйце налады сайта.
- На ўкладцы «Налады аптымізацыі сайта» адключыце ўсе опцыі або уключыце опцыю «disabled» («Адключыць аптымізацыі сайта») І захавайце змены:
- Пачакайце прыкладна 15-30 хвілін, пакуль змены ўступяць у сілу.