В апреле 2014 года компания 1С-Битрикс представила технологию, которая позволяет многократно ускорить загрузку и отображение сайта. Это действительно крупное событие и значительная инновация: во многих замерах ускорение составляет сотни раз.
Мы расскажем что это, как работает, когда полезно и почему иногда эффект трудно заметить.
Технология композитного сайта от 1С-Битрикс
Суть статьи одним абзацем:
Технология композитного сайта — способ отдачи страницы сервером, когда сначала (очень быстро) выдается заранее сохраненный кешированный контент, затем параллельно подгружается графика и изменившаяся с момента кеширования информация. Композит дает комфорт посетителям и скорость индексации поисковиками.
Любой сайт на Битриксе может относительно просто быть переведен на Композит.
Ускорение в 100 раз — правда, но такой эффект наблюдается не всегда.
Композит — это новая технология? Ее придумал Битрикс?
Композит — изящное, красивое и простое совмещение существовавших ранее технологий. Это html-кеширование, ajax-подгрузка информации, учет времени модификации данных.
Главное достижение технологов 1С-Битрикс в том, что они нашли способ без революционных переработок платформы внедрить технологию в уже работающие сайты.
Это маркетинг или реально полезно?
Это реально полезно, и вот почему:
Сайты, которые отвечают медленно, не нравятся поисковым машинам. Поисковая машина считает время, которое проходит между запросом и началом загрузки ответа. С композитом оно будет намного меньше. Сайт начинает лучше индексироваться.
Если посетитель на сайте не впервые, есть кешированная версия страницы и загруженная графика, он заметит ускорение загрузки. Сайт начинает "летать".
Это маркетинг:
Такая технология пока есть только у 1С-Битрикс.
Результат "ускорение в 100 раз" на практике заметить почти невозможно. Воспринимаемое человеком время загрузки состоит из многих составляющих.
Композит ускоряет только одну — начало передачи контента от сервера браузеру.
Композитный сайт не избавляет разработчика и администратора сайта от необходимости серверной и клиентской оптимизации.
При первом открытии страницы сайта с "композитом" сервер сгенерирует кешированную версию html-кода, а браузер запомнит скрипты, графику, css-таблицы.
Страница имеет обычный http-статус "200 OK".
В зависимости от скорости работы вашего сервера и соединения с Интернетом этот шаг занимает десятые доли секунды и более. Можно встретить и 1-2-5 секунд.
Для нашего сайта это более 600 ms. Немало.
При втором открытии той же страницы сервер и клиент поймут что все заново можно не генерировать и не качать. Сервер отдаст кешированную версию со статусом "304 Not Modified".
Загрузка заняла 49 ms. Более чем в 12 раз быстрее.
Затем специальный js-код обратится к серверу с вопросом «что-то новенькое есть?». Сервер подумает и отдаст изменения. Это может занять некоторое время, но ни пользователь, ни поисковая машина от этого не пострадают.
Я не вижу скорости. В чем подвох?
Во-первых, убедитесь что сайт использует «композитную» технологию. Как — написано в следующем разделе.
Во-вторых, серверное время это далеко не все, что влияет на загрузку.
Например, очень приличный (с точки зрения веб-разработки) и почти лишенный статического контента сайт Правительства РФ government.ru загружается так:
После загрузки HTML-кода страницы происходит еще много всего.
66 запросов на легкий и быстрый сайт.
Больше секунды на передачу html, больше 4 секунд на всю статику.
Неоптимизированный и перегруженный картинками, стилями и скриптами сайт может грузиться намного дольше. И композит ему мало поможет.
Даже если у вас работает композит, сайт может загружаться и работать медленно по другим причинам:
неправильная работа компонентов;
неправильная настройка сервера;
проблемы верстки и клиентских скриптов;
несоблюдение стандартов разработки 1С-Битрикс;
проблемы интеграции с 1С.
В сайте, как и в человеке, все должно быть прекрасно, и композит — важная составляющая качества.
Долгий и правильный способ — изучение лог-файлов. Покажем простой.
Откройте браузер Chrome в режиме "инкогнито", нажмите F12 и откройте вкладку Network. Обновите страницу сайта несколько раз. Если вы видите 304 Not modified в колонке Status у первой строки — html-документа, то все работает.
Что увидит робот поисковой системы при открытии сайта «с композитом»?
Все будет хорошо. Робот увидит полноценную страницу с последней версией закешированного html-кода. И увидит он ее очень быстро. Сервер не будет напрягаться, и вы не напрягайтесь.
Как сайт перевести на композит?
Это займет от 5 до 50 часов работы. Обратитесь к партнеру с полученной и подтвержденной компетенцией .
Выжимаем максимум скорости из PHPКогда дело доходит до запуска PHP-приложений, выбор подходящего веб-сервера критически важен. Цель статьи — помочь в выборе оптимального решения для своих проек...
Доработка системы LMS KnomaryMust have для бизнеса, где главный актив это люди, — стратегия обучения и развития персонала. Рассказываем как помогли доработать LMS-систему для компании ЕВРАЗ...