ОПТИМИЗАЦИЯ

Сайтът Ви зарежда бавно?

Ако сайтът ви е бавен или се затруднява при повече посещения, свържете се с нас за технически одит и оптимизация. Ще установим къде е проблемът и дали CDN е подходяща част от решението.

Да. Например Cloudflare предлага Content Delivery Network кеширане и в безплатния си план. Допълнителните функции и ограничения зависят от избрания план.

Не. Резултатът зависи и от кода, изображенията, хостинга, външните услуги и работата на браузъра.

Не задължително. Преценете според измерванията, натоварването и инфраструктурата. При добре оптимизиран локален сайт ефектът може да е малък.

Не разчитайте на това. В определени конфигурации може да остане достъпно кеширано съдържание, но поръчките, входът в профил и други динамични действия обикновено се нуждаят от основния сървър.

Някои доставчици предлагат и защита от DDoS атаки, филтриране на заявки и други функции. Те допълват защитата, но не заменят обновяването на WordPress, контрола на достъпа и резервните копия.

Правилният отговор започва с измерване: какво се зарежда бавно, кои посетители са засегнати и кои заявки могат да се обслужват от кеш.

Във Vectory разглеждаме скоростта като част от цялостната техническа работа на сайта — хостинг, база данни, плъгини, изображения и кеширане.

Често задавани въпроси за CDN

Сайтът може да има няколко кеширащи слоя: WordPress плъгин, сървърен кеш, CDN и браузър.

След промяна на снимка или оформление някой от тях може още да пази предишната версия.

Изчистването на CDN кеша обикновено се нарича Purge cache. Когато е възможно, премахвайте само засегнатите адреси. Изчистването на целия кеш означава, че повече следващи заявки ще трябва отново да достигнат до източника.

При магазин уточнете и как промените в цени и наличности обновяват кешираните продуктови страници. Това е особено важно, ако кеширате целия им HTML.

Защо след промяна понякога виждате старо съдържание?

Работещият кеш и реалното ускоряване са две отделни проверки.

За сравнение преди и след:

  1. Използвайте едни и същи страници, устройство и тестово местоположение.
  2. Направете няколко измервания, вместо да разчитате на един резултат.
  3. Разглеждайте отделно първото посещение и повторните зареждания.
  4. Проверете начална страница, вътрешна страница и продуктова страница.
  5. Следете времето за отговор, доставката на ресурсите и появата на основното съдържание.

Ако работите на няколко пазара, включете тестове от съответните региони. CDN може да донесе по-голяма полза за отдалечените посетители, отколкото показва тестът от България.

За бизнеса резултатът трябва да бъде по-бързо и удобно използване на сайта, включително изпращане на запитване или завършване на покупка.

Как да разберете дали сайтът действително е по-бърз?

ПОЛЕЗНО

При Cloudflare този хедър показва как е обработена конкретната заявка:

  • HIT — ресурсът е намерен в CDN кеша.
  • MISS — ресурсът е допустим за кеширане, но налично копие не е намерено.
  • DYNAMIC — заявката не е определена като допустима за кеширане.
  • BYPASS — кешът е заобиколен заради условията на отговора, например инструкции от основния сървър.

DYNAMIC на HTML страница не означава автоматично проблем. Това може да е очакваното поведение при стандартна конфигурация или персонализирана страница.

Също така HIT на една снимка не доказва, че целият сайт е кеширан. Проверете няколко ресурса и отделно основния HTML документ.

Стъпка 3: Потърсете CF-Cache-Status

Започнете с продуктова снимка или друг статичен файл. Избягвайте изображение от външна платформа, защото то може да не преминава през Вашия CDN.

Отворете заявката и намерете Headers → Response Headers.

Ако ресурсът е зареден от локалния кеш на браузъра, няма да получите надеждна информация за нов отговор от CDN. В такъв случай включете Disable cache, докато инструментите са отворени, и презаредете.

Стъпка 2: Изберете изображение от вашия сайт

Отворете публична страница от сайта, натиснете десния бутон и изберете Inspect / Проверка. В инструментите за разработчици отворете раздела Network.

Презаредете страницата, за да се покажат заявките.

Стъпка 1: Отворете Network

Ето практична проверка с Cloudflare и браузъра Chrome.

Как да проверите дали CDN работи?

HOW-TO

При този вариант изображенията, стиловете и скриптовете се зареждат през отделен адрес, например cdn.example.com.

WordPress интеграция или плъгин заменя адресите на подходящите ресурси. Самите страници могат да продължат да се обслужват от основния сайт.

И при двата подхода първо проверете дали хостингът вече не предоставя активен CDN. След това уточнете какво ще се кешира, как ще се обновява и как ще проверите резултата.

Отделен CDN адрес за статичните файлове

При този модел уеб трафикът преминава през мрежата на доставчика. Cloudflare е пример за такова решение.

Важно е да се разграничава използването на DNS услугата от използването на прокси и Content Delivery Network. При Cloudflare запис със статус DNS only не прекарва съответния уеб трафик през CDN мрежата; за това се използва Proxied.

CDN пред целия сайт

Начинът зависи от доставчика. Два често срещани подхода са:

Как се добавя CDN към WordPress?

В онлайн магазина част от съдържанието е общо, а друга част принадлежи на конкретния клиент.

Продуктовата снимка може да е еднаква за всички. Количката, адресът за доставка и историята на поръчките не са.

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

Това не пречи снимките и стиловете на тези страници да се доставят чрез CDN.

Нужни са и проверки за потребителските сесии, персоналните цени, валутите и реалните адреси на страниците. Изключение само за /cart/ няма да помогне, ако Вашата количка използва друг адрес.

След настройката тествайте:

  1. Добавяне и премахване на продукт.
  2. Промяна на количество и прилагане на промокод.
  3. Избор на доставка и обновяване на крайната сума.
  4. Вход и изход от клиентски профил.
  5. Завършване на тестова поръчка.
  6. Две отделни клиентски сесии с различни колички.

Не включвайте правило за кеширане на всички страници, преди да са уточнени изключенията.

CDN за WooCommerce: какво трябва да се настрои внимателно?

WOOCOMMERCE

Content Delivery Network може да подобри доставката на съдържание, но не отстранява автоматично:

  • бавни заявки към базата данни;
  • грешки и конфликти между плъгини;
  • тежки анимации и прекомерно изпълнение на JavaScript;
  • неправилно оразмерени изображения;
  • бавни външни услуги;
  • проблеми с обработката на поръчки или плащания.

Кеширането на публична страница може да намали колко често се проявява сървърно забавяне за анонимни посетители. Причината обаче може да остане видима в администрацията, при търсене или при финализиране на поръчка.

Затова оценявайте и работата на сайта, а не само резултата от тест на началната страница.

Какво CDN няма да поправи сам?

За малък фирмен сайт с аудитория основно в България, добър близко разположен хостинг и оптимизирани страници допълнителният ефект може да е ограничен.

Преди да добавяте нова услуга, проверете дали:

  • снимките не се качват в ненужно големи размери;
  • публичните страници използват подходящо кеширане;
  • темата и плъгините не зареждат излишен код;
  • външни чатове, реклами и видеа не забавят страницата;
  • хостингът разполага с необходимите ресурси.

Няма универсален брой посещения, след който CDN става задължителен.

Три хиляди посещения дневно на кешируем блог и същият брой посещения в магазин с филтри, персонални цени и активни колички създават различно натоварване. Значение имат едновременните посетители, действията им и делът съдържание, който може да се кешира.

За начална диагностика използвайте нашето ръководство за PageSpeed Insights и анализ на скоростта.

Кога CDN не е първото нещо, което трябва да направите?

CDN

Ако изображенията и другите файлове се изтеглят бавно от важни за бизнеса ви местоположения, CDN е разумна следваща стъпка за тестване.

Ако основното забавяне идва от изпълнението на JavaScript на телефона, първо трябва да намалите работата, която браузърът извършва.

Когато тестовете показват забавяне при доставката на ресурси

Онлайн магазини, портфолиа и медийни сайтове често доставят голям обем снимки.

Преди Content Delivery Network обаче оптимизирайте самите файлове. Доставка на прекалено голяма снимка от по-близък сървър не премахва нуждата тя да бъде изтеглена и обработена от браузъра.

Започнете с подходящи размери и компресия. вижте нашето ръководство за компресиране на снимки за уеб.

Когато сайтът има много изображения

При рекламна кампания стотици хора могат да отварят една продуктова категория или лендинг страница за кратък период.

Ако общите ресурси се обслужват от CDN кеша, основният сървър изпраща по-малко повтарящи се данни. Това може да облекчи натоварването, но поръчките и другите некешируеми действия продължават да изискват ресурси от хостинга.

Когато много посетители разглеждат едно и също съдържание

Това е един от най-ясните сценарии. Ако основният сървър е в Европа, а значителна част от аудиторията е в Северна Америка или Азия, разстоянието и мрежовият маршрут могат да увеличат времето за доставка.

CDN може да помогне за кешируемите ресурси. Проверявайте ефекта от държавите, в които са реалните ви клиенти, а не само от Вашия компютър.

Когато имате посетители от различни държави

Нека разгледаме, в които случаи  Content Delivery Network е удачен избор.

Кога CDN има смисъл за Вашия сайт?

СМИСЪЛ

Най-лесният старт обикновено е със статичните ресурси: изображения, стилове, скриптове и шрифтове. Те често са еднакви за множество посетители.

Кеширането на цели HTML страници е отделна стъпка. То може да намали и необходимостта WordPress да генерира страницата при всяко посещение, но изисква по-внимателни правила.

Например Cloudflare по подразбиране кешира определени статични файлове според разширението и заглавките на отговора. HTML страниците не се кешират автоматично при стандартната конфигурация. За тях са необходими допълнителни настройки или подходяща интеграция.

Затова твърдението „имаме Cloudflare, значи целият сайт е кеширан“ не е достатъчно. Трябва да проверите конкретните ресурси и страници.

Какво съдържание може да се доставя чрез CDN?

Най-често ще срещнете споделен хостинг, VPS и нает сървър. Разликата между тях е в разпределението на ресурсите и контрола, който получавате върху средата.

Трите могат да работят заедно, защото изпълняват различни задачи.

Компонент

Основна роля

Хостинг

Изпълнява WordPress и съхранява файловете и базата данни

Кеширащ плъгин

Може да създава готови версии на страниците и да намалява повторната работа на WordPress

CDN

Доставя подходящо съдържание чрез разпределена сървърна мрежа

Кеш на браузъра

Запазва ресурси на устройството на посетителя за повторно използване

CDN не заменя хостинга. Основният сървър продължава да е необходим за работата на WordPress, обработката на запитвания и поръчки и съдържанието, което не се обслужва от кеша.

Ако използвате WP Rocket, можете да го комбинирате с CDN. Важно е настройките и изчистването на кеша да са съгласувани. вижте нашето ръководство за настройка на WP Rocket за WordPress.

Каква е разликата между CDN, хостинг и кеширащ плъгин?

Представете си онлайн магазин, чийто основен сървър се намира в България. Клиент от Германия отваря продуктова страница.

Без CDN продуктовата снимка се изтегля от основния сървър. При правилно настроен Content Delivery Network процесът може да изглежда така:

  1. Браузърът на клиента изпраща заявка за снимката.
  2. Заявката достига до подходящ сървър от CDN мрежата.
  3. Ако там има валидно кеширано копие, снимката се изпраща от него.
  4. Ако няма копие, ресурсът се изтегля от основния сървър и при подходящи правила се запазва за следващи заявки.

Доставката от налично копие се нарича cache hit. Когато необходимото копие липсва и трябва да се потърси източникът, говорим за cache miss.

Това обяснява защо първото отваряне след изчистване на кеша може да се различава от следващите. Самото активиране на услугата не означава, че всички файлове веднага са разпределени и кеширани навсякъде.

Как работи CDN?

Абревиатурата означава Content Delivery Network — мрежа за доставка на съдържание. Тя използва сървъри в различни местоположения, които могат да съхраняват кеширани копия на ресурси от сайта ви и да ги доставят до посетителите.

Такива ресурси са например снимките, CSS файловете, които определят оформлението, и JavaScript файловете, които управляват част от интерактивните функции.

Вместо всяко изтегляне да се обслужва от основния хостинг сървър, част от заявките се поемат от Content Delivery Network мрежата. Това може да намали забавянето при доставка и преноса на данни от хостинга.

За посетителя адресът на сайта обикновено остава същият. Не е необходимо да избира друг сайт или да прави допълнителни настройки.

Какво е CDN?

Сайтът ви зарежда бързо от България, но посетителите от други държави чакат повече. Или рекламна кампания води много хора към едни и същи продуктови страници и натоварването на хостинга се увеличава.

В подобни ситуации CDN може да помогне, като доставя част от съдържанието чрез разпределена мрежа от сървъри.

Ползата обаче зависи от това какво забавя сайта, откъде идват посетителите и какво може да се кешира. Ако проблемът е тежък плъгин или бавна заявка към базата данни, само активирането на CDN няма да го отстрани.

Нека разгледаме как работи технологията и как да прецените дали има смисъл за вашия сайт.