Как правильно настроить Last-Modified

Last-Modified

Что такое Last-Modified?

Назначение заголовка Last-Modified - это сообщить клиенту (браузеру или поисковому роботу) информацию о последних изменениях конкретной запрашиваемой страницы.

Зачем настраивать заголовок Last-Modified?

Первый раз, обратившись к адресу страницы, клиент получает заголовок Last-Modified. При вторичном обращении к адресу этой страницы он добавит вопрос If-Modified-Since, что означает не изменялась ли страница после даты, присвоения заголовка Last-Modified. Сервер, получив запрос If-Modified-Since, сверит метку даты с последнего изменения страницы и, если страница не изменялась, то он отдаст ответ "304 Not Modified". Если изменения вносились на страницу сайта, то это будет учтено, и сервер вернет заголовок "200 OK", и страница загрузится с обновленной информацией.

Если заголовок Last-Modified не настроен, то поисковый робот будет производить индексацию всех страниц сайта снова и снова при каждом своем посещении, что может привести:

  1. Увеличиться нагрузка на сервер;
  2. Так как поисковый робот имеет лимит на количество индексируемых страниц на посещение, то может не дойти до страницы с обновлённой информацией или новой страницы.

Преимущества настройки заголовка Last-Modified:

  • ускоряетcя индексация сайта;
  • снижается нагрузка на сервер;
  • ускоряется загрузка страниц для пользователей;
  • в результатах поиска отображается дата последнего обновления содержимого страницы;
  • страницы при сортировке в поисковике по дате занимают более высокие позиции.

Как проверить настройку заголовка Last-Modified

Проверить настройку заголовка Last-Modified можно на сайте https://last-modified.com/

проверить Last-Modified
Положительная проверка заголовка Last-Modified

Как настроить заголовок Last-Modified

1. Если у Вас сайт статический, то для каждой страницы прописываем данный код:
<meta http-equiv="Last-Modified" content="Sun, 25 Sep 2016 17:01:28 GTM">
После каждого изменения информации на странице сайта необходимо будет вручную изменять дату в коде.

2. Если сайт динамический, то прописываем данный код, который нужно добавить в header.php
<?php
$LastModified_unix = 1294844676;
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
exit;
}
header('Last-Modified: '. $LastModified);
?>

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

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

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