Категории

BX365: Установка и настройка Last Modified, 304 Not Modified

Описание

Что такое Last-Modified и 304 Not Modified и зачем они вашему сайту

Когда поисковый робот или браузер обращается к странице вашего интернет-магазина, он каждый раз запрашивает полный объём данных: текст, картинки, файлы стилей. Это создаёт лишнюю нагрузку на сервер и тратит трафик. Решение BX365 автоматически добавляет в ответ сервера HTTP-заголовок Last-Modified — метку времени последнего изменения страницы. При повторном визите клиент (робот или браузер) отправляет запрос с заголовком If-Modified-Since: «А не изменилась ли страница после этой даты?» Если содержимое осталось прежним, сервер отвечает коротким кодом 304 Not Modified и прекращает передачу данных. Тело страницы, изображения и другие объекты не загружаются повторно.

Этот механизм напрямую рекомендован поисковыми системами Яндекс и Google в руководствах для вебмастеров. Модуль делает ровно то, что советуют поисковики: помогает им быстрее и эффективнее обходить сайт, не тратя ресурсы на уже известные страницы. В результате индексация новых и изменённых товаров ускоряется, а старые позиции не перепроверяются без необходимости.

Как модуль определяет, изменилась ли страница

В основе работы BX365 лежит простая, но надёжная логика. При каждом обращении к странице модуль извлекает её текстовое содержимое между тегами …, предварительно очищая код от скриптов, стилей и HTML-разметки. Для оставшегося чистого текста вычисляется MD5-хэш — цифровой отпечаток содержимого. Этот хэш сравнивается с тем, что был записан ранее. Если суммы совпадают — документ не изменился, и модуль возвращает старую дату Last-Modified. Если хэш новый — дата обновляется на текущую.

Такой подход позволяет отслеживать изменения не только стандартных полей инфоблоков, но и дополнительных свойств, изображений и файлов. Вы получаете точный учёт всех правок контента без ложных срабатываний. При этом модуль корректно работает со штатным функционалом Битрикса «Устанавливать в заголовках ответа время модификации страницы» — он просто подставляет свою более точную дату вместо системной.

Реальная экономия ресурсов сервера и трафика

Главное практическое преимущество — снижение нагрузки на сервер до 30% и более. Это особенно заметно на сайтах с высокой посещаемостью и длинными пользовательскими сессиями. Когда посетитель переходит между страницами каталога, многие из них уже есть в его локальном кеше. Вместо повторной загрузки всего контента сервер отправляет лишь лёгкий заголовок 304 Not Modified. Экономится процессорное время, память и канал передачи данных.

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

Гибкие настройки под любые сценарии работы

BX365 даёт полный контроль над тем, для каких страниц и пользователей включать механизм Last-Modified. Вы можете полностью отключить модуль одной галочкой или задать список доменов и URL-адресов, где заголовки не нужны. Например, для страниц корзины, авторизации или оформления заказа динамический контент лучше не кешировать — это настраивается в пару кликов.

Также можно исключить определённые группы пользователей (менеджеров, администраторов) или отключить учёт GET-параметров в URL. Для тонкой настройки анализа текста предусмотрены два списка: вы указываете статические HTML-блоки, которые нужно обрабатывать (например, описание товара или характеристики), и динамические блоки, которые следует вырезать (виджет корзины, фильтры, формы обратной связи). Ведение логов в файл /upload/bx365_modified_log.txt поможет отладить работу модуля на старте.

Особенности работы и проверка корректности заголовков

Модуль не обрабатывает запросы к служебным папкам /bitrix/ и /upload/, а также POST-запросы, AJAX и ошибки 404. Это сделано специально, чтобы не мешать штатной работе системы. Если у вас включён композитный режим, работоспособность модуля не гарантируется — учитывайте это при планировании. Для одной и той же страницы с разными GET-параметрами формируются отдельные даты изменения, что логично для фильтров каталога.

Проверить, что заголовки отдаются корректно, можно через сервисы lastmodified.ru или last-modified.com. Если модуль не срабатывает, в комплекте идёт проверочный файл LastModified.php — загрузите его в корень сайта и протестируйте. Когда файл не проходит проверку, проблема на стороне хостинга (возможно, отключена поддержка SSI в ISP-панели). Если файл работает, а заголовки на сайте нет — техническая поддержка автора поможет разобраться через Telegram-бот. Модуль решает конкретную задачу без лишних обещаний: ускорение индексации и снижение нагрузки на сервер за счёт правильной работы с HTTP-заголовками.

Часто задаваемые вопросы

BX365: Установка и настройка Last Modified, 304 Not Modified
3 500 ₽

Характеристики

Версия 1.4.0
Добавлен 08.09.2023
Обновлён 22.10.2024
Установок 100 - 499 раз
Код bx365.modified
Адаптивный Нет
Composite Нет