Яндекс и Last Modified

12
S
На сайте с 19.07.2005
Offline
19
#11

А как это? Что нужно писать?

C
На сайте с 19.09.2001
Offline
120
#12

Так, расскажу, как я делал в свое время.

Для меня дата изменения документа имела значение только в разрезе ускорения индексации сайта с большим количеством страниц. Это когда еще у Яндекса была квота в 500 страниц с сайта за один раз.

Когда робот второй и последующие разы запрашивает уже известный ему документ, в запросе присутствует заголовок If-Modified-Since c датой, когда робот последний раз запрашивал этот документ. Если документ изменялся, я выдавал 200 Ok + Last-Modified с реальной датой изменения документа, если же документ не изменялся – выдавал 304 Not Modified и все.

В этом случае в результатах Яндекса для всех этих документов дата отображается. Сейчас, если много страниц индексировать не надо, то я даже с Last-Modified не заморачиваюсь.

ИМХО, робот на Last-Modified особого внимания и не обращает. А то дата изменения документа каждый раз свежая, а документ ни на байт не изменяется. Робот ведь тоже не совсем тупой!

:)

С уважением, Владимир Чернышов. (не)?путевые заметки (http://chernyshov.kiev.ua/)
[Удален]
#13

А, ну так и подумал. Просто надо яснее выражатся. Если просто выдавать текущий lm, без всяких обработок ims, то он все равно будет выводится. А про ims это уже совершенно другая задача.

P
На сайте с 14.09.2004
Offline
91
#14

кстати, интересная ситуёвина, сайт обновляется, LM отдаётся всё время текущая дата (только секунды == 00), яндекс продолжает индексировать/обновлять страницы, но дату не обновляет, остановился на каком-то месте и всё... по ходу обработка IMS у него запустилась в конце прошлого года.

Технология высокого Пхица / High Pkhits Technology
RT
На сайте с 10.07.2005
Offline
10
#15

ВО! ПО-МОЕМУ НАШЕЛ:

header("Last-Modified: " . gmdate("D, d M Y H:i:s",filemtime(str_replace("/","",$_SERVER['PHP_SELF']))." GMT");

Выдает дату того php-шника, в котором находится.

ИЛИ ВОТ:

// #### Start headers #####

if ($addheaders AND !$noheader) {

// default headers ***********

@header("HTTP/1.0 200 OK");

@header("HTTP/1.1 200 OK");

@header("Content-type: text/html");

}

if ($nocacheheaders AND !$noheader) {

// no caching ***************

// @header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

if ($lastmod == 1) {

@header("Last-Modified: " . date("D, d M Y H:i:s") . "GMT"); // always modified

} else {

@header("Last-Modified: " . date("D, d M Y H:i:s", $datelastmod) . "GMT");

}

@header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

@header("Pragma: no-cache"); // HTTP/1.0

}

Что скажут профы сего форума? Что ударит в голову Я после этого и что удачнее всего?

M
На сайте с 18.06.2005
Offline
8
#16

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Pragma: no-cache"); // HTTP/1.0

@header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime("header.html"))." GMT");

Можно и так. Т.е. берем дату время какого-нибудь файла и все...

Вот только вопрос, не просечет ли это поисковик.

D
На сайте с 22.02.2005
Offline
117
#17

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

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий