Яндекс неверно отрабатывает 304 Not Modified

12
G
На сайте с 11.07.2005
Offline
0
1240

Здравствуйте, гуру оптимизации.

У меня сайт с 15 000 книгами. Решил я помочь Яндексу с индексированием их. Т.е. сделал обработку If-Modified-Since: если страница с информацией не изменилась делаю следующее:

header("HTTP/1.1 304 Not Modified"); // Не модифицировано
header('ETag: "'.$page_hash.'" '); // Присваеваем метку
exit; // Больше ничего не выводим

Но похоже я что-то делаю не так. Или чего-то не досылаю.

А проблема вот в чем. Обычно по запросу по названию любой книги мой сайт входит в первую пятерку ответов Яндекса. Но у меня появилось твердое ощущение, что после того как по книге я отдаю 304 ответ Яндекс подобную книгу вообще из своей базы выкидывает. Хотя google, например, отрабатывает все корректно и ничего никуда не выкидывает.

Вот и вопрос. Кто и где виноват? Я или Яндекс. И как подстроиться под Яндекс?


PS: Читаю http://seolab.ru/add/rfc2068/82.html и понимаю - что мне чего-то не хватает.

Sergey Petrenko
На сайте с 23.10.2000
Offline
482
#1
понимаю - что мне чего-то не хватает.

Пустой строки после заголовков?

G
На сайте с 11.07.2005
Offline
0
#2
Gray:
Пустой строки после заголовков?

header("\n");
А что? Может помочь? Есть примеры? Что-то я как-то сомневаюсь...

У меня пока подозрения на

header("Date: ...");

Буду тестировать. Может еще кто чего посоветует?

[Удален]
#3
Но у меня появилось твердое ощущение, что после того как по книге я отдаю 304 ответ Яндекс подобную книгу вообще из своей базы выкидывает.

Ощущение или выкидывает ? Посмотреть что, нельзя ?

G
На сайте с 11.07.2005
Offline
0
#4
Miha Kuzmin (KMY):
Ощущение или выкидывает ? Посмотреть что, нельзя ?

А как посмотреть? Например: "Ресторанный персонал. Как избежать проблем".

И это принципиально? Вопрос то был "Знает ли кто, как выдавать заведомо корректный 304 ответ по стандарту. И если яндекс не поддерживает стандартный 304 ответ, как подстроится под яндекс?"

[Удален]
#5

Смотришь в логах - на какую страницу отдалось 304. Потом смотришь в яндексе, есть ли эта страница.

Не вижу препятствий (c)

G
На сайте с 11.07.2005
Offline
0
#6
Miha Kuzmin (KMY):
Смотришь в логах - на какую страницу отдалось 304. Потом смотришь в яндексе, есть ли эта страница.

Так я так и смотрел - нет страницы. Есть встречный вопрос: после того как Яндекс пришел на страницу - через какое время он ее обработает и она должна появится в результатах поиска? Самое позднее.

[Удален]
#7

Апдейт, по идее.

[Удален]
#8

grin, а покажите кусок кода, где вы проверяете if-modified-since?

G
На сайте с 11.07.2005
Offline
0
#9
Interitus:
grin, а покажите кусок кода, где вы проверяете if-modified-since?

Пользуйтесь. :-)

...skip...
// Не модифицировано
header("HTTP/1.1 304 Not Modified");
// Присваеваем метку
header('ETag: "'.$page_hash.'"');
exit;
...skip...
[Удален]
#10

Странно. И вы точно наблюдали в логе, как ваш сервер дал ответ 304 боту Яндекса?

12

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