20 факторів, які уповільнюють роботу сайту

20 факторів, які уповільнюють роботу сайту

Автор TechDude

Категория: Для веб-майстра

Ваш сайт може бути візуально приголомшливою конверсійною машиною, але його зовнішній вигляд і функціональність не будуть мати ніякого значення, якщо сайт завантажується надто довго. Користувачі стають все більш нетерплячими, і їх нетерпіння буде тільки рости в умовах все більш широкого розповсюдження мобільних пристроїв.

На жаль, список причин, за якими відвідувачі йдуть з сайтів, досить довгий. Нерідко будь-якої з цих причин може бути достатньо, щоб новий клієнт перетворився на втрачену можливість.

1. Кнопки соціальних мереж
Ви хочете, щоб користувачі соціальних мереж активно ділилися вашим контентом один з одним, але соціальні кнопки залежать від зовнішнього JavaScript і можуть істотно сповільнювати завантаження ваших сторінок, особливо, якщо ви не використовуєте асинхронне завантаження.

2. Код рекламних мереж
Рекламні доходи можуть мати значення для вашого бізнесу, але код рекламних мереж, велика частина якого заснована на JavaScript, може гальмувати завантаження сторінок. Деякі рекламні мережі впровадили асинхронне завантаження, що запобігає блокування їх коду JavaScript, але багато хто до цих пір цього не зробили.

3. Теги статистики
Статистика надзвичайно цінна, але заснована на JavaScript аналітика може впливати на час завантаження сторінок. Хороша новина: багато провайдерів статистики використовують асинхронну доставку. Погана новина: багато хто без особливої ​​необхідності використовують кілька різних кодів для статистики.

4. JavaScript-функціональність
JavaScript може бути неминучим злом, особливо, коли справа доходить до реклами та статистики. Але багато сайтів використовують JavaScript для реалізації функціональності, яку ефективніше реалізувати на стороні сервера. Відмінний приклад — багато сайтів використовують для коментарів Disqus і Facebook, що є найбільш неефективним способом організувати цю функціональність.

5. Неоптимізовані зображення
Можливо, швидкий інтернет вже став для вашої аудиторії правилом, а не винятком, але це не означає, що вам не потрібно працювати над оптимізацією зображень. Перевантажена картинками сторінка, де зображення були оптимізовані на 5-10%, може завантажуватися помітно швидше.

6. Роздутий HTML
Зробити так, щоб ваш сайт виглядав правильно у всіх популярних браузерах може бути непросто. Зробити це за допомогою компактного і акуратного HTML-коду — ще важче. Роздутий HTML не тільки збільшує обсяг переданих користувачам даних, але і може істотно впливати на продуктивність JavaScript.

7. CSS (погані каскадні таблиці стилів)
Важливо забезпечувати ефективність не тільки HTML, але і CSS. На жаль, поганий CSS-код характерний для багатьох сайтів. CSS можуть сповільнювати завантаження сторінки як при використанні селекторів нащадків, так і при використанні передових селекторів CSS3.

8. Аматорський jQuery-код
jQuery — найбільш популярна бібліотека JavaScript, і це неспроста: вона дозволяє швидко розробляти складну функціональність. Але це не означає, що будь-який, хто працює з jQuery, використовує її ефективно. Від обробників подій до маніпуляцій з DOM, є маса областей jQuery, в яких недосвідчені розробники тільки множать хаос.

9. Повільна робота DNS
Багато хостингових компанії і реєстраторів доменних імен пропонують безкоштовні DNS, і найчастіше ви отримуєте саме стільки, скільки платите. Хоча багато і приймають DNS як даність, так робити не варто: у деяких випадках пошук DNS може займати левову частку всього часу завантаження сторінки.

10. Занадто багато доменів
Розміщувати різні компоненти сторінки на різних доменах дозволяє распараллелити завантаження — це добре, але якщо елементи сторінки розкидані по занадто великій кількості доменів, будьте готові до того, що робота з DNS буде негативно впливати на час завантаження.

11. Поганий заголовок
Якщо ви не створите правильні заголовки Expires або Cache-Control, ви ускладните користувальницьким браузерам локальне кешування. Це означає, що потрібно більше звернень до елементів сторінки.

12. Відсутність Gzip-стиснення коду
Якщо ваш сервер не налаштований для застосування Gzip-стиснення HTML, CSS і JavaScript, ви, швидше за все, передаєте користувачам помітно більше даних, ніж потрібно.

13. Поганий код на стороні сервера
Ви можете зробити все правильно при віддачі готової сторінки користувачеві, але якщо генерація сторінки займає цілу вічність через повільні додатки, на яких працює ваш сайт, всі ваші зусилля по частині фронтенда будуть марні.

14. SQL-запити з пекла
Якщо веб-додаток працює не дуже швидко, велика ймовірність, що є проблема з SQL-запитами. Від неефективних операторів join до операторів select, що включають велику кількість рядів без індексів — багато варіантів, як погано реалізувати SQL-запити.

15. Старі версії серверного програмного забезпечення
Популярне серверне програмне забезпечення, від PHP до Java, яке використовують багато сайтів, історично стає все краще з плином часу. Так що якщо ви застрягли на старих версіях, велика ймовірність, що ви не використовуєте поліпшення в продуктивності, доступні після оновлення.

16. Невідповідний веб-сервер
Веб-сервери, такі як Apache або IIS, можуть бути оптимальними рішеннями для хостингу сайтів. Але коли справа доходить до масштабування і швидкості, багато найбільших сайтів світу переходять до швидкісних монстрів на зразок Nginx і lighttpd — веб-серверів, які ваш хостер або системний адміністратор навряд чи запропонують вам за умовчанням.

17. Flash і Java
Хоча кількість сайтів, що вимагають сторонні плагіни на кшталт Flash або Java, істотно зменшилося в останні роки, Flash і Java ще не померли і заслуговують місце в цьому списку.

18. Віртуальний хостинг
Завдяки цінам які постійно знижуються на апаратне забезпечення, покупка або оренда потужного сервера перестали бути розкішшю. Але незважаючи на це, багато компаній продовжують розміщувати сайти на віртуальному хостингу, де чийсь гальмівний додаток може сповільнювати їх роботу. Тут можна згадати і хмарне середовище, де швидкість введення-виведення даних деколи викликає тривогу.

19. Публічні мережі для передачі приватних даних
Одна з перших речей, яку роблять багато видавців при масштабуванні проекту, — поділ веб-сервера і сервера бази даних. Але багато хто не з’єднують їх з використанням приватної мережі, створюючи проблемну зону, яка може легко вплинути на продуктивність сайту.

20. Неефективне серверне кешування
Завдяки рішенням з відкритим вихідним кодом на кшталт Memcached і Redis, багато видавців використовують серверне кешування, один з найбільш ефективних способів поліпшити продуктивність веб-додатків. Але не всі варіанти кешування однаково корисні, і погано продумана стратегія анулювання кеша може зробити кешування непотрібним.

27 Август 2012

Оставь свой комментарий!

rss
Про блог
TechDude.Blog – персональний блог, который не имеет одной конкретной тематики. Тут вы найдете интересные и полезные статьи про: интернет, гаджети, музику, видео, спорт, искусство, web и социальные сервисы.
Надеемся, что Вам понравиться!
Подпишитесь на обновления блога и получайте свежие новости на свой E-mail. Введите свей e-mail тут:


Флаг
Розмовляй українською!
Якщо вважаеш потрібним зберегти українську мову – просто розмовляй українською. УкрЦентр