Браузерное или пользовательское кеширование

1 234
AM
На сайте с 04.09.2009
Offline
47
#21
Ladycharm:
Из логов сервера для сайта, который поддерживает LastModified. В посте выше приведены картинки недавних логов ботов Яндекса и Google, у Яндекса нигде нет ответа 304 "Not Modified", у Google - есть.

Год назад 304 код светился в ответах Яндекс боту, значит он присылал заголовок If-Modified-Sinse:

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

L
На сайте с 07.12.2007
Offline
351
#22
AndreyMorkovin:
Но Вы же видели, какими неприятными вещами грозит Яндекс в своем официальном хелпе.

На заборе тоже было ... написано, бабушка подошла, потрогала, оказался сучок.

AndreyMorkovin:
Я не знаю, на сколько можно доверять статистике поведения бота Яндекса на Вашем сайте. Думаю, все же, поверить хелпу.

30 сайтах.

Верить - проще, "вера" не требует подтверждения конкретными фактами.

SeVlad
На сайте с 03.11.2008
Offline
1609
#23
Ladycharm:
Яндекса нигде нет ответа 304 "Not Modified", у Google - есть.

Эти картинки - с твоего сервера или с сервисов (метрики или др) Я?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
L
На сайте с 07.12.2007
Offline
351
#24

SeVlad, с логов моего сервера.

R
На сайте с 20.02.2015
Offline
59
#25
AndreyMorkovin:
Много сайтов работает на WordPress и с клиентским кешированием html-файлов там полная беда.

ТС, плохо ищите https://wordpress.org/plugins/add-headers/ https://wordpress.org/plugins/if-modified-since/

Да и плагин пишется за час-полтора(при желании) если знать как это работает..

AM
На сайте с 04.09.2009
Offline
47
#26

Предложенные Вами плагины не работают нормально. Я проверил много вариантов. Не нашел ни одного рабочего.

Если наткнетесь на рабочий вариант — пишите, будет очень полезно.

rereg:
Да и плагин пишется за час-полтора(при желании) если знать как это работает..

Если не сложно, блесните. На сколько я понимаю, Вы знаете как это работает. Только чтобы нормально выводились заголовки с учетом обновления комментариев, обновления контента, для главной, для админа. И не забудьте про кеширующие плагины (MaxCache и Super Cache), очень желательно, чтобы с ними все это было совместимо, т.к. WP без серверного кеширования слишком тяжеловат. Исходя из личного опыта очень я сомневаюсь, что грамотный плагин подобного рода можно будет осилить за час.

R
На сайте с 20.02.2015
Offline
59
#27
AndreyMorkovin:
И не забудьте про кеширующие плагины (MaxCache и Super Cache), очень желательно, чтобы с ними все это было совместимо, т.к. WP без серверного кеширования слишком тяжеловат.

Как связано "Браузерное" и "Серверное(через плагины перечисленные вами)" кеширование?

Какие хуки серверных кешей не знаю.. скорее всего на "wp" приоритет надо ставить больше на HTTP кешируешиму плагину.

При HTTP "иф-модифиед-синце": Сервер отдает 304 ответ, и сервер не отдает контент. Тем самым из "серверных кешируюших плагинов" страница не берется. Тоже самое "Каче-контрол" и "Експире" в заголовках. Будет страница грузиться из кеша браузера при верной отдачи заголовков сервера, но ни как не из серверных кешируюших плагинах.

Вы сами чего то недопонимаите..

Ну, вот вам для поста.. проверка для постов на "иф-модифиед-синце"


<?php
add_action("wp", "http_if_modified_since");
function http_if_modified_since() {
global $post;

if (!is_object($post) || !is_single())
return;

$tm = strtotime($post->post_date_gmt);
if (isset($post->post_modified) && strtotime($post->post_modified) > $tm)
$tm = strtotime($post->post_modified);

// проверка if-modified-since в запросе
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $tm) {
header("HTTP/1.1 304 Not Modified");
exit(); // 304 - контент не отдается
}

// последнее обновление поста
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $tm)." GMT");
}
?>

П.С. пост накатал под пиво:)

SeVlad
На сайте с 03.11.2008
Offline
1609
#28
Ladycharm:
с логов моего сервера

А причём тут тогда Я? Что сервер отдал (на запрос документа, а не ответа сервера), такой ответ запрашиваемый и принял.

AndreyMorkovin:
Не нашел ни одного рабочего.

Блин, ещё на первых страницах показывалось что в хтацессе прописать надо.

Но reregу всё равно респект.

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#29
SeVlad:
А причём тут тогда Я? Что сервер отдал (на запрос документа, а не ответа сервера), такой ответ запрашиваемый и принял.

В логах же должен быть 304 ответ Яндексу?

SeVlad
На сайте с 03.11.2008
Offline
1609
#30
Алексей Барыкин:
В логах же должен быть 304 ответ Яндексу?

Ессно, в логах должен быть ответ сервера.

Хотя да, если клиент не умеет кешировать, то конечно, он не должен получить 304.

1 234

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