SEO-поля
Заголовок H1 отдельно от названия, запрет индексации и мета robots, описание и мета-теги производителя, главная категория товара — для OpenCart 4.
Назначение и совместимость
Модуль добавляет в OpenCart 4 то, чего в нём нет из коробки и к чему привыкли владельцы магазинов на русских сборках OpenCart 3.
robots со значением noindex,follow и заголовок X-Robots-Tag.Проверено на OpenCart 4.1.0.4 и PHP 8.2. Другие версии OpenCart 4 не проверялись. Ядро не меняется: модуль работает через события и хранит данные в двух своих таблицах.
Установка
- Расширения → Установщик → «Загрузить», файл
seo_fields_oc4.ocmod.zip(имя не менять: OpenCart 4 берёт из него код расширения). - В строке «SEO-поля» — зелёная кнопка «Установить».
- Расширения → Расширения, тип «Другие» → «Установить» у «SEO-поля».
- Обновите страницу: появился раздел «Оптимизация» с пунктом «SEO-поля», а в формах товаров, категорий, страниц, производителей, статей и категорий блога — новые поля.
Права получает группа пользователя, который нажал «Установить». Другим группам — Система → Пользователи → Группы пользователей, маршрут extension/seo_fields_oc4/other/seo_fields (в сборке OCM Store — маршрут страницы настроек extension/seo_fields_oc4/seo_fields/page; группы «Администратор» и «Контент-менеджер» получают его при установке). Поля в формах видят все, у кого есть доступ к самим формам.
Поля в формах
| Где | Поле | Что делает |
|---|---|---|
| Товар, категория, информационная страница, статья, категория блога — вкладка «Общее», каждый язык, блок «Мета-теги» | Заголовок H1 | Выводится на витрине вместо названия. Пусто — выводится название |
| Те же формы — вкладка «SEO» | Индексация | Выключите, чтобы страница получила noindex,follow |
| Товар — вкладка «SEO» | Главная категория | Список — категории со вкладки «Связи»; он обновляется, когда вы добавляете или убираете категории. «По адресу страницы» — главной категории нет |
| Производитель — новая вкладка «Описание» | Описание, Заголовок H1, Мета-тег Title, Description, Keywords | Для каждого языка; выводятся на странице производителя |
| Производитель — вкладка «SEO» | Индексация | Как у остальных |
В списке Каталог → Товары в панели фильтра есть список «Индексация»: «Разрешена» показывает товары, открытые для индексации (в том числе те, у которых поле ни разу не сохранялось), «Запрещена» — закрытые. Отбор сохраняется при переходе по страницам и сортировке.
Поля сохраняются вместе с формой обычной кнопкой «Сохранить». При удалении записи её поля удаляются; при удалении категории она перестаёт быть главной у товаров.
Настройки
Оптимизация → SEO-поля (или Расширения → Расширения → Другие → SEO-поля → Редактировать).
| Настройка | По умолчанию | Смысл |
|---|---|---|
| Статус | включено | Выключенный модуль ничего не меняет на витрине; поля в формах остаются |
| noindex для технических адресов | включено | noindex,follow на страницах с параметрами sort, order, page, limit, filter, filter_*, search, tag, description, sub_category, author и на служебных маршрутах. Страницы товара, информационной страницы и статьи по параметрам не закрываются: ссылки из отсортированных списков несут параметры с собой, дубли у этих страниц решает canonical |
| Исключения параметров | пусто | Параметры, при которых noindex не ставится, по одному в строке. Например, page, если страницы списков должны индексироваться |
| Служебные маршруты | account/*, checkout/*, product/search, product/compare, error/not_found | Маршруты, которые всегда получают noindex; * — любая часть |
| Хлебные крошки по главной категории | включено | Товар открыт без пути категории (из поиска, модулей, прямой ссылки) — крошки строятся по главной категории |
| Канонический адрес с главной категорией | выключено | Тег canonical товара указывает на адрес с путём главной категории. По умолчанию ядро даёт адрес товара без категории |
| Удалять данные при удалении модуля | выключено | Только в пакете: при удалении компонента удалить таблицы со всеми H1, флагами и описаниями. Иначе данные сохраняются и возвращаются после повторной установки |
Значение мета-тега всегда noindex,follow: страница закрыта от индекса, ссылки с неё учитываются.
Что видно на витрине
<h1>страницы — заголовок H1, если он заполнен для текущего языка.- На закрытых страницах в
<head>появляется<meta name="robots" content="noindex,follow"/>, в ответе сервера — заголовокX-Robots-Tag: noindex, follow. - Страница производителя:
<title>,description,keywordsиз полей модуля (если заполнены), описание под заголовком. - Товар без пути категории: крошки «Главная → главная категория (и её родители) → товар»; с включённой настройкой — canonical с путём главной категории. Если главная категория больше не назначена товару или выключена, крошки штатные.
Модуль не выводит теги Open Graph и не дублирует их: в сборке OCM Store их даёт шапка сборки.
Удаление
Расширения → Расширения → Другие → «Удалить» у «SEO-поля», затем Расширения → Установщик → удалить пакет. События и настройки удаляются; таблицы с данными остаются, если перед удалением не включить «Удалять данные при удалении модуля».
Типовые вопросы
- Поля не появились в форме. Проверьте, что компонент установлен в «Расширения → Другие» и что в Расширения → События есть события с кодом
seo_fields_oc4(38 записей). Если форму меняет OCMOD другого модуля, модуль ищет штатные якоря разметки: при их отсутствии поле не выводится, форма работает как прежде. - На витрине всё по-старому. Включите «Статус» в настройках модуля. События витрины работают, пока компонент установлен.
- Другая тема. H1 подменяется через переменную
heading_titleштатных шаблонов; тема, которая выводит заголовок иначе, его не покажет. Мета-тегrobotsвставляется перед</head>; если тема уже выводит свой тегrobots, второй не добавляется. - Несколько магазинов. Поля общие для всех магазинов, как штатные мета-теги; настройки — одни на все магазины.