Разбираемся в смысле заголовка Last-modified: что с ним делать веб-мастеру?
Last-modified — это http-заголовок с датой и временем последнего изменения страницы по мнению сервера. Шаблон такой:
Last-Modified: <день недели>, <число> <название месяца> <год> <час>:<минута>:<секунда> GMT
К примеру:
Last-Modified: Wed, 21 Oct 2020 09:48:00 GMT
Это необязательный для заполнения заголовок. Но боты смотрят на заголовок Last-modified, когда индексируют страницу, чтобы понимать, есть ли смысл посещать ее повторно.
Как это работает:
Яндекс советует настроить отправку заголовка Last-Modified и обработку запроса If-Modified-Since:
«Следите за корректностью HTTP-заголовков. В частности, важно содержание ответа, который сервер отдает на запрос «if-modified-since». Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа».
Чем это полезно для сайта:
Число страниц, которые поисковый робот может проанализировать за один заход, ограничено. Last-modified позволяет оптимизировать краулинговый бюджет сайта.
Поисковые боты благодаря датам изменений контента могут расставить приоритеты в обходе: начать с важных страниц, где что-то изменилось. Это повысит индексацию новых материалов.
Если веб-мастер указал дату в корректном формате, страницы сайта будут участвовать в сортировке по датам в выдаче. Поисковики и пользователи любят свежие материалы: выше шанс, что информация будет актуальной. Указывать даты последних изменений на страницах крупных сайтов советует и представитель Google Джон Мюллер.
Пользователю не нужно каждый раз заново загружать страницу, если есть кэш. Страницы, которые никак не поменялись с последнего обращения, загрузятся из кэша — это позволит сэкономить трафик пользователей и ускорить загрузку страницы.
Серверу нужно будет передавать пользователю только те страницы, где что-то обновили. Если изменений не было, в дело пойдут версии из кэша.
Особенно это важно страницам с высокой посещаемостью некоторых тематик. Например, пользователь ждет письмо, обновление результатов матча или появление новых вакансий и постоянно обновляет обновлять страницу. Если таких пользователей много, возрастет нагрузка на сервер из-за постоянных запросов страницы и ее отрисовки.
Если правильно настроить Last-Modified, сервер передаст страницу один раз, и пока на ней ничего не изменилось, на запросы будет отвечать «304 Not Modified» — изменений нет, повторно загружать не надо.
Подписывайтесь на наш ВК и Телеграм, чтобы узнавать последние новости SEO и подсматривать новые фишки продвижения.
Перед настройкой Last Modified нужно убедиться, что ваш сервер вообще его поддерживает.
У популярных CMS есть готовые решения, к примеру:
Часто для того же результата достаточно реализованного кэширования на CMS.
Если сайт статический, достаточно на каждой странице указать Last-Modified с датой последнего изменения. А после обновлений менять дату вручную.
<meta http-equiv="Last-Modified" content="Sat, 14 Feb 2021 12:45:26 GMT">
Если динамическая, то есть постоянно обновляется, можно настроить отправку http-заголовка Last-Modified на php, добавив в head страницы код:
Первая строка преобразует дату в метку в формате Unix Time Stamp, используя время изменения текущей страницы, которое определяет автоматически.
Функция gmdate возвращает текущее время в формате <день недели>, <число> <название месяца> <год> <час>:<минута>:<секунда> GMT.
Дальше проверяем If-Modified-Since, если изменений нет — отдаем 304 Not Modified и останавливаем работу скрипта, если есть — ответ сервера 200 ОК, отдаем страницу целиком.
Если указать дату обновления некорректно, боты все равно проиндексируют страницу, но она не сможет участвовать в сортировке результатов по дате.
Порядок должен быть таким, используется GMT — время по Гринвичу:
Last-Modified: <день недели>, <число> <название месяца> <год> <час>:<минута>:<секунда> GMT
Есть бесплатный инструмент, который позволяет взглянуть на сайт глазами поискового робота. Если Last-Modified есть, инструмент его покажет:
Вы используете Last-Modified, видите в нем смысл? Расскажите в комментариях!