Настройка заголовка Last-Modified в MODx Настройка заголовка Last-Modified в MODx - Архив
Настройка заголовка  Last-Modified в MODx
DownLoad_Free

Настройка заголовка Last-Modified в MODx - Архив

Нашли ошибку или
хотите что-то сообщить -
жмите Ctr+Enter Система Orphus



    [Ленточный вид форума] [Поиск] [RSS]



Страница 1 из 11
Архив » История мировых и локальных событий » История развития сайта » Настройка заголовка Last-Modified в MODx
Настройка заголовка Last-Modified в MODx
Дата: Пятница, 15.05.2015, 04:12 | Сообщение # 1
Группа: Администраторы
Сообщений: 1526
Создаем сниппет для отправки заголовка страницы на дату изменения [[LastModified_robots]]:
------------------------------------------------------------------------------------

<?php
function DetectSearchEngine($USER_AGENT)
{
$engines = array(
array('Aport', 'Aport'),
array('Google', 'Google'),
array('msnbot', 'MSN'),
array('Rambler', 'Rambler'),
array('Yahoo', 'Yahoo'),
array('Yandex', 'Yandex'),
array('Aport', 'Aport robot'),
array('Google', 'Google'),
array('msnbot', 'MSN'),
array('Rambler', 'Rambler'),
array('Yahoo', 'Yahoo'),
array('AbachoBOT', 'AbachoBOT'),
array('accoona', 'Accoona'),
array('AcoiRobot', 'AcoiRobot'),
array('ASPSeek', 'ASPSeek'),
array('CrocCrawler', 'CrocCrawler'),
array('Dumbot', 'Dumbot'),
array('FAST-WebCrawler', 'FAST-WebCrawler'),
array('GeonaBot', 'GeonaBot'),
array('Gigabot', 'Gigabot'),
array('Lycos', 'Lycos spider'),
array('MSRBOT', 'MSRBOT'),
array('Scooter', 'Altavista robot'),
array('AltaVista', 'Altavista robot'),
array('WebAlta', 'WebAlta'),
array('IDBot', 'ID-Search Bot'),
array('eStyle', 'eStyle Bot'),
array('Mail.Ru', 'Mail.Ru Bot'),
array('Scrubby', 'Scrubby robot'),
array('Yandex', 'Yandex')
);

foreach ($engines as $engine)
{
if (stristr($USER_AGENT, $engine[0]))
{
return($engine[1]);
}
}
return (false);
}

//определяем поисковой ли бот пришёл к нам
$detect = DetectSearchEngine($_SERVER['HTTP_USER_AGENT']); //только для ботов
//или (ненужное заремить)
detect =1; //для всего

if ($detect)
{
//Получаем время изменения ресурса из таблички site_content
//этот параметр меняется только тогда, когда меняем содержимое страницы, но не шаблона
//это важно!
$last_modified_time = $modx->documentObject['editedon'];

//Если поисковик спрашивает у сервера: у меня есть эта страница в кэше с определённого времени, изменилась ли она?
//смотрим на время, сверяем:
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $last_modified_time){
//Если НЕ изменилась то отправляем 301 ответ
header('HTTP/1.1 304 Not Modified');
//И убиваем выполнение дальнейших скриптов, то есть сервер кроме ответа заголовка не шлёт саму страничку
die;
}

//устанавливаем поисковику Last-Modified если он первый раз на странице либо если страница обновлена.
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $last_modified_time).' GMT');

}
else
{
//тут можно выполнять код для обычного посетителя
}
?>
------------------------------------------------------------------------------------

Создаем сниппет для проверки даты изменения страницы [[last_modified_info]]:
------------------------------------------------------------------------------------
<?php
$last_modified_time = $modx->documentObject['editedon'];
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $last_modified_time);
echo "<!--last_modified_time:".$last_modified_time."/".$LastModified."-->";
?>
------------------------------------------------------------------------------------

Теперь, чтобы все работало вставляем во все шаблоны

[!LastModified_robots!]
код шаблона
[!last_modified_info!]

Проверяем валидатором урлы страниц сайта

http://last-modified.com/ru/

Должны увидеть что-то типа

 
Архив » История мировых и локальных событий » История развития сайта » Настройка заголовка Last-Modified в MODx
Страница 1 из 11
Поиск:


Copyright kachay.ucoz.org © 2008-2017Хостинг от uCoz
^ Наверх ^
Пригодилось!