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

Проверка и настройка заголовка Last Modified

Все способы проверить и установить заголовок Last Modified: с помощью кэширования, без плагина, отдельным WordPress модулем и плагином Clearfy Pro.

Проверьте работу Last-Modified и 304 Not Modified на вашем сайте онлайн.

Что такое заголовок Last Modified?

Один из HTTP-заголовков, который содержит в себе дату последнего изменения страницы. Данный заголовок отправляется сервером и не виден посетителям.

Пример заголовков, которые отправляет сервер, среди которых есть Last-Modified.

Предположим, посетитель просматривает статью на вашем блоге, которая в заголовках отдала ласт модифай. Браузер увидев заголовок сохраняет в кеш данную страницу (код HTML, изображения, таблицы стилей CSS).

Когда посетитель повторно откроет страницу, сервер хостинга проверит, обновлялась ли она с последнего посещения пользователем. Если изменений нет, то браузер посетителя получит ответ «304 не изменено» и выдаст на экран ранее сохраненные данные из локального кэша.

Этот заголовок работает в паре с If Modified Since, что это и какие преимущества дает ниже.

Что такое If Modified Since?

Это заголовок, который спрашивает ваш сервер, изменилась ли страница за это время?

Поисковая система или браузер посылают повторный запрос на ваш сайт с HTTP заголовком If-Modified-Since , в котором указывают метку времени. После этого ресурс должен проверить, менялась ли страница за это время и дать ответ.

  • 304 Not Modified , если страница не менялась и завершить вывод.
  • 200 ОК , если страница менялась и показать свежую версию страницы.

Что это дает?

✅ Снижение нагрузки на сервер.

Когда возвращается ответ 304, сама страница не загружается. Условно мы говорим — страница не менялась, возьмите ту, что у вас уже сохранена.

Браузер выдаст страницу из кеша, а поисковик пойдет на другие страницы. Ваш сервер не будет делать запросов к базам данных, не будет генерировать страницы. Это особенно актуально для посещаемых ресурсов.

✅ Ускорение индексации сайта.

Когда поисковой робот Яндекс или Google приходит на сайт и получает ответ 304 Not Modified на заголовок If-Modified-Since — он пропускает эту страницу и переходит к следующей.

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

Источник

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

Зачем настраивать заголовок Last-Modified. Давайте попробуем максимально быстро и просто разобраться с настройкой заголовка Last-Modified.

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

Цель этого заголовка — сообщить клиенту (браузеру или поисковику) информацию о последних изменениях конкретной страницы. Клиент передает серверу заголовок If-Modified-Since. Если изменений на странице не обнаружено, то от сервера возвращается заголовок «304 Not Modified». При этом страница не загружается.

Если же изменения вносились, то это будет учтено, и сервер вернет заголовок «200 OK» (страница загрузится с обновленным содержимым).

Корректная настройка Last-Modified дает следующие преимущества:

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

Почему же роботы быстрее индексируют сайты с настроенным Last-Modified?

Ответ прост: если на сайте было изменено всего 20 страниц, то роботу не нужно индексировать все 500 в поисках нового контента, поскольку Last-Modified укажет страницы с изменениями.

Читайте также:  Как настроить роутер netis wf2411e пошаговая инструкция

Но это указание является рекомендательным, как и sitemap.xml, поэтому робот вначале проиндексирует обновленные страницы, а затем — все остальные.

Last-Modified особенно важен для ресурсов с большим количеством страниц, ведь на обход каждого сайта роботу отводится ограниченное количество времени, и он может не успеть дойти до нужных страниц.

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

Для начала необходимо проверить, настроен ли у вас этот заголовок. Для этого можно использовать сервисы varvy.com, last-modified.com или tools.seo-auditor.com.ru. Если проверка показала отсутствие заголовка, то следует приступить к его настройке.

Если у вас статический сайт, то для каждой страницы необходимо прописать код, который вы видите на экране:

После каждого изменения содержимого вручную изменяем дату в коде. И что, каждый раз так, спросите вы меня? Да, если сайт статический.

Если сайт динамический, то используем настройку в PHP. Часто встречается вот такой код:

header(«Last-Modified: » . date(‘r’,strtotime($post->post_modified)))

Его необходимо добавить в header.php. Но он будет работать только для записей и страниц и не будет срабатывать на главной. Также он недействителен для таксономий, архивов и учета новых комментариев.

В связи с этим рекомендуется использовать следующий код:

header ($_SERVER[‘SERVER_PROTOCOL’] . ‘ 304 Not Modified’);

exit;

header(‘Last-Modified: ‘ . $LastModified);

Также можно настроить заголовок, прописав две строки в файле .htaccess:

RewriteRule .* — [E=HTTP_IF_MODIFIED_SINCE:%]

RewriteRule .* — [E=HTTP_IF_NONE_MATCH:%]

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

Чтобы не прописывать коды, можно использовать готовые решения для настройки Last-Modified. Например, для CMS WordPress есть плагины Clearfy и Last Modified Timestamp. Настройку можно выполнить с помощью плагина WP Super Cache. Для этого в расширенных настройках активируйте пункт «Ошибка 304» (поддержка ответа 304 отключена по умолчанию, так как на некоторых хостингах могут возникать проблемы). Для других CMS также существуют свои плагины, ну или в крайнем случае, можно заказать плагин у программиста.

Следует понимать, что настройка Last-Modified не всегда полезна (например, когда на каждой странице установлен «сквозной» блок информации с регулярно меняющимся контентом одинакового содержания). В этом случае поисковики могут перестать воспринимать информацию как новую и станут реже посещать ваш сайт.

В остальных случаях, настроив Last-Modified, вы получаете:

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

Источник

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

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

Кстати, нет ничего обиднее, чем пЕрЕплАтИть при покупке 🤦🏻‍♂️ Поэтому ОЧЕНЬ рекомендую подписаться на канал в Телеграм 👉🏻Промокоды для Алиэкспресс👈🏻 Постоянно узнавая про новые акции 🔥 на разные товары, вы точно НИКОДА не переплатите 👌🏻

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

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

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

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

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

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

Читайте также:  Kia ceed jd не работает кондиционер драйв

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

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

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

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

Да, у парня из ТОПа по этому запросу 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 в этой конфигурации нормально. Может мне отказаться от ngnix в пользу apache? Сервер у меня нормальный, а посещаемость на фантастическая. Может попробовать?
Ну а чтобы просто так не сидеть, а напрячь еще и вас, читатели, решил пока опубликовать этот пост, может вы знаете, как включить last-modified в моем случае?

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

На днях купил себе отличный плагин — [urlspan]ZMSEO[/urlspan], стоит не дешево, но польза от него просто ОГРОМНАЯ. Вот от меня читать дальше.

Название сайта в title — это совершенно бесполезно занятое место в самом важном теге не сайте. Если ваш сайт ОЧЕНЬ читать дальше.

Очень долгое время я не использовал метки, и даже закрывал их в robots.txt, так как если их неумело использовать, то читать дальше.

WordPress — отличный движок для сайта, но он чем-то напоминает мне Windows: без настройки и установки дополнительного ПО к использованию читать дальше.

Источник

Главное о Last-Modified: что это, как настроить и проверить

В статье:

Продолжаем разбирать базу: на очереди смысл заголовка Last-modified и что с ним делать веб-мастеру.

Last-modified — что это

Last-modified — это http-заголовок с датой и временем последнего изменения страницы по мнению сервера. Шаблон такой:

Last-Modified: Wed, 21 Oct 2020 09:48:00 GMT

Это необязательный для заполнения заголовок. Но боты смотрят на заголовок Last-modified, когда индексируют страницу, чтобы понимать, есть ли смысл посещать ее повторно.

Читайте также:  Сварис 200 комби полуавтомат как настроить

Как это работает:

При первом запросе документа сервер сообщает текущее время и дату с точным временем последнего изменения документа в http-заголовке Last-Modified.

При повторном обращении к документу бот или браузер отправят на сервер, где лежит кэшированная страница, запрос If-Modified-Since — не изменилась ли страница после даты, полученной в Last-Modified? Если изменилась, нужна новая версия.

В ответ боты и браузер получают информацию, когда страницу изменили. Дальше возможны два варианта:

если после посещения бота на странице что-то поменяли, сервер возвратит 200 ОК и будет загружать новое содержимое страницы, а робот поймет, что ему нужно обработать изменения;

если с последнего посещения страница не изменилась, сервер возвращает заголовок «304 Not Modified» и не будет загружать сайт. Страница загрузится из кэша, боты поймут, что изменений нет, и переобходить ее не будут.

Чем полезен Last-modified

Яндекс советует настроить отправку заголовка Last-Modified и обработку запроса If-Modified-Since:

«Следите за корректностью HTTP-заголовков. В частности, важно содержание ответа, который сервер отдает на запрос «if-modified-since». Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа». Яндекс.Справка

Чем это полезно для сайта:

Сократить нагрузку роботам — ускорить индексацию

Число страниц, которые поисковый робот может проанализировать за один заход, ограничено. Last-modified позволяет оптимизировать краулинговый бюджет сайта.

Поисковые боты благодаря датам изменений контента могут расставить приоритеты в обходе: начать с важных страниц, где что-то изменилось. Это повысит индексацию новых материалов.

Отобразить новую дату материала

Если веб-мастер указал дату в корректном формате, страницы сайта будут участвовать в сортировке по датам в выдаче. Поисковики и пользователи любят свежие материалы: выше шанс, что информация будет актуальной. Указывать даты последних изменений на страницах крупных сайтов советует и представитель Google Джон Мюллер.

Ускорить загрузку и сэкономить трафик

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

Снизить нагрузку на сервер

Серверу нужно будет передавать пользователю только те страницы, где что-то обновили. Если изменений не было, в дело пойдут версии из кэша.

Особенно это важно страницам с высокой посещаемостью некоторых тематик. Например, пользователь ждет письмо, обновление результатов матча или появление новых вакансий и постоянно обновляет обновлять страницу. Если таких пользователей много, возрастет нагрузка на сервер из-за постоянных запросов страницы и ее отрисовки. Если правильно настроить Last-Modified, сервер передаст страницу один раз, и пока на ней ничего не изменилось, на запросы будет отвечать «304 Not Modified» — изменений нет, повторно загружать не надо.

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

Перед настройкой Last Modified нужно убедиться, что ваш сервер вообще его поддерживает.

Настройка Last-modified через плагины или вручную

У популярных CMS есть готовые решения, к примеру:

Часто для того же результата достаточно реализованного кэширования на CMS.

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

Если динамическая, то есть постоянно обновляется, можно настроить отправку http-заголовка Last-Modified на php, добавив в head страницы код:

Первая строка преобразует дату в метку в формате Unix Time Stamp, используя время изменения текущей страницы, которое определяет автоматически.

Функция gmdate возвращает текущее время в формате , : : GMT.

Дальше проверяем If-Modified-Since, если изменений нет — отдаем 304 Not Modified и останавливаем работу скрипта, если есть — ответ сервера 200 ОК, отдаем страницу целиком.

Как указать дату правильно

Если указать дату обновления некорректно, боты все равно проиндексируют страницу, но она не сможет участвовать в сортировке результатов по дате.

Порядок должен быть таким, используется GMT — время по Гринвичу:

Как проверить Last-Modified

У PR-CY есть бесплатный инструмент, позволяющий взглянуть на сайт глазами поискового робота. Если Last-Modified есть, инструмент его покажет:

Проверка страницы в сервисе PR-CY

В панели Яндекс.Вебмастера есть инструмент «Проверка ответа сервера»:

Проверка ответа сервера

Сервер будет отдавать 304 Not Modified в случае, когда страница не изменилась с последнего посещения, и 200 ОК, если на ней что-то меняли.

Вы используете Last-Modified, видите в нем смысл? Расскажите в комментариях!

Источник

Оцените статью