Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Кеширане

Модул 6: Скорост · Време за четене: 9 минути

Учебна цел: След този урок ще можете да обясните какви видове кеш съществуват и да настроите и проверите правилно кеш на страници.

Ключови понятия: кеш на страници, браузърен кеш, Cache-Control, обектен кеш, Redis, OPcache, CDN, разширение за кеширане, LiteSpeed Cache, изключения (влезли потребители, количка, плащане), изчистване на кеша, двойни разширения за кеширане

Кеш: не вършете работата два пъти

Кешът запазва резултата от дадена работа, за да не се налага тя да се извършва отново следващия път. При WordPress сайт има четири места, където се случва това, от най-голямо към най-малко въздействие:

ВидКакво се запазваКъдеЕфект
Кеш на странициЦялостният HTML на дадена страницаНа сървъра (или при CDN)Най-голямата печалба: PHP, разширенията и базата данни се пропускат
Браузърен кешСтилови файлове, скриптове, изображения, шрифтовеВ браузъра на посетителяВтора страница се зарежда по-бързо, защото файловете вече са там
Обектен кешРезултати от заявки към базата данниВ паметта на сървъра (Redis, Memcached)Помага там, където кешът на страници не може, например при влезли потребители и онлайн магазини
OPcacheПреведеният PHP кодВ паметта на PHPPHP не трябва да чете файловете наново при всяка заявка; при повечето хостинг доставчици е включен по подразбиране

Кешът на страници

Урок 1.2 показа: без кеш WordPress изгражда цялата страница наново при всяко посещение. С кеш на страници първият посетител я изгражда, а следващите получават запазения HTML. TTFB от една секунда може така да спадне до няколко стотни от секундата, а Вашият пакет може да обслужва много повече посетители едновременно.

Как получавате кеш на страници, зависи от Вашия уеб сървър:

  • LiteSpeed (много от споделения хостинг, включително WebOké): уеб сървърът сам по себе си има кеш. Безплатното разширение LiteSpeed Cache го управлява от WordPress: кои страници могат да влязат в кеша, кога се изчистват. Тъй като кешът се намира в уеб сървъра, PHP изобщо не се стартира за вече запазена страница.
  • Apache или nginx: разширение за кеширане, което запазва HTML като файлове, като WP Super Cache, W3 Total Cache или платено разширение като WP Rocket. Или кеш, който хостинг доставчикът управлява на ниво сървър.
  • Управляван WordPress хостинг често има собствен кеш; там обикновено не инсталирате разширение за кеширане.

Изберете само едно. Две разширения за кеширане едновременно (например LiteSpeed Cache и WP Rocket) си пречат едно на друго: двойна работа, страници, които не се изчистват, странни грешки. На LiteSpeed сървър LiteSpeed Cache работи с кеша на уеб сървъра; друго разширение за кеширане не може да направи това.

Какво не бива да е в кеша

Кешът на страници дава на всички един и същ HTML. Това се проваля при страници, които са различни за всеки посетител:

  • влезли потребители (лентата за управление, „Добре дошли, Лиса“);
  • количката, плащането и Моят профил в онлайн магазин;
  • страници с формуляр с еднократен код (nonce), който изтича след известно време;
  • страници, които показват различно съдържание въз основа на местоположение, език или бисквитка.

Добрите разширения за кеширане автоматично пропускат влезлите потребители и познатите WooCommerce страници. При други разширения (секция за членове, система за резервации) трябва сами да зададете изключения. Признакът, че нещо не е наред: посетител вижда количката на някой друг, или формуляр показва „изтекъл“ или „невалидна заявка“.

Изчистване: кога кешът е остарял?

Когато промените страница, запазената версия трябва да изчезне. Разширенията за кеширане обикновено изчистват тази страница, началната страница и архивите при запазване на публикация. При промяна на менюто, темата или уиджет често трябва да бъде изчистен целият кеш. Ако след промяна виждате старата версия, изчистете кеша (в лентата за управление на разширението за кеширане) и проверете в прозорец за поверително сърфиране, така че собственият Ви браузърен кеш да не влияе.

Браузърният кеш

Сървърът казва на браузъра чрез хедъри колко дълго може да запази даден файл:

cache-control: public, max-age=31536000

Това означава: запазете това за една година. За стилови файлове, скриптове, шрифтове и изображения дългият период е добре дошъл, защото WordPress поставя различен ?ver= след адреса при нова версия, и браузърът тогава го разпознава като нов файл. За самия HTML обичайно е кратко време (или никакво), така че посетителите да виждат промените бързо.

Много хостинг доставчици и разширения за кеширане уреждат това. В задачата от този урок ще го проверите.

Обектен кеш и Redis

Кешът на страници не помага при влезли потребители и при количката за пазаруване. Там помага обектен кеш: WordPress запазва резултата от заявки към базата данни в паметта, в програма като Redis или Memcached. Следващия път, когато дойде същата заявка, WordPress взема отговора от паметта вместо от базата данни.

Това е особено полезно за онлайн магазини, сайтове за членове и сайтове с много влезли редактори. За обикновен информационен сайт с кеш на страници разликата е малка. Обектният кеш изисква Вашият хостинг доставчик да предлага Redis или Memcached; след това го включвате с разширение (LiteSpeed Cache може това, има и самостоятелни разширения).

CDN

CDN (content delivery network) е мрежа от сървъри на много места по света, които съхраняват копия на Вашите файлове (а понякога и на целите Ви страници). Посетителят ги получава от най-близкия сървър. Това помага най-вече при посетители отдалеч и при много трафик. За сайт с европейски посетители на европейски сървър печалбата е малка. CDN с proxy (като Cloudflare) променя и Вашия DNS, и Вашия сертификат (DNS курс, урок 7.5); не правете това, без да разбирате какво прави.

На практика: ето как изглежда в панел

Като пример използваме LiteSpeed Cache на LiteSpeed сървър. Другите разширения за кеширане имат сходни настройки под различни имена.

  1. Инсталирайте и активирайте LiteSpeed Cache в Разширения > Ново разширение.
  2. Отворете LiteSpeed Cache > Cache: „Cache Control“ е включено, „Cache Logged-in Users“ изключено (освен ако знаете какво правите).
  3. При онлайн магазин: проверете в Изключване дали количката, плащането и Моят профил са включени (при WooCommerce това става автоматично).
  4. Оставете останалите компоненти (оптимизиране на CSS и JavaScript, изображения) първо изключени. Включвайте ги един по един и тествайте след всяка стъпка: именно тези компоненти понякога развалят тема.
  5. Проверете в прозорец за поверително сърфиране с инструментите за разработчици (F12, Network, първата заявка): при второто зареждане трябва да се вижда x-litespeed-cache: hit.

Обобщение

  • Има четири вида кеш: страница (най-голямата печалба), браузър, обект и OPcache.
  • На LiteSpeed сървър LiteSpeed Cache управлява кеша на уеб сървъра; на Apache или nginx използвате друго разширение за кеширане. Изберете само едно.
  • Влезли потребители, количка, плащане и лични страници не бива да са в кеша на страници.
  • Изчиствайте кеша след промени в менюто или темата и проверявайте в прозорец за поверително сърфиране.
  • Обектен кеш (Redis) помага при онлайн магазини и влезли потребители; CDN помага най-вече при отдалечени посетители и голям трафик.

Тест

1. Кой кеш дава обикновено най-голямата печалба в скорост за обикновен информационен сайт?



2. Клиент вижда в количката си продуктите на някой друг. Какво вероятно не е наред?



3. Защо не инсталирате две разширения за кеширане едновременно?



4. На кого помага най-много обектен кеш като Redis?



Задача

Задача A6.2: Работи ли Вашият кеш на страници? Въведете адреса на Вашия сайт. Програмата заявява началната страница два пъти кратко след една и друга, без бисквитки, и при второто извикване проверява хедъри, които показват попадение в кеша (x-litespeed-cache: hit, x-cache: HIT, cf-cache-status: HIT, стойност на age по-голяма от 0, или хедърът на друг познат кеш). След това програмата заявява един стилов файл от началната страница и проверява дали браузърът може да го запази поне седем дни (cache-control: max-age или expires). Запишете кой кеш използвате.

Задача A6.2: Работи ли Вашият кеш на страници?



Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Допълнително четене

Тези статии описват стъпките в панелите на WebOké; в други панели работят по сходен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…