Найти в Дзене
Web Тактика

Почему движки CMS и конструкторы тормозят скорость сайта?

Оглавление

Откуда возникает проблема в тестировании скорости загрузки сайтов в сервисе Page Speed Insights у популярных универсальных CMS (WordPress, OpenCartс и др.) и сайтов на "конструкторах" Tilda или Wix? Почему они виноваты в "торможении" скорости, даже при настройке серверного "сжатия" и "кэширования"?

Это происходит потому, что первые сессии загрузки страницы не бесконечны. А "движки" и "конструкторы" ставят в первые секунды загрузки файлы, без которых невозможно даже показать страницу сайта.

Что оказывает влияние на результаты тестов скорости загрузки?

  1. Файл самой страницы в виде текстового HTML кода. Обычно, он более 100 Кб и "собирается" на стороне сервера из базы данных. А в HTML коде страницы размещены ссылки на другие важные файлы, необходимые для "прорисовки" браузером этой страницы на экранах. И если сама загружаемая страница собирается из базы данных множественными запросами – это повлечёт значительное торможение скорости загрузки. Для сайтов на "конструкторах" практически отсутствует возможность повлиять на работу сервера оптимизацией настроек.
  2. CSS файлы стилей для страницы являются обязательной загрузкой в первые секунды. Без них так же невозможно сформировать окончательный вид страницы. У большинства современных CMS эти файлы состоят из сотен килобайт "мобильно-оптимизированного" кода для Bootstrap-шаблона страниц сайта. Часто, этот файл не единственный. Различные модули, плагины и дополнения для CMS увеличивают количество дополнительных файлов CSS, обязательных для загрузки в первичных сессиях браузера.
  3. Затем, туда же в первые секунды сессии загрузки попадают сотни килобайт JavaScript библиотек (например – jquery). Современные разработчики (на популярных CMS) не будут писать отдельные оптимизированные скрипты под каждый сайт! И в первые секунды загрузки будет добавлена загрузка файла JS библиотеки.
  4. Затем, в первые сессии загрузки попадут библиотеки шрифтов и SVG иконок (как рекомендуемая альтернатива картинок). Но такие "альтернативы" сами могут весить больше самих картинок!
  5. Ещё первичную загрузку попадают отдельные JS и CSS файлы для различных интерактивных "украшений" (дополнительных модулей самих CMS), различных слайдеров, калькуляторов, мессенджеров, счетчиков, всяких дополнений от плагинов...
  6. Только потом в загрузку попадут графические файлы, необходимые для формирования и начальной прорисовки страницы браузером – это графические фоны, файлы изображений со ссылками из CSS, файлы графики из "первого окна". Зато остальные файлы в контенте страницы и файлы для "отложенного" показа (в CSS анимации или JS) не сильно повлияют на скорость первичной прорисовки, но скажутся на общем весе страницы и общем времени её окончательной загрузки.

Все ссылки на эти файлы, необходимые браузеру для прорисовки страницы, находятся в начале HTML кода загружаемой страницы. Даже, если это "голый" HTML, загруженный из серверного кэша (при настройки кэширования страниц без множественных обращений к БД), все эти файлы из "головы" документа должны войти в первые сессии загрузки. Чтобы тест Core Web Vitals мог их загрузить и "прорисовать" этот самый HTML, забирая время на загрузку и построение отображения страницы на экране.

А надежда на включение "кэширования" этих файлов на стороне клиента, хоть и немного уменьшает скорость загрузки (у постоянных посетителей сайта), но не у поисковой системы – она тестирует чистое "первичное" обращение с полной загрузкой страницы. А пользователи мобильных устройств постоянно чистят "кэш" в своих смартфонах, а значит – часто загружают полный объём файлов.

И вот от этого такие показатели тестов скоростей...

Как увеличить скорость загрузки страниц?

Оптимизация скорости страницы начинается с уменьшения количества и размеров файлов JS и CSS в первичных сессиях загрузки (удаление лишнего кода, объединения файлов и уменьшения количества загрузочных сессий в первые секунды).

Но это невозможно, при использовании современных CMS движков! Это ломает их архитектуру и технологию подключения шаблонов и модулей, выстроенную в последние время. Количество килобайт в первичной загрузке сайтов значительно росло все последние годы. Именно это "стремление к росту объёмов страниц" и не нравится Google. Так появился Core Web Vitals 2021 – стандарт первичного теста всех страниц перед их поисковой индексацией. Успешное прохождение теста Page Speed Insights страницами сайта – это обязательное условие для начала пути в лидирующие позиции спроса и посещаемости.

А если оптимизировать рабочую архитектуру "движков" не получится, то начинают сокращать количество оформления (графических файлов) на сайтах. По этой причине все сайты становятся "минималистичными" и удивительно похожими друг на друга. Такие сайты теряют
Эффект Ресторфф и проигрывают в борьбе за лояльность посетителей другим, сайтам с хорошим графическим оформлением.

Хотя сайты с большим количеством графики (и даже с анимацией в оформлении страниц), могут прекрасно проходить тесты скорости загрузки:

Примеры тестирования скорости загрузки у оптимизированных сайтов с большим количеством графики.
Примеры тестирования скорости загрузки у оптимизированных сайтов с большим количеством графики.

По материалам статьи: Почему важна скорость загрузки сайта?