Като потребител всеки от нас се е сблъсквал с това да опита да зареди страница, в която търси нещо интересно или важно за него. Дългото чакане ни ядосва и затваряме страницата, защото тя зарежда прекалено бавно. За обикновения потребител това е просто едно напускане на страница, която вероятно няма да посети целенасочено отново. За собственика на уебсайта това е проблем, защото така губи аудитория, последователи или клиенти. Това е неприятно, нежелано и понякога изнервящо.
В това, което ще опиша, ще опитам да обхвана причините един уебсайт да зарежда бавно.
Екипът ни, който работи по клиентски въпроси, свързани с бавно зареждане, всеки ден прави не малък брой анализи на причините една страница да не зарежда според очакванията на собственика ѝ.
Създаването на екипа за съдействие при бавен сайт е в отговор на ежедневните запитвания от страна на нашите клиенти. За да можем да съдействаме с анализ, корекции и насоки. Основната ни цел е страниците на сайта да зареждат според очакванията на клиента, както и на посетителите.
Нашата проверка
Какво правим ние, когато постъпи запитване от наш клиент, свързано със забавяне при зареждането на страница?
Първите стъпки в проверката ни са:
- Проверка на сървъра, на който е разположен хостинг акаунтът.
- Състоянието на хостинг акаунта.
- Проверка и на ниво уеб приложение.
Общата нагласа, когато даден сайт започне да зарежда бавно, е, че причината е в хостинг сървъра. Но, за съжаление, най-често това не е случаят. Казвам „за съжаление“, защото ако казусът беше в сървъра, бихме могли да направим всичко необходимо проблемът да бъде разрешен възможно най-бързо.
Основните причини за забавено зареждане на сайта са свързани с уеб приложението.
Не е лесно да се направи точен шаблон за това какви могат да са основните причини. Всяка уебсайт система е уникална и има своите специфики.
Масово срещаните причини за забавяне, са:
1. Неоптимизирани изображения и медия
Изображенията и видео съдържанието, които се използват при разработката на страниците, са една от най-честите причини за това негативно поведение. Размерът и форматът на тези файлове са от голямо значение за скоростта на зареждане на страницата, особено при достъп от устройство с по-бавна интернет връзка или мобилно устройство.
Препоръки за оптимизиране, които даваме най-често:
- Смяна на формата на изображенията
Използвайте по-леките и бързи формати като WebP, вместо JPEG или PNG. Повечето уеб приложения имат разработени за целта плъгини, които правят това конвертиране автоматично. Ако за Вашето уеб приложение няма такъв тип плъгин, то може Вашият разработчик да извърши това за Вас. - Компресия на изображенията
Компресирайте изображенията без да губите видимо качество. Това се извършва от Вашия разработчик в хода на създаването на страницата Ви. Компресирането им спомага за по-бързото зареждане на страниците. - Размери и резолюция на изображенията
Размерите на изображенията трябва да са съобразени с размера на екрана на устройството, на което ще се достъпва сайтът и изискванията на разработката. С респонсив дизайна (адаптивен спрямо екрана дизайн – бел. ред.) се цели сайтът да се адаптира за различни видове екрани. Тази адаптивност се постига като едно и също изображение се показва в различни размери. По-щадящият вариант е всички необходими вариации на изображението да са създадени предварително по размер, вместо да се преоразмерява по време на зареждане, за да се напасне спрямо екрана.
Ако на малък екран изображението се сваля с голяма резолюция и се изрязва или смачква по време на зареждане, това може да води до забавяне. Причината е в допълнителното време за сваляне на изображението и обработка от скрипт. - Оптимизиране на темата
Визията е важна, но не винаги една красива тема е правилно оптимизирана. Това, което препоръчваме, е:
- Ако използвате готови теми, да се насочите към утвърдени такива, които предлагат и собствена поддръжка, тъй като разработчиците им са най-добре запознати с казуси, които биха възникнали при конфликти с техния продукт.
- Утвърдените теми са с дългосрочна поддръжка, което означава, че, независимо какво уеб приложение използвате, тази тема ще получава обновления във времето. Също така те ще са съвместими с новите версии на системата на сайта Ви. Зад този тип теми стоят екипи разработчици, които са направили нужната им оптимизация, която да не води до забавяне на страницата Ви.
2. Неоптимизирани скриптове
Важна роля в динамиката и стилизирането на сайта Ви играят JavaScript и CSS скриптовете. Ако те са неоптимизирани, това ще доведе до забавяне, което може да е осезаемо.
Как да коригираме това:
- Минифициране на кода
Намалете размера на JavaScript и CSS файловете, като премахнете излишни коментари в кода, както и излишни интервали. - Обединяване на код във файлове
Обединете няколко CSS или JavaScript файла в един, за да намалите броя на HTTP заявките, които се изпълняват при зареждане на сайта. - Асинхронно или отложено зареждане на скриптове
Зареждайте JavaScript файловете асинхронно (с атрибутите async или defer), за да не блокирате рендерирането (изобразяването) на страницата.
3. Много HTTP заявки
При всяко зареждане на страница, браузърът прави HTTP заявки към уеб сървъра за всяко изображение, CSS, JavaScript файл и други ресурси. Ако в страницата има много елементи, броят на заявките може да стане прекалено голям, което забавя зареждането.
Как да оптимизираме:
- Намалете броя на елементите
Намалете броя на изображенията, шрифтовете и други ресурси, които се зареждат в една страница. - Кеширане на ресурси
Кеширането е много важно, що се отнася до зареждането на една страница. Ако в сайтът Ви няма интегрирано кеширане, то помолете Вашия разработчик да Ви съдейства с това, както и с настройките му, така че повтарящите се ресурси да не се зареждат отново при всяко посещение. Имайте предвид, че по този начин ще се намали натоварването в хостинг акаунта. - Отложено зареждане на изображения – Lazy Load
Отложете зареждането на изображения в страницата, докато посетителят не стигне до частта от страницата, в която се намират. За страници с много на брой и големи изображения, ще постигнете значително намаляване на общия размер на страницата и броя HTTP заявки и ще се ускорят видимо.
4. Избор на хостинг план съобразно нуждите на уебсайта Ви
От голяма важност е, когато се изгражда една уеб страница, да се направи подходящ избор на хостинг план. Най-добре е да бъде съобразен с изискванията на приложението. Дори хостинг планът да предоставя повече ресурси от очакваното от Вас потребление, това е този допълнителен резерв, който ще Ви гарантира спокойствие при временни повишавания на трафика от посетители.
5. Неоптимизирани бази данни
Един от най-често срещаните проблеми е свързан с бавната работа на базата данни. Когато базата данни не е оптимизирана или заявките не са правилно написани, това може да доведе до значителни забавяния в зареждането на страниците, което в крайна сметка влияе на потребителското изживяване.
Важно е да разберете първоизточника на бавната заявка. След това и как да я подобрите.
Как да се приложи оптимизиране:
- Използване на индекси
Добавянето на индекси върху често използвани колони в базата данни може да ускори изпълнението на заявките. Препоръчително е това да бъде направено от Вашето техническо лице, което е запознато с прилагането на тази корекция. - Оптимизация на SQL заявки
Напишете по-ефективни SQL заявки, които намаляват натоварването на сървъра и редуцират броя на необходими извличания на информация от базата данни. В немалко от случаите този тип неоптимизирани заявки са свързани и с настройки на приложението.
Например, при един онлайн магазин, ако има изведена колона с категории в страниците с продукти и има активирано изброяване на продуктите по категории, това може да доведе до видимо забавяне. Обръщам внимание, че през последните години все по-малко разработчици използват тази функционалност, именно за да се избегне забавянето.
6. Неоптимизиран код
Лошо структуриран HTML или CSS код може да затрудни обработката на страницата и да забави нейното зареждане. Прегледайте кода за излишни елементи, като например ненужни класове, ID-та или стилизации, които могат да бъдат премахнати.
7. Рекламни мрежи и външни ресурси
Рекламите в една страница, шрифтовете, които са използвани, както и външни ресурси, зареждани от трети страни, често могат да бъдат източник на забавяне. Като пример мога да дам видео, което зарежда в заглавната страница и е качено на сървър на друг доставчик. Страницата, в която се намира видеото, ще зареди изцяло тогава, когато то е напълно изтеглено като ресурс.
Ако сървърът, на който се намира видеото, има проблем, то извличането му ще стане бавно и съответно страницата няма да зареди оптимално.
Как можете да избегнете това:
- Премахване на излишни реклами в страницата Ви
Ограничавайте се да използвате прекалено много рекламни мрежи или съдържание, което зарежда от услугите на трети страни. По този начин ще ограничите възможността за проблем, който не подлежи на бърза корекция и не зависи от Вас или от нас. - Използване на локални ресурси
Когато е възможно, хоствайте шрифтовете или други външни ресурси в хостинг акаунта Ви, за да избегнете забавяния от външни източници поради казуси с техните услуги.
Бавният уебсайт не е само неудобство за потребителите, но и сериозна пречка за успеха на Вашето онлайн присъствие. Колкото по-бързо зареждат страниците, толкова по-добро е изживяването на потребителите, което води до по-високи нива на ангажираност, конверсии и по-добри SEO резултати.
Важно е, когато сайтът зарежда бавно, да предприемате нужните стъпки за оптимизация, за да му осигурите най-доброто възможно представяне.
Абонирайте се за СуперБлога, за да научавате първи най-важното и полезното от света на уеб, касаещо Вашия сайт и дигитално развитие.