Загрузка ...

CMS WordPress - Заголовок Last-Modified

Совсем недавно ко мне пришла задача по внутренней оптимизации одного ресурса. Необходимо было сделать так, чтобы все страницы сайта, созданного на CMS WordPress отдавали заголовок Last-Modified.

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

По-умолчанию данная система управления WorpPress не отдает подобного HTTP-заголовка. Ниже, привожу код, который необходимо вставить в файл functions.php текущей темы оформления. Этот код позволит каждой странице вашего сайта отдавать корректный ответ на запрос поискового робота If-Modified-Since.

Плагин для CMS MODx вы можете найти на этой странице.

//
	function fmsm_last_modified_answer()
	{
		global $post;

		if($post == true)
		{
			$time = date('D, d M Y H:i:s', strtotime($post->post_modified == true ? $post->post_modified : $post->post_date_gmt));
			
			$request = false;
			
			if(isset($_ENV['HTTP_IF_MODIFIED_SINCE']) == true) $request = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
			
			if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) == true) $request = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
			
			header(($request == true && $request >= $time) ? $_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified' : 'Last-Modified: ' . $time . ' GMT');
		}
	}

	add_action('wp', 'fmsm_last_modified_answer');
//

Вам требуются услуги или консультация специалиста по веб-разработке?

Свяжитесь со мной
Цвет элементов сайта