Кэшаванне старонак сайта з дапамогай .htaccess — Cache

Надрукаваць · Время на чтение: 9мін · па · Апублікавана · Абноўлены

прайграцьПраслухаць артыкул

Кешаванне статычных файлаў і старонак.

Кешаванне старонак сайта з дапамогай .htaccess. Не менш важны этап тэхнічнай аптымізацыі, як уключэнне gzip сціску ці мініфікацыя CSS. Уключэнне Cache старонак і файлаў дазволіць Вам значна павялічыць хуткасць сайта. А таксама ў разы зменшыць нагрузку на сервер. Дзякуючы нескладаным маніпуляцыям, Ваш сайт пачне лятаць.

У гэтым артыкуле мы пагаворым аб усіх аспектах гэтай тэмы. Чым важны кэш для сайта і яго ўжыванне. Я апішу прыклады, якія Вы зможаце прымяніць на практыцы. Плюс да гэтага, будзе невялікі агляд некаторых, дастаткова добрых Cache плагінаў для WordPress.

Што такое кэш сайта - як кэшаванне ўплывае на сайт

Простымі словамі кэшаванне - гэта захаванне інфармацыі аб сайце, у карыстальніка ў браўзэры. Такім чынам змяншаецца асноўная нагрузка на сервер. Значнай частцы сайта не трэба будзе загружацца, бо яе захаваная частка будзе падгружана браўзэрам карыстальніка. Гэта вельмі эфектыўны метад паскарэння загрузкі сайта.

Кэш або кэш або Cache - прамежкавы буфер абмену дадзенымі з хуткім доступам. Захоўвае і змяшчае інфармацыю, якая мае часты запыт. Доступ да дадзеных у cache, праходзіць з большай хуткасцю, чым з павальнейшых крыніц памяці. Але ёсць абмежаванне ў аб'ёме памяці. Даступнай мовай Кэш (cache) - гэта кароткая памяць.

Пры гэтым кэшаванне, не нясе шкоды карыстачу. Але паляпшае адлюстраванне Вашага праекту ў яго аглядальніку. Як гэта адбываецца! Калі карыстач заходзіць на сайт. Яго загрузка праходзіць крыху павольней чым трэба. Гэта злучана з тым, што браўзэр у гэты момант захоўвае некаторую копію сайта. У большай ступені гэта адносіцца:

  1. да лагатыпаў;
  2. дробным выявам;
  3. css файлам;
  4. агульнай структуры старонак.

Такім чынам, частка сайта ўвесь час знаходзіцца ў памяці (кэшы) браўзэра карыстача. Дзякуючы гэтаму, пры паўторнай загрузцы сайта, наведвальнік атрымлівае максімальна магчымую хуткасць водгуку. Браўзэр у гэты момант, выгружае частка элементаў з сваёй памяці. А сайту, няма патрэбы паўторна перадаваць вялікі аб'ём інфармацыі.

Калі на сайце уключаны і настроены cache. Вызначаная яго частка, будзе захавана на неабходны перыяд у лакальны кэш браўзэра наведвальніка. У якога вэб-старонкі будуць загружацца нашмат хутчэй, пры паўторных наведваннях.

Як уключыць і наладзіць кэшаванне сайта

Зрабіць гэта зусім не складана. Мы будзем і далей працаваць з файлам htaccess – які задае правілы серверу. Як з ім працаваць я апісваў у шматлікіх артыкулах. Таму перайду непасрэдна да справы. Па стандарце кэшаванне задаецца для неабходных файлаў і на вызначаны перыяд часу. Пасля заканчэння тэрміна адведзенага для захоўвання файла, яго актуальная версія будзе загружана зноў з сервера. Для гэтага трэба:

  • Стварыць канструкцыю тыпу FilesMatch. У ёй паказваем неабходныя пашырэнні файлаў для кэшавання.
  • Далей паказваем загаловак Cache-Control са зменнай max-age. Тут Cache-Control – гэта загаловак адказу сервера. Max-age - зменная ў якой паказваецца час захоўвання файла ў секундах.

Тыповы спіс пашырэнняў, якія выкарыстоўваюцца ў канструкцыі FilesMatch:

(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2|ttf|svg|eot)(\.gz)

Тыя файлы якія Вы не жадаеце кэшаваць, уключаць у спіс канструкцыі FilesMatch не трэба.

Прыклад кода Header set Cache-Control

# Cache-Control

# 30 дзён

Header set Cache-Control "max-age=2592000, public"

# 30 дзён

Header set Cache-Control "max-age=2592000, public"

# 2 дні

Header set Cache-Control "max-age=172800, public, must-revalidate"

Значэнне -#- каментар! Як бачыце ў каментарах пазначаны тэрміны, на якія будуць захаваны файлы. Таксама ёсць магчымасць забароны прымусовага кэшу. Гэты варыянт падыходзіць для дынамічных файлаў. У большай ступені ставіцца да скрыптоў і розных сцэнароў.

Прыклад канструкцыі "FilesMatch" забараняючай прымусовае кэшаванне


Header unset Cache-Control

Як бачыце тут не пазначаны тэрміны. Таму гэтыя пашырэнні файлаў не будуць кэшавацца. У дадзеную канструкцыю, Вы можаце дадаць свае пашырэнні файлаў.

Таксама маецца яшчэ адзін спосаб кіравання Cache - які выкарыстоўваецца шматлікімі плагінамі на WordPrees. У гэтым спосабе, мы будзем выкарыстоўваць модуль mod_expires. Гэты модуль мае здольнасць кантролю над загалоўкамі адказу HTTP на баку сервера. Тут асноўны час захоўвання дадзеных у кэшы, можа быць устаноўлена Вамі.

Мае некалькі ўсталёвак працягласці захоўвання дадзеных:

  1. па часе доступу кліента;
  2. ці па апошняй змене файла;
  3. усталёўка па часе;

Прыклад простага Cache кода

# Expires Headers - 2678400s = 31 days

ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType image/gif "access plus 2678400 seconds"
ExpiresByType image/jpeg "access plus 2678400 seconds"
ExpiresByType image/png “access plus 2678400 seconds”
ExpiresByType text/css "access plus 518400 seconds"
ExpiresByType text/javascript "access plus 2678400 seconds"
ExpiresByType application/x-javascript "access plus 2678400 seconds"

Больш сур'ёзны прыклад выкарыстання Cache

ExpiresActive On
ExpiresByType text/css A31536000
ExpiresByType text/x-component A31536000
ExpiresByType application/x-javascript A31536000
ExpiresByType application/javascript A31536000
ExpiresByType text/javascript A31536000
ExpiresByType text/x-js A31536000
ExpiresByType text/html A3600
ExpiresByType text/richtext A3600
ExpiresByType image/svg+xml A3600
ExpiresByType text/plain A3600
ExpiresByType text/xsd A3600
ExpiresByType text/xsl A3600
ExpiresByType text/xml A3600
ExpiresByType video/asf A31536000
ExpiresByType video/avi A31536000
ExpiresByType image/bmp A31536000
ExpiresByType application/java A31536000
ExpiresByType video/divx A31536000
ExpiresByType application/msword A31536000
ExpiresByType application/vnd.ms-fontobject A31536000
ExpiresByType application/x-msdownload A31536000
ExpiresByType image/gif A31536000
ExpiresByType application/x-gzip A31536000
ExpiresByType image/x-icon A31536000
ExpiresByType image/jpeg A31536000
ExpiresByType image/webp A31536000
ExpiresByType application/json A31536000
ExpiresByType application/vnd.ms-access A31536000
ExpiresByType audio/midi A31536000
ExpiresByType video/quicktime A31536000
ExpiresByType audio/mpeg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType video/mpeg A31536000
ExpiresByType application/vnd.ms-project A31536000
ExpiresByType application/x-font-otf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType application/vnd.oasis.opendocument.database A31536000
ExpiresByType application/vnd.oasis.opendocument.chart A31536000
ExpiresByType application/vnd.oasis.opendocument.formula A31536000
ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
ExpiresByType application/vnd.oasis.opendocument.text A31536000
ExpiresByType audio/ogg A31536000
ExpiresByType application/pdf A31536000
ExpiresByType image/png A31536000
ExpiresByType application/vnd.ms-powerpoint A31536000
ExpiresByType audio/x-realaudio A31536000
ExpiresByType image/svg+xml A31536000
ExpiresByType application/x-shockwave-flash A31536000
ExpiresByType application/x-tar A31536000
ExpiresByType image/tiff A31536000
ExpiresByType application/x-font-ttf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType audio/wav A31536000
ExpiresByType audio/wma A31536000
ExpiresByType application/vnd.ms-write A31536000
ExpiresByType application/font-woff A31536000
ExpiresByType application/font-woff2 A31536000
ExpiresByType application/vnd.ms-excel A31536000
ExpiresByType application/zip A31536000

Як мы бачым, тут закранута вялікая колькасць пашырэнняў. З адным, і тым жа, тэрмінам захоўвання.

Кэшаванне ў браўзэры на баку карыстальніка на 3 - 7 дзён ці на год

Тут, асноўная частка пашырэнняў файлаў, будзе захоўвацца на год. У большай ступені гэта карысна для малюнкаў, бо іх думаю мала хто мяняе. Такім чынам яны будуць падгружацца ў браўзэры наведвальніка на працягу года.

# кэшаванне ў браўзэры на баку карыстальніка

ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg “access plus 1 year”
ExpiresByType image/x-icon “access 1 year”
ExpiresByType application/x-shockwave-flash "access 1 year"
ExpiresByType js "access 3 days"

Кэшаванне кантэнту (Flash, CSS, JS, HTML, XML) і малюнкаў

У гэтым прыкладзе, мы выкарыстоўваем кэш толькі да вызначаных файлаў. І на менш працяглы тэрмін.

ExpiresActive On
# Кеш для малюнкаў
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png “access plus 2592000 seconds”
ExpiresByType image/gif "access plus 2592000 seconds"
# Кеш кантэнту (Flash, CSS, JS, HTML, XML)
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/javascript "access plus 2592000 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"

Настройка кэшавання старонак і файлаў сайта, не такая ўжо, і складаная справа. Галоўнае абраць правільную стратэгію. Усе вышэй паказаныя прыклады, Вы можаце выкарыстоўваць на сваё меркаванне. Пратэстуйце стратэгіі і падбярыце патрэбны варыянт кода. Ніжэй я раскажу, аб некаторых Cache (кеш-кэш) убудовах для WordPress.

Настройка кэшавання з дапамогай плагінаў WordPress

Для тых, хто выкарыстоўвае CMS WordPress, мае вялікую разнастайнасць кэш убудоў. Усе яны маюць поўнафункцыянальнае рашэнне і аўтаматычную настройку. Асаблівых праблем пры выкарыстанні падобных убудоў, узнікнуць не павінна. Пасля ўсталёўкі такой убудовы, Вам застаецца ўжыць патрэбныя Вам налады. Убудова аўтаматычна захавае іх у файле htaccess.

WP Fastest Cache

WP Fastest Cache Premium хуткі Убудова Кэша.

Папулярны і досыць магутны убудова кэшавання для WP. Мае вялікую колькасць разнастайных налад, у тым ліку аптымізацыю HTML, CSS і Js. Разабрацца ў якіх зможа нават пачатковец карыстач.

WP Super Cache

WP Super Cache - убудова для паскарэння загрузкі старонак.

Вельмі папулярны плягін! Выдатны функцыянал і зручныя наладкі. Здольны кэшаваць вялікую колькасць розных аб'ектаў. Настройка плагіна вельмі простая.

W3 Total Cache

Лепшы убудова кэшавання WordPress - W3 Total Cache.

Магутнае рашэнне для буйных сайтаў. Самая папулярная ўбудова, сярод сабе падобных. Маецца вялікая колькасць разнастайных налад і функцыяналу. Наладжваць трэба з асцярожнасцю, бо можа выклікаць крытычныя памылкі. Ёсць верагоднасць канфліктаў з іншымі плагінамі ці тэмамі. Але па функцыянале вельмі добрая і магутная плягін.

Гэта асноўныя і найболей папулярныя cache убудовы, якімі я і сам карыстаўся. Выбраць можна любы ў залежнасці ад Вашых пераваг.

У заключэнне

У гэтым артыкуле я пастараўся максімальна раскрыць тэму кэшавання. Указаўшы прыклады, якія можна выкарыстоўваць у залежнасці ад Вашых характарыстык. Настройка кэшавання з гэтым кіраўніцтвам пройдзе ў Вас як па алеі. Спадзяюся гэты артыкул будзе актуальны яшчэ доўгі час. Дзякую за ўвагу, але не развітваюся. Убачымся ў наступных артыкулах.

Дзякуй, што чытаеш Nicola Top

Наколькі публікацыя карысная?

Націсніце на смайлік, каб ацаніць!

Сярэдняя адзнака 4.9 / 5. Колькасць адзнак: 25

Ацэнак пакуль няма. Пастаўце адзнаку першым.

Вам таксама можа спадабацца...

Пакінуць адказ

Ваш адрас электроннай пошты не будзе апублікаваны. Неабходныя палі пазначаны як *

4 × два =