Last modified joomla

Что такое заголовок last modified.

По простому это заголовок:

Поисковый робот при обходе сайта отправляет запрос на сайт. В котором спрашивает обновлялся контент на странице с даты его последнего посещения или не обновлялся. Если приходит ответ что материал обновился робот заходит на страницу и скачивает ее. Если материал не обновлялся робот пропускает страницу и идет на другую.

Заголовок last modified. 

Что нам дает этот правильный заголовок. На сайте допустим много новых страниц. У робота лимит времени на каждый сайт. Если заголовки не отдаются правильно, робот истратит свое время. И не попадет на другие страницы вашего сайта. А вам надо, чтоб все страницы были в индексе.

Если на сайте две, три страницы вам можно не заморачиваться этим вопросом. Робот их проиндексирует в любом случае. 

Я пользуюсь плагином Last Modified Any Content.

Скачать можно:

http://www.yunoshev.com/

На странице по ссылке (скопировать и вставить в адресную строку) две версии платная и бесплатная. Бесплатная для Joomla 2.5. Платная для Joomla 3. Но бесплатная версия для 2.5 работает на Joomla 3 тоже.

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

Проверять рекомендуют все почему то на сайте: http://last-modified.com/ru/. Но думаю это ошибка, там система смотрит на ответ сервера так, как будто простой пользователь запрос отправил. А нам нужен ответ на запрос поискового робота. Что ему ответит сервер.

Если материал не менялся на сайте, робот получает 304 код ответа, после чего он переходит к запросу другой страницы. То есть, контент страницы индексируется в том случае, если страница возвращает код ответа 200. Хочу обратить внимание, при 304 коде ответа заголовок "Last-Modified" отсутствует. 

При правильном ответе, если контент изменился. Сервер должен дать код 200.

Вот задал один час, не знаю почему. Но когда ставиш час, всегда ответ с кодом 304. Для робота контент не менялся. 

Ответ сервера, нам так не подходит. В случае если контент изменялся:

 

Код статуса HTTP: "304 Not Modified" ?
Время ответа сервера: 215мс
IP сайта: 181.167.135.133
Заголовки:
Server: nginx
Date: Thu, 22 Jan 2015 17:28:18 GMT
Connection: keep-alive
Expires: Mon, 1 Jan 2001 00:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Set-Cookie: 942106b7fcdd5ab39cd42f7caae7a755

=6c3a76ecb3f520902d5862711ce86433; path=/; HttpOnly

Вот поставил один месяц, ответ сервера:

 

Код статуса HTTP: "200 OK"
Время ответа сервера: 187мс
IP сайта: 181.167.135.133
Кодировка: UTF-8(unicode-1-1-utf-8, UTF8)
Размер страницы: 52.11Кб

 

содержимое страницы
Заголовки:
Server: nginx
Date: Thu, 22 Jan 2015 17:45:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: 942106b7fcdd5ab39cd42f7caae7a755=

39f40bbe84e459ff92efe2cbe3afeaab; path=/; HttpOnly
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
X-Last-Modified: Sun, 18 Jan 2015 12:28:42 +0300 GMT
Content-Encoding: gzip
Expires: Mon, 1 Jan 2001 00:00:00 GMT
Last-Modified: Thu, 22 Jan 2015 17:45:07 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

 

У меня отдал сервер заголовок Last-Modified: Thu, 22 Jan 2015 17:45:07 GMT. Используется у меня плагин на Джумлу 2.5 (бесплатная версия).

 

И даже не потому, что жалко 5 американских рублей. А потому, что из объснений автора плагина. Джумла меняет число заголовка. А чтоб она этого не делала надо патчить ядро.

Не хочу залазить в ядро движка. Зачем залазить в машину которая хорошо едит.

 

 

При том что, из объяснений Яндекс, Платона Щукина (переписывался три дня). Я спрашивал (немного дуру включал) чтоб ответ полней услышать. 

Спрашивал про то, что заголовок Код статуса HTTP: "200 OK", а дата изменения не совпадает. Last-Modified: Thu, 22 Jan 2015 17:45:07 GMT.

Материал ранее менялся у меня, не 22 января как в ответе.

Цитата я писал (одна из многих):

 

200 код правильно отдает, но при коде 200 дата изменения контента стоит число когда делается запрос а не когда изменялся контент.
Может я не до конца систему понял. Робот делает запрос, получает код 200. Смотрит дату изменения контента, она стоит сегодняшнее число, а не вчерашнее. А робот был вчера и скачал страницу. Получается робот повторно заходит на страницу, которая не изменилась и тратит время. Это не нормально?

 

И самый главный ответ :

Робот проиндексирует данную страницу. Корректная дата внесения изменений в "Last-Modified" никаким образом не повлияет на индексирование страницы, её контент все равно будет запрошен роботом. Чтобы этого не происходило и существует 304 код ответа. То есть, если страница возвращает код ответа 200, робот её проиндексирует вне зависимости от значения "Last-Modified".

Ответ Платона:

Не совсем так: робот получает 304 код ответа, после чего он переходит к запросу другой страницы. То есть, контент страницы индексируется в том случае, если страница возвращает код ответа 200. Хочу заметить, при 304 коде ответа заголовок "Last-Modified" отсутствует в принципе.

 

Что нам и надо код 200 сервер отдал. А какое число стоит в заголовке не имеет значения. Робот страницу индексирует. В принципе заголовок 200 не получит робот если страница не менялась.

Иногда в заголовке ставиться приставки X, она иногда в ваших заголовках Last Modified присутствовать будет. Она в основном используется, чтоб избежать конфликт с основными заголовками Last Modified. В некоторых случаях заголовок X Last Modified будет применяться при обработке If Modified Since. 

Поисковый робот пошлет заголовок  If Modified Since на ваш сервер и укажет дату когда индексировал страницу.
В случае изменения материала после последнего сканирования поисковым роботом. Робот должен получить ответ с кодом 200. И учтет заголовки Last Modified. Если материалы не изменялись на странице робот должен получить ответ 304 и не получит не один из заголовков Last Modified. В содержимом страницы не должно быть текста материалов. Только меню, разметка и так далее.

 

Повторюсь, все примеры привожу на проверке в Яндекс вебмастер. Самая правильная проверка.

При проверке можно задать интервал час, сутки, неделя, месяц. И видим ответ на запрос робота.

 

Что самое важное можно задать время (присутствует галочка на Яндекс проверке) с какого времени проверить.

В видео покажу наглядно. 

 

Проверяйте ответ сервера в Яндекс вебмастер: https://webmaster.yandex.ru/server-response.xml? Надо зарегистрироваться и сайт подтвердить. 

На скрине: код 304. Заголовков нет. Поставил дату 1 час. Можно менять даты, не забывайте.

 joomla как убрать дубли страниц.

 

Обведено, содержание страницы. Далее дата изменения материала и дата запроса. Код 200 должен быть. Число изменения материала должно стоять не на момент проверки (не критично).

 Дубли страниц joomla

 

Вот и разобрались как делать проверку last modified. Вопросы в комментариях.

Видео last modified 

 

 

Добавить комментарий