X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Настройка if-modified-since и last-modified — давайте разбираться
sosnovskij
sosnovskij
Topic Starter сообщение 7.4.2017, 16:06; Ответить: sosnovskij
Сообщение #1


Сейчас задался вопросом настройки http-заголовков if-modified-since и last-modified. Нашел в интернете много информации, которая либо устарела, либо некорректно преподнесена, либо просто не работает. 

Итак, задача правильно настроить отдачу if-modified-since и last-modified. Это http-заголовки, которые отвечают за дату последнего изменения страницы. Они полезны для индексации сайта (делают ее более быстрой, полной и менее загружают сервер - особенно актуально для больших проектов). Настраивать эти заголовки советует как Яндекс, так и Google.

Это настройка производиться на самом сервере или в файлах сайта? Встречал разные варианты для .htaccess, код, которые нужно вставить в тег head и так далее. Но все это не работало. 

Давайте разбираться с темой и настраивать эти заголовки у себя на сайтах!? :)


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 7.4.2017, 16:22; Ответить: ShowPrint
Сообщение #2


Сереж, я года полтора назад задавался этим вопросом и у себя ставлю last-midified и expires в коде сайта. Первый отдает реальную дату последнего изменения на странице, второй - ко какого момента при повторном посещении пользователем считать страницу актуальной и брать её из кеша, а не грузить с сервера. Второй для себя устанавливаю "здесь/сейчас"+сутки, т.к. я практически ежедневно что-то меняю во внутренней оптимизации, поэтому на данном этапе предполагаю что через сутки в коде/стилях может что-то поменяться и народ увидит "неактуальную картину"

Относительно if-modified-since как-то никогда не заморачивался - почитаем что народ напишет ;)

UPD: отрыл в истории
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sosnovskij
sosnovskij
Topic Starter сообщение 7.4.2017, 17:17; Ответить: sosnovskij
Сообщение #3


ShowPrint, google говорит именно про If-Modified-Since :) https://support.google.com/webmasters/answer/35769

Убедитесь, что ваш веб-сервер поддерживает HTTP-заголовок If-Modified-Since. С его помощью Google может узнать, изменился ли контент сайта с момента последнего сканирования. Эта функция помогает сократить лишнюю нагрузку на сервер.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 7.4.2017, 17:38; Ответить: ShowPrint
Сообщение #4


Sosnovskij, значит будем разбираться с ним и добавим ещё один заголовок )))

Возникает вопрос: зачем ему куча дублей информации? Конкретно эта в полном объеме лежит в sitemap.xml  :D
Читай и сравнивай со временем последнего сканирования, нет ему очередной "головняк" хочется создать =)
Кммм... Судя по "здесь" if-modified-since прилетает со стороны клиента на сервер и задача сервера отдать ему правильный last-modified... Нэ?  :rolleyes:


Сообщение отредактировал ShowPrint - 7.4.2017, 17:28
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 7.4.2017, 18:25; Ответить: ShowPrint
Сообщение #5


Аха!!! Получается в идеале сайт должен отдавать 304... Примеры настроек насерфил тут, буду пробовать... Продолжаем разбираться... =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sosnovskij
sosnovskij
Topic Starter сообщение 7.4.2017, 18:27; Ответить: sosnovskij
Сообщение #6


ShowPrint, да. Контент не изменен - 304, изменен - 202.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 7.4.2017, 18:31; Ответить: ShowPrint
Сообщение #7


Sosnovskij, в примере по ссылке выше походу реализуется вариант: не изменен - 304, изменен - ничего (то есть грузим)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 7.4.2017, 18:50; Ответить: ShowPrint
Сообщение #8


Sosnovskij, протестировал в локалке установку в php следующего кода:

// Ранее в коде определялась дата последнего изменения и и заносилась в $_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){header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified');exit;}
header("Last-modified: ".gmdate('D, d M Y H:i:s \G\M\T',$_LastModified));

Возвращает 304, до этого возвращал 200  ;)

UPD: Закачал на сервер, проверил через Я-"проверку ответа сервера" - работает ;)


Сообщение отредактировал ShowPrint - 7.4.2017, 19:00
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sosnovskij
sosnovskij
Topic Starter сообщение 8.4.2017, 12:09; Ответить: sosnovskij
Сообщение #9


ShowPrint, это в шаблон сайта вставляется?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ShowPrint
ShowPrint
сообщение 8.4.2017, 15:28; Ответить: ShowPrint
Сообщение #10


Sosnovskij, ну я рукоблудник же, не знакомый с движками
По идее это надо вставить в шаблон, в самый-самый верх, даже до вывода доктайпа (иначе header не будет работать).
И ещё дату в $_LastModified занести, чтоб было с чем сравнивать. В своем коде я сравниваю даты изменения всех частей и беру самую свежую, в движке может надо как-то по другому, не знаю. Дата должна быть в формате unix-метки.

Сори если непонятно, с телефона...

Почистите, плз...

Кстати, ответ с мобильного отправляется частично. Пришлось в полный режим перейти.


Сообщение отредактировал Sosnovskij - 10.4.2017, 10:35
Причина редактирования: убрал чуток дублей по просьбе
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Давайте обсудим качество in-page push трафика
0 Boymaster 462 16.4.2024, 22:47
автор: Boymaster
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКомплексное продвижение в соцсетях: аудит, оформление, ведение и настройка рекламных кампаний.
Качественно и по вкусным ценам.
91 WildWeb8 62744 17.1.2024, 13:04
автор: WildWeb8
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНастройка яндекс директ рекламы БЕЗ РАСХОДОВ БЮДЖЕТА
Количество продаж будет ОГРАНИЧЕННО!
21 ITstaf 4258 7.11.2022, 16:31
автор: ITstaf
Открытая тема (нет новых ответов) Профессиональная настройка Яндекс Директ и Google Ads
1 Irina090 1245 24.9.2022, 22:44
автор: alex2211
Открытая тема (нет новых ответов) Настройка и ведение контекстной рекламы Google Ads и Яндекс.Директ «под ключ»
7 KKO 7935 8.7.2021, 12:04
автор: KKO


 



RSS Текстовая версия Сейчас: 19.4.2024, 11:02
Дизайн