Карта сайта XML

XML-карта сайта для OpenCart 4: товары с картинками, категории, производители, информационные страницы, статьи и категории блога — по языкам, с индексом карт и строкой Sitemap в robots.txt.

Назначение и совместимость

В OpenCart 4.1.0.4 XML-карты сайта нет (штатных фидов нет совсем, есть только HTML-страница «Карта сайта» для посетителей). Без карты магазин сложно подать в Яндекс.Вебмастер и Google Search Console, а новые товары попадают в индекс медленнее. Модуль отдаёт карту по протоколу sitemaps.org прямо из базы магазина — файлы на диске не создаются.

Индекс картПо одной карте на каждый тип записей и язык; большие наборы делятся на части по заданному числу адресов.
СодержимоеГлавная, список брендов и блог; товары (с датой изменения и картинками), категории с полным путём, производители, информационные страницы, статьи и категории блога.
Только видимоеВключённые записи текущего магазина, доступные на текущем языке; товары — с наступившей датой доступности.
КэшГотовые карты хранятся в кэше магазина заданное число минут.

Проверено на OpenCart 4.1.0.4 и PHP 8.2 со штатной темой. Другие версии OpenCart 4 не проверялись. Ядро не меняется: модуль — расширение типа «Каналы» со своим адресом на витрине.

В сборке OCM Store модуль встроен: карта доступна сразу после установки магазина, настройки — в Оптимизация → Карта сайта XML; при включённых ЧПУ на Apache карта открывается и по адресу /sitemap.xml.

Установка

  1. Расширения → Установщик → «Загрузить», файл sitemap_oc4.ocmod.zip (имя не менять: OpenCart 4 берёт из него код расширения).
  2. В строке «Карта сайта XML» — зелёная кнопка «Установить».
  3. Расширения → Расширения, тип «Каналы» → «Установить» у «Карта сайта XML».
  4. Обновите страницу: появился раздел «Оптимизация» с пунктом «Карта сайта XML». Карта уже работает со значениями по умолчанию.

Права получает группа пользователя, который нажал «Установить». Другим группам — Система → Пользователи → Группы пользователей, маршрут extension/sitemap_oc4/feed/sitemap (в сборке OCM Store модуль уже установлен и виден в Расширения → Расширения → Каналы; группы «Администратор» и «Контент-менеджер» получают права на него и на страницу настроек extension/sitemap_oc4/sitemap/page при установке магазина).

Адрес карты и robots.txt

Адрес показан вверху страницы настроек: https://ваш-домен/index.php?route=extension/sitemap_oc4/feed/sitemap. Без параметров отдаётся индекс карт; каждая карта в нём — тот же адрес с параметрами type (тип записей), page (номер части) и language (код языка). Этот адрес и добавляют в кабинеты поисковых систем.

Чтобы роботы находили карту сами, в robots.txt нужна строка Sitemap: <адрес карты>. Кнопка «Записать в robots.txt» добавляет её в файл в корне магазина (существующая строка этой карты заменяется, остальные строки не трогаются; если файла нет, он создаётся). Рядом показано, есть ли строка в файле сейчас. Если файл недоступен для записи — добавьте строку вручную.

При нескольких магазинах (мультимагазин) карта каждого магазина открывается по тому же адресу на его домене; в robots.txt кнопка записывает адрес основного магазина.

Настройки

Оптимизация → Карта сайта XML (или Расширения → Расширения → Каналы → Карта сайта XML → Редактировать).

НастройкаПо умолчаниюСмысл
СтатусвключеноВыключенная карта отдаёт страницу «не найдено»
Товары, Категории, Производители, Информационные страницы, Статьи блога, Категории блогавключеноКакие типы записей входят в карту. Выключенный тип исчезает из индекса; вместе с производителями исчезает ссылка на список брендов, вместе со статьями — на блог
Картинки товароввключеноОсновное и дополнительные изображения товара в карте товаров (расширение image)
Языкитолько язык магазина по умолчаниюКарты только для языка магазина по умолчанию или для каждого включённого языка
Адресов в одной карте5000От 1 до 50 000. Если адресов больше, набор делится на части
Кэш, минут60Готовые карты хранятся в кэше магазина; 0 — без кэша. Сохранение настроек и кнопка «Очистить кэш» сбрасывают кэш

Что попадает в карту

Адреса строятся штатным механизмом ссылок магазина: при включённых ЧПУ в карте будут ЧПУ-адреса, иначе — обычные с параметрами. Теги changefreq и priority не выводятся: современные поисковые системы их не учитывают.

Связь с модулем «SEO-поля»

Если установлен и включён модуль «SEO-поля» (в сборке OCM Store — всегда), карта учитывает его данные:

Без модуля «SEO-поля» карта работает как обычно.

Удаление

Расширения → Расширения → Каналы → «Удалить» у «Карта сайта XML», затем Расширения → Установщик → удалить пакет. Настройки и пункт меню удаляются, кэш карт очищается. Строку Sitemap из robots.txt удалите вручную.

Типовые вопросы