Добавляем Last-Modified в http-заголовки Opencart

Сообщаем поисковым роботам о том, что у нас обновился контент

Добавляем Last-Modified в http-заголовки Opencart

Привет! Сегодня расскажу тебе как можно легко и просто добавить http-заголовок Last-Modified в ответ сервера на твоём сайте под управлением Opencart любой версии.

Я покажу как можно сделать это при помощи прямой правки файла шаблона, а также покажу вариант реализации этого дополнения через модификаторы vQmod и ocmod.

vQmod — для Opencart 1.5.x, Ocmod — для Opencart 2.x

Вариант 1: Правка файла

Решение для ленивых! Обрати внимание на решения, приведенные ниже.

Подключись по FTP к серверу, на котором стоит твой сайт и открой в текстовом редакторе файл, который лежит по адресу:

/catalog/view/theme/ТВОЙ_ШАБЛОН/template/common/header.tpl

Путь начинается от корневой директории твоего сайта, ТВОЙ_ШАБЛОН — название шаблона, который ты используешь по-умолчанию.

Далее тебе необходимо найти строку с указанием типа документа:

<!DOCTYPE html>

Строка находится в самом начале документа.

и перед ней вставить следующую строку:

<?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>

Посредством PHP мы добавляем в перечень отправляемых сервером заголовков, заголовок Last-Modified, который принимает значение реального времени и сигнализирует поисковым роботам о том, что нужно перепроверить контент.

Далее сохрани и закрой файл header.tpl. На этом простая и очень полезная с точки зрения внутренней SEO-оптимизации доработка завершена!

Теперь давай рассмотрим как можно организовать эту доработку не изменяя при этом никаких файлов — с помощью vQmod и Ocmod.

Вариант 2: vQmod-дополнение для OC 1.5.x

Используй этот вариант, если у тебя Opencart 1.5.x — не используй правку файла.

<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id>1Z Last-Modified в http-заголовки [1.5.X]</id>
<version>1.0.0</version>
<vqmver>1.1.0</vqmver>
<author>mrcivic</author>
<file name="catalog/view/theme/*/template/common/header.tpl">
	<operation>
	<search position="before"><![CDATA[<!DOCTYPE html>]]></search>
	<add><![CDATA[
        <?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>
	]]></add>
	</operation>
</file>
</modification>

Ты можешь скопировать этот код и вставить его а файл с расширением .xml и затем установить через vQmod в админке своего сайта, а можешь скачать готовый файл модификатора ниже.

Скачать модуль Last-Modified для Opencart 1.5.x под vQmod

Вариант 3: Ocmod-дополнение для OC 2.x

Используй этот вариант, если у тебя Opencart 2.x — не используй правку файла.

<?xml version="1.0" encoding="UTF-8"?>
<modification>
<name>1Z Last-Modified в http-заголовки [2.X]</name>
<code>1Z Last-Modified в http-заголовки [2.X]</code>
<version>1.0.0</version>
<author>mrcivic</author>
<link>https://okatiev.ru/all/dobavlyaem-last-modified-v-http-zagolovki-opencart/</link>

<file path="catalog/view/theme/*/template/common/header.tpl">
	<operation error="skip">
	<search><![CDATA[<!DOCTYPE html>]]></search>
	<add position="before">
	<![CDATA[<?php header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); ?>]]></add>
	</operation>
</file>
</modification>

Также, ты можешь скопировать данный код и вставить его а файл с расширением .ocmod.xml и затем установить через Ocmod-установщик в админке своего сайта, а можешь скачать готовый файл модификатора ниже. Обязательно обнови кэш модификаторов после установки!

Скачать модуль Last-Modified для Opencart 2.x под Ocmod

Вывод

В качестве вывода, можно привести следующее:

У нас получилось очень простое, но полезное с точки зрения внутренней SEO-оптимизации решение, которое позволяет улучшить и ускорить индексацию твоего сайта поисковыми роботами.

Также смотри другие материалы с тегом opencart

Надеюсь что эта статья помогла тебе в вопросе как добавить http-заголовок Last-Modified в Opencart! Свои вопросы задавай в комментах, до связи!

Плюсануть
Поделиться
Отправить
Запинить
Понравился этот пост? Поделись им в соцсети!
Популярное
4 комментария
Алекс
Алекс

8 декабря 2017, 10:20

Модуль установил, но нет изменений в файле. Возможно в код <file path=«catalog/view/theme/*/template/common/header.tpl»> в место звёздочки нужно вставить имя своего шаблона?

Александр Окатьев

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

/system/storage/modification/catalog/view/theme/имя_вашей_темы/template/common/header.tpl

При очистке кэша модификаторов этот файл перестраивается заново, но с учётом активных модулей, которые вносят в него изменения.

Александр
Александр

12 апреля 2018, 09:21

Мод не правильно работает! Он отдает текущую дату, а должен отдавать последнюю дату изменения категории/товара.

Александр Окатьев

Мод работает именно так, как и задумывалось. Он стимулирует поисковых роботов чаще индексировать Ваши материалы.

Игорь Чишкала
Игорь Чишкала

14 сентября 2018, 18:47

Александр, спасибо за то, что пытаетесь делиться своим опытом. К сожалению, предложенный вами метод ничем не лучше чем просто отсутствие этого заголовка вообще.
У страниц типа категорий, товаров или информационных есть date_create и date_modified в таблице БД, эти данные можно взять и отдавать поисковому роботу. Останется вопрос с главной страницей, контактами и др. Но это уже совсем другая история.
P.S. Метод, указанный вами вряд ли будет стимулировать поисковых роботов чаще посещать страницы, особенно когда робот заметит, что нет разницы между версиями страниц.

Ярослав
Ярослав

25 сентября 2018, 12:05

Мод действительно не правильно работает с точки зрения SEO! Этот заголовок существует для того что-бы сказать боту что на страничке не было обновления информации, и повторно перечитывать эту страницу не имеет смысла. Таким образом бот перечитывает обновленные страницы а не устаревшие.

Ваш комментарий
адрес не будет опубликован
HTML-код не интерпретируется

Ctrl + Enter