Last-Modified и If-Modified-Since

Last-Modified и If-Modified-Since

09.12.2016

Правильная настройка заголовка сервера Last-Modified позволит существенно снизить нагрузку на сервер - примерно на 25-30%. Дополнительным положительным эффектом является ускорение индексации сайта, т.к. поисковый робот не ходит по тем страницам, содержание которых не изменилось, а это важно для успешного продвижения сайта.

Важное значение имеет настройка кода ответа 304 Not Modified - именно он сообщает поисковому роботу при запросе If-Modified-Since, что контент страницы не изменился.

Для чего это нужно

Настройка заголовка Last-Modified очень важна для корректной индексации сайта, особенно это необходимо для больших сайтов, на которых более 10 тысяч страниц. В рекомендациях поисковых систем содержится прямое указание на необходимость настройка данного заголовка: Яндекс - ссылка, Googlу - ссылка в разделе общих рекомендаций.

Заголовок Last-Modified банально содержит указание даты и времени последнего изменения страницы. Любая современная CMS сохраняет дату последнего редактирования файла или записи в базе данных. Если контент на странице часто обновляется, то поисковый робот будет часто заходить на данную страницу и сканировать ее содержимое. Отсутствие корректной настройки ответа сервера вынуждает поисковый робот каждый раз с нуля сканировать содержимое страниц. Для каждого сайта выделяется определенный краулинговый бюджет - количество страниц, которые робот может обойти за раз. И тут может случится ситуация, когда поисковый робот просто не успел дойти до новых страниц на сайте, т.к. просканировал заново те страницы, которые не изменялись. В итоге поисковый робот позже доберется до нового контента.

Данная настройка также влияет на живых посетителей сайта - при настроенном 304 Not Modified сервер загрузит страницу из кеша, что значительно снизит нагрузку на сервер. Настройка 304 Not Modified позволяет не создавать заново страницу сервером, а просто отдавать её закешированную версию.

Заголовок If-Modified-Since

Поисковые роботы при сканировании уже известных страниц посылают заголовок If-Modified-Since - данный заголовок содержит время последнего посещения страницы поисковым роботом. На сервере происходит обработка запроса - сравнение времени последнего посещения поисковым роботом с временем последнего изменения страницы. При отсутствии изменений сервер должен вернуть ответ 304 Not Modified и не производить повторную передачу данных. Поисковый робот получив 304 Not Modified не расходует краулинговый бюджет на данную страницу и переходит к другим страницам на сайте.

Благодаря такой настройке снижается нагрузка на сервер и освобожденные ресурсы позволят ускорить загрузку страниц - еще один дополнительный эффект.

Проверка работы

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