Как настроить last-modified?

Вот не было у меня печали, пока не установил себе сегодня плагин Seo Scan. Хороший плагин, который показывает, что может не понравиться google в вашем сайте и сервере. И мой сайт кое в чем не понравился точно — это отсутствие last-modified.

Немного теории, сам только сегодня про это узнал. Last-modified — это http заголовок, который посылает сигнал о том, были ли на такой-то странице изменения или нет, посылая ответ If-Modified-Since с кодом 304. Как то так…

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

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

Как видите, минусов много, и в первую очередь — это не очень шустрая индексация и переиндексация сайта. То есть, вы внесли в статью ПОЛЕЗНОЕ изменение, а я их сейчас делаю много каждый день, а Яндекс и Google могут увидеть это только через пару месяцев! Нет, такой хоккей нам не нужен, теперь я разобьюсь в лепешку, а исправлю этот недочет!

Как проверить last-modified?

Проверить можно разными способами, в wordpress самое простое — это установить вышеупомянутый плагин Seo Scan, у меня он выдал такое:

server seo statusСкорость сервера тоже барахлит, но это другая история, потом поковыряюсь и с этим. Можно так же проверить last-modified через сервис с одноименным названием last-modified.com

Проверка If-Modified-SinceКак видите, и тут показывает отсутствие ответа If-Modified-Since — Last Modifed не найден! А можно использовать сервис Яндекса Проверка ответа сервера

Проверка last-modifiedТут тоже самое — Код статуса HTTP: «304 Not Modified» — значит не работает система. Хотя через какое-то время явная ошибка пропала, но код ответа 304 так и не появился.

Сразу стало интересно, а у кого-то хоть это работает? Решил проверить это у тех блогеров, которые сами писали мануалы на эту тему:

Last-Modified найденДа, у парня из ТОПа по этому запросу Last-Modified найден, а значит это возможно и для меня. Кстати, в его статье перечисляются многие способы настройки Last Modified, попробуем и их, хотя я нашел и другие.

Как настроить last-modified?

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

1. Первый способ — установка плагина

Самый простой способ  для тех, у кого WordPress — это установить плагины, для этого предназначенные, например: Add Headers, If Modified Since или If Modified Since Header.

У меня ни один из этих плагинов не дал результата, не знаю почему. Может заработает у вас?

2. Второй способ — PHP код

Сервис last-modified.com, описанный выше, предлагает в файл header.php, в самое начало, поместить такой php код:

Мне это тоже не помогло. Предлагаю так же попробовать разместить его в файле index.php в корне сайта, но мне и это не помогло.

3. Третий способ — запись в .htaccess

Если у вас сервер на Apache, то скорее всего у вас это заработает. Нужно в файл .htaccess в корне сайта вставить код:

У меня не заработало, так как у меня стоит связка Ngnix + Apache и все эти манипуляции с .htaccess чаще всего не срабатывают.
После всех этих мучений подумал: а чего это я один мучаюсь? Напишу как в службу поддержки хостинга, там люди грамотные, может подскажут? Написал, сижу жду.

Пришел ответ от техподдержки:

Всё просто. Страницы вашего сайта генерируются php-скриптами которые не выдают браузеру этот заголовок.
Веб-сервер (nginx) для статических файлов (jpg, gif, css, js и т.д.) выдаёт в заголовке last-modified дату последнего изменения файла. Примеры на скриншотах.
Если у вас нет очень большой посещаемости сайта то кэшировать страницы сайта на стороне браузера нет смысла.

настроить last-modified в этой конфигурации

как включить last-modified в моем случае?В общем, кажется мне не светит настроить last-modified в этой конфигурации нормально. Может мне отказаться от ngnix в пользу apache? Сервер у меня нормальный, а посещаемость на фантастическая. Может попробовать?
Ну а чтобы просто так не сидеть, а напрячь еще и вас, читатели, решил пока опубликовать этот пост, может вы знаете, как включить last-modified в моем случае?

P.S. Решил проблему просто: отключил ngnix, оставил только apache, все заработало, в производительности разницы не заметил.

Оцените статью
Просто Линукс
Добавить комментарий

  1. prostolinux автор

    Поставил плагин Add Headers — он решил все проблемы с этими заголовками.

  2. prostolinux автор

    Поставил плагин Add Headers — он решил все проблемы с этими заголовками.

  3. prostolinux автор

    Очень странно, на одном сайте не срабатывает Presence of Cache-Control key in header — ничего не понимаю! Может тема барахлит?

  4. prostolinux автор

    Очень странно, на одном сайте не срабатывает Presence of Cache-Control key in header — ничего не понимаю! Может тема барахлит?

  5. Миша

    Для WordPress помогают плагины AddHeaders или платный Clearfy, только чтоб Last Modified заработал надо отключить SSI в настройках сайта (мне так сказали).

    Сейчас пробовал сделать заголовок не на wordpress-сайте — приведенный в статье php-код помог.

  6. Миша

    Для WordPress помогают плагины AddHeaders или платный Clearfy, только чтоб Last Modified заработал надо отключить SSI в настройках сайта (мне так сказали).

    Сейчас пробовал сделать заголовок не на wordpress-сайте — приведенный в статье php-код помог.

  7. Константитн

    Аналогично, все перепробовал ничего не помогло. Как только отключил на сервере в настройках www-домена ssi — сразу все заработало.

  8. Константитн

    Аналогично, все перепробовал ничего не помогло. Как только отключил на сервере в настройках www-домена ssi — сразу все заработало.

  9. Алексей

    ну да, только отключение ssi помогает

  10. Алексей

    ну да, только отключение ssi помогает