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


Свернуть

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

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


 



RSS Текстовая версия Сейчас: 24.4.2024, 3:50
Дизайн