Что такое поддержка композита битрикс
Перейти к содержимому

Что такое поддержка композита битрикс

  • автор:

Композитный сайт

Уникальная технология производства сайтов объединяет в себе высокую скорость загрузки статического сайта и все возможности динамического сайта.

Пользователь мгновенно получает контент страницы.

Почему это выгодно?

Отклик сайта
в 100 раз быстрее
Лучшее ранжирование
сайтов в Google и Яндекс
Значительный рост
конверсии интернет-магазина

Дайте своему сайту преимущество
перед конкурентами

Любой сайт на платформе «1C-Битрикс» может быть разработан по композитной технологии

Динамика загрузки страницы

Людям важно, чтобы страница мгновенно отображалась в браузере
Обычный Композитный
Динамические данные
JavaScript
Изображения
2.5-4.5 сек.
Отображение у пользователя
Отображение у пользователя

Как это работает?

Вы не заметите технических сложностей, вы просто будете знать, что ваш сайт быстрее других!
Страница разделяется на 2 соcтавляющие: статическую
и динамическую
Совершенно новый цикл загрузки страниц
Статическая часть кешируется и отображается мгновенно
Пользователь сразу видит содержимое и может работать с ним
Динамическая часть подгружается в фоновом режиме
и кешируется в браузере посетителя

1С-Битрикс: Управление сайтом

По композитной технологии могут работать все сайты, разработанные на платформе «1С-Битрикс: Управление сайтом»

«1С-Битрикс: Управление сайтом» — профессиональная система управления веб-проектами, универсальный инструмент для создания и управления современным интернет-проектом: корпоративных сайтов, интернет-магазинов, информационных порталов, сайтов сообществ, социальных сетей и других веб-проектов.

Технология «Композитный сайт» от 1С-Битрикс

композитный сайт от 1с-битрикс

Мы расскажем что это, как работает, когда полезно и почему иногда эффект трудно заметить.

Технология композитного сайта от 1С-Битрикс

Суть статьи одним абзацем:

Технология композитного сайта — способ отдачи страницы сервером, когда сначала (очень быстро) выдается заранее сохраненный кешированный контент, затем параллельно подгружается графика и изменившаяся с момента кеширования информация. Композит дает комфорт посетителям и скорость индексации поисковиками.
Любой сайт на Битриксе может относительно просто быть переведен на Композит.

Ускорение в 100 раз — правда, но такой эффект наблюдается не всегда.

Композит — это новая технология? Ее придумал Битрикс?

Композит — изящное, красивое и простое совмещение существовавших ранее технологий. Это html-кеширование, ajax-подгрузка информации, учет времени модификации данных.

Главное достижение технологов 1С-Битрикс в том, что они нашли способ без революционных переработок платформы внедрить технологию в уже работающие сайты.

Это маркетинг или реально полезно?

Это реально полезно, и вот почему:

  1. Сайты, которые отвечают медленно, не нравятся поисковым машинам. Поисковая машина считает время, которое проходит между запросом и началом загрузки ответа. С композитом оно будет намного меньше.
    Сайт начинает лучше индексироваться.
  2. Если посетитель на сайте не впервые, есть кешированная версия страницы и загруженная графика, он заметит ускорение загрузки.
    Сайт начинает «летать».

Это маркетинг:

  1. Такая технология пока есть только у 1С-Битрикс.
  2. Результат «ускорение в 100 раз» на практике заметить почти невозможно. Воспринимаемое человеком время загрузки состоит из многих составляющих.
    Композит ускоряет только одну — начало передачи контента от сервера браузеру.
    Композитный сайт не избавляет разработчика и администратора сайта от необходимости серверной и клиентской оптимизации.

Как работает композитный сайт?

  1. При первом открытии страницы сайта с «композитом» сервер сгенерирует кешированную версию html-кода, а браузер запомнит скрипты, графику, css-таблицы.
    Страница имеет обычный http-статус «200 OK».
    В зависимости от скорости работы вашего сервера и соединения с Интернетом этот шаг занимает десятые доли секунды и более. Можно встретить и 1-2-5 секунд.
    Для нашего сайта это более 600 ms. Немало.
    загрузка сайта без композита 200 ok Битрикс bitrix
  2. При втором открытии той же страницы сервер и клиент поймут что все заново можно не генерировать и не качать. Сервер отдаст кешированную версию со статусом «304 Not Modified».
    загрузка сайта с композитом 304 Not Modified Битрикс
    Загрузка заняла 49 ms. Более чем в 12 раз быстрее.
    Затем специальный js-код обратится к серверу с вопросом «что-то новенькое есть?». Сервер подумает и отдаст изменения. Это может занять некоторое время, но ни пользователь, ни поисковая машина от этого не пострадают.

Я не вижу скорости. В чем подвох?

Во-первых, убедитесь что сайт использует «композитную» технологию. Как — написано в следующем разделе.

Во-вторых, серверное время это далеко не все, что влияет на загрузку.

график загрузки сайта government.ru

Например, очень приличный (с точки зрения веб-разработки) и почти лишенный статического контента сайт Правительства РФ government.ru загружается так:

После загрузки HTML-кода страницы происходит еще много всего.
66 запросов на легкий и быстрый сайт.
Больше секунды на передачу html, больше 4 секунд на всю статику.

Неоптимизированный и перегруженный картинками, стилями и скриптами сайт может грузиться намного дольше. И композит ему мало поможет.

Даже если у вас работает композит, сайт может загружаться и работать медленно по другим причинам:

  • неправильная работа компонентов;
  • неправильная настройка сервера;
  • проблемы верстки и клиентских скриптов;
  • несоблюдение стандартов разработки 1С-Битрикс;
  • проблемы интеграции с 1С.

В сайте, как и в человеке, все должно быть прекрасно, и композит — важная составляющая качества.
Есть проблемы — подумайте, не заказать ли вам аудит качества сайта.

Как понять, «на композите» сайт или нет?

Долгий и правильный способ — изучение лог-файлов. Покажем простой.

Откройте браузер Chrome в режиме «инкогнито», нажмите F12 и откройте вкладку Network. Обновите страницу сайта несколько раз. Если вы видите 304 Not modified в колонке Status у первой строки — html-документа, то все работает.

Что увидит робот поисковой системы при открытии сайта «с композитом»?

Все будет хорошо. Робот увидит полноценную страницу с последней версией закешированного html-кода. И увидит он ее очень быстро. Сервер не будет напрягаться, и вы не напрягайтесь.

Как сайт перевести на композит?

comp_composite.png

Это займет от 5 до 50 часов работы. Обратитесь к партнеру с полученной и подтвержденной компетенцией .

Композитный сайт 1C-Битрикс

Композитный сайт является результатом совмещения технологии html-кеширования и ajax-подгрузки информации, произведенного компанией 1С-Битрикс. Включение этой технологии приводит к тому, что сайт становится быстрым и удобным в использовании.

Рассмотрим преимущества технологии:

  • Удобство для пользователей сайта. С композитом сайт будет открываться в десятки и даже сотни раз быстрее, что уменьшит количество отказов.
  • Улучшенное ранжирование в поисковой системе. Композит увеличивает шансы попасть сайту в топ результатов поисковой системы Яндекса и Гугла.
  • Улучшение конверсии. Проще говоря, сайт начинает “летать”, что доставляет удобство перемещения по сайту и увеличивает конверсию.

Технология «Композитный сайт” доступна на любой из имеющихся редакций 1С-Битрикс: Управление сайтом.

Принцип работы композита

В процессе работы технология разделяет страницы на статическую и динамическую составляющую:

  • Статическая часть кешируется на стороне сервера, сохраняется в браузер пользователя и отдается сразу. Такая страница содержит данные, которые видят все посетители сайта – это информационные страницы, страница с товарами, список новостей, категории товаров на главной и т.п.
  • Динамическая часть подгружается в фоновом режиме после загрузки страницы и также кэшируется браузером. Здесь происходит подгрузка таких данных, как информация пользователя, корзина, цены, баннеры и т.п.

В итоге такого разделения страница загружается практически мгновенно. Пользователю не приходится ждать загрузки. Он сразу увидит содержимое страницы и сможет производить какие-либо действия на странице, а дополнительный фоновый запрос подгрузит динамические данные.

На следующей картинке показано как при помощи технологии “Композитный сайт” можно ускорить открытие сайта.

Подробно о том, как работает технология «Композитный сайт» написано на официальном сайте Битрикс.

Нужен ли композитный режим?

Композитный сайт будет полезен для сайта любой сложности и направленности. Если сайт простой и достаточно быстро отдает страницу, то нет необходимости делать его еще быстрее. В другом случае, композитный сайт полезен, особенно, если на сайте имеются тяжелые элементы и изображения.

Как включить композит?

Процедуру включения и проверки работы композита лучше выполнять на отдельном сайте, чтобы не навредить работе пользователей. Включение композита производится на странице: ваш_сайт/bitrix/admin/composite.php.

Существует два режима работы композита. Для включения композита можно воспользоваться режимом Автокомпозита. Этот режим удобен тем, что для включения не нужно вникать в смысл работы технологии, что-то настраивать и привлекать разработчика. Битрикс сам, в автоматическом режиме, решает какие элементы страницы статические, а какие – динамические. Но иногда он ошибается и его нужно проверить.

Для проверки работы композита существует плагин для Google Chrome Bitrix Composite Notifier. С его помощью можно быстро понять работает композит или нет. Если композитный кэш работает на странице, то значок плагина загорится зеленым цветом.

Второй способ проверки – через отладочную панель браузера «Network» с фильтром по «Doc» (как на скриншоте ниже).

Инструкция по настройке Композита

«Композитный сайт» — это технология, запатентованная компанией 1С Битрикс. Принцип ее работы: выдавать пользователю страницу из быстрого(html) кэша и при загрузке обновлять нужные блоки асинхронными запросами(ajax).

Цель композитного кэширования — ускорение работы сайта. Скорость открытия страниц важна для пользователя и для сканирования веб-ресурса поисковыми роботами яндекса и гугла.

1. Делаем настройки в админке

Включить Композит

В административном режиме переходим на страницу настроек Композитного сайта: Настройки -> Настройки продукта -> Композитный сайт
Включаем кнопку Композит.

Включить Композит

Устанавливаем значения полей:
Хранить кеш: можно оставить в файлах

Список доменных имен (каждое в новой строке): укажите свой домен, если настроена многосайтовость, то несколько доменов.

Маска включения: *.php;*.html;*/;* — указываем, что кэшировать будем все url, которые заканчиваются на «.php», «.html» или «/».

Маска исключения: не все страницы нужно композитить, это касается служебных страниц и страниц с ограниченным доступом. Если они попадут в кэш, то будут доступны всем, поэтому указываем страницы-исключения.

Сохранять на диск только страницы без параметров: если кэшировать страницы с параметрами — нужно выделять большый объем памяти под файлы кэша, т.к адресов с get-параметрами может быть много, их генерируют фильтры, сортировка, постраничная навигация и т.д. Если у вас есть несколько свободных гигов, можно не ставить галочку.

Дисковая квота (мегабайт): в зависимости от проекта, можно поставить 100 или 100000 мегабайт; для среднего магазина на 3-4 тысячи товаров достаточно 5Гб. Если вы установите меньшую квоту чем требуется, файлы композитного кэша не будут сохраняться после превышения квоты.

2. Включаем логи

Вторым шагом включим константы в /bitrix/php_interface/dbconn.php, они нам потребуются для отладки, в файле log.txt будут сохраняться записи об ошибках и успешном создании композитного кэша страницы.
Для этого переходим: Контент -> Структура сайта -> Файлы и папки -> bitrix -> php_interface .
Находим файл dbconn.php и нажимаем Редактировать как PHP
Далее устанавливаем в конце файла эти две сточки:

define( "BX_COMPOSITE_DEBUG", true ); define( "LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/log.txt" );

3. Настройка компонентов

Теперь самое интересное. Компоненты сайта будем делить на статические и динамические.
Статические — которые выдают одинаковый код для любого пользователя. Например, это может быть меню каталога (bitrix:menu), список разделов(catalog.section.list), список новостей(news.list), детальная страница новости(news.detail) и т.д

Для таких компонентов, в шаблонах, после объявления пролога включаем композит:

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $this->setFrameMode(true);

В метод setFrameMode можно передать true или false, соответственно включить и отключить композит.

Динамические компоненты нужно обновлять для каждого пользователя. К таким компонентам относятся малая корзина(bitrix:sale.basket.basket.line) или форма авторизации(bitrix:system.auth.form). Если, к примеру, мы не обновим блок корзины, то он выдаст нам информацию из кэша. А зачем пользователю чужая корзина? Для шаблонов динамических компонентов код выглядит так:

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $this->setFrameMode(true); $this->createFrame()->begin('');

Теперь, если мы хотим кэшировать компоненту, но не полностью, а частично, например, хотим обновлять цены в списке элементов (bitrix:catalog.section)

 
$frame = $this->createFrame('price-index', false)->begin() echo $arFields[PRICES][BASE][PRINT_VALUE_VAT]; $frame->beginStub() echo 'руб.'; $frame->end()

, тогда при загрузке сайта пользователь увидит
, а после обновления асинхронным запросом увидит то, что возвращает

echo $arFields[PRICES][BASE][PRINT_VALUE_VAT];

Если нам нужно закэшировать часть кода вне компоненты, например, в шаблоне сайта, используем такой код:

\Bitrix\Main\Page\Frame::getInstance()->startDynamicWithID("user-block"); if( !$GLOBALS["USER"]->IsAuthorized() )< echo 'Авторизация'; >else< echo 'Мой профиль'; > \Bitrix\Main\Page\Frame::getInstance()->finishDynamicWithID("user-block", "");

В большинстве случаев, для настройки «Композитного сайта» этого достаточно.

Также можно применить:

6. Используем кэш браузера. Подгружает статику с прошлого хита (для малой корзины) $frame=$this->createFrame()->begin(''); $frame->setBrowserStorage(true); 7. Использование анимации для баннера (плавное появление контента) 
$frame = $this->createFrame('top_banner')->begin(''); $frame->setAnimation(true);

Когда вы установите для всех шаблонов компонентов настройки для композита, можно проверить страницу. Для этого откройте ее в браузере под не авторизованным пользователем и посмотрите: в подвале должен появиться баннер «Быстро с 1С Битрикс».
Если такой баннер не появился, то смотрим файл логов, он находится в корне сайта и называется log.txt.
В нем будут указаны компоненты, для которых не настроено композитное кэширование.

Если все-таки у вас возникнут проблемы с настройкой Композитного сайта — обращайтесь, помогу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *