Обработал If-Modified-Since - не попадаю в апдейты

12 3
И
На сайте с 11.10.2004
Offline
32
2891

~20 июля стал отавать Last-Modified и обрабатывать If-Modified-Since.

Усё, с тех пор ни одного апдейта :( . При этом бот приходит, получает свои законные 304 для старых и 200 для новых страниц. G и Р исправно все индексят и апдейтят. Башку сломал...

Дряхлый кандидат (наук)
C
На сайте с 12.09.2005
Offline
85
#1
Иваныч:
~20 июля стал отавать Last-Modified и обрабатывать If-Modified-Since.
Усё, с тех пор ни одного апдейта :( . При этом бот приходит, получает свои законные 304 для старых и 200 для новых страниц. G и Р исправно все индексят и апдейтят. Башку сломал...

Попробуйте отдавать только Last-Modified, без If-Modified-Since.

У меня работает нормально, все индексируется всеми ботами без проблем, а Last-Modified использую только для удобства наблюдения за переиндексированием.

nickspring
На сайте с 29.03.2006
Offline
228
#2

Иваныч, урл можно?

K
На сайте с 10.03.2004
Offline
254
#3
Иваныч:
~20 июля стал отавать Last-Modified и обрабатывать If-Modified-Since.
Усё, с тех пор ни одного апдейта . При этом бот приходит, получает свои законные 304 для старых и 200 для новых страниц. G и Р исправно все индексят и апдейтят. Башку сломал...

все гораздо проще ИМХО - яндекс последнее время удивительно неповоротлив, думаю и в данном случае все решит время

Белых оптимизаторов, работающих над внешними факторами, не бывает. И да, мой блог (http://blog.skobeeff.ru/).
И
На сайте с 11.10.2004
Offline
32
#4

Неповоротливость и включение обработки - возможно, что и совпадение.

урл не жалко landnn.ru, заодно и верстку облайте :)

скрипт обработки:

$now=time();$headers=getallheaders();$refresh=TRUE;

if(isset($headers["If-Modified-Since"])){

$arraySince=explode(";",$headers["If-Modified-Since"]);

$since=strtotime($arraySince[0]);

if($since>=$lm)$refresh=FALSE;

}

if(!$refresh)header("HTTP/1.1 304 Not changed");

$slm=gmdate("r", $lm);

header("Last-Modified: $slm");

header("Expires: " . gmdate("r", time()+10));

Не въехал я до конца с Expires, может чё наврал?..

.htaccess

ErrorDocument 404 /e404.php

Options +ExecCGI

Options -Indexes +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.landnn\.ru

RewriteRule ^(.*)$ http://landnn.ru/$1

RewriteCond %{REQUEST_URI} /(.*)/

RewriteRule ^(.*)/$ /$1.php [L]

...

А не обрабатывать IfMod - это все равно, что ничего не делать...

nickspring
На сайте с 29.03.2006
Offline
228
#5

Навскидку вроде ок, в индексе "морда" с новостями от 10го августа. Вы бы ссылочек на сайт поставили, может робот чаще заходил бы.

P.S. Верстка ни к черту, таблицы, да еще и Failed Validation - 80 errors.

И
На сайте с 11.10.2004
Offline
32
#6

Ну, на Validation я давно положил...

А соотношение код/текст 1/1 (на морде) и при таблицах, по-моему, тоже не худший вариант.

Морду от 10.08 не вижу, вижу 20.07 при сортировке по дате.

http://www.yandex.ru/yandsearch?ras=1&date=&text=&lang=all&within=0&from_day=&from_month=&from_year=&to_day=15&to_month=3&to_year=2005&mime=all&Link=&numdoc=10&site=landnn.ru&ds=&how=tm

nickspring
На сайте с 29.03.2006
Offline
228
#7
Иваныч:
Ну, на Validation я давно положил...
А соотношение код/текст 1/1 (на морде) и при таблицах, по-моему, тоже не худший вариант.

Имхо, но это худший вариант. Не пойму что тогда оценивать если на основные параметры Вы "положили".

Сохраненную копию морды сайта смотрите.

[Удален]
#8
Иваныч:
скрипт обработки:

Очень сложно все как-то. На самом деле все гораздо проще, кода меньше раз в пять, лениво разбираться.

на вскиидку - 304 заголовок звучит вроде бы так "HTTP/1.1 304 Not Modified" и после того как его отдаете надо бы поставить exit();

[Удален]
#9

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

Попробуйте написать попросче, например так:


if (($HTTP_IF_MODIFIED_SINCE) and (strtotime($lm)<=strtotime($HTTP_IF_MODIFIED_SINCE)))
{
header("HTTP/1.0 304 Not Modified");
exit();
}
else
{
header("Last-Modified: $slm");
header("Expires: " . gmdate("r", time()+10));
}

Вот как-то так, да.

VBart
На сайте с 28.04.2006
Offline
37
#10

На всех сайтах корректно обрабатываю If-Modified-Since и If-None-Match, и выдаю правильные заголовки Last-Modified, Expires и т.д. - никаких проблем с Яндексом и другими поисковиками нет.

Мой авторский проект (http://www.vbart.ru/)
12 3

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