Плагин sitemap_market создаёт мультиязычную XML-карту сайта (sitemap) только для товаров модуля market. Для каждого языка генерируется отдельный файл с URL‑адресами категорий и товаров, имеющих перевод в плагине i18n4marketpro.
Плагин sitemap_market создаёт мультиязычную XML-карту сайта (sitemap) только для товаров модуля market. Для каждого языка генерируется отдельный файл с URL‑адресами категорий и товаров, имеющих перевод в плагине i18n4marketpro. Язык по умолчанию (в вашем случае ua) выводится по адресу без префикса, остальные языки — через языковой префикс (/en/, /ru/, /pl/).
2. Зависимости
Плагин требует наличия:
Модуль market (должен быть установлен и активен).
Плагин i18n4marketpro (мультиязычные переводы для market). Именно из его таблиц (cot_i18n4marketpro_structure и cot_i18n4marketpro_pages) плагин узнаёт, для каких категорий и товаров есть перевод на конкретный язык.
3. Структура плагина
Плагин размещается в папке plugins/sitemap_market/ и содержит:
sitemap_market/
├── sitemap_market.setup.php # Заголовок и настройки плагина
├── sitemap_market.ajax.php # Основной обработчик запросов (генерирует XML)
├── inc/
│ └── sitemap_market.functions.php # Функции: генерация карт, URL, языки
├── lang/
│ └── sitemap_market.ru.lang.php # Русские подписи к настройкам
└── tpl/
├── sitemap_market.tpl # Шаблон для <urlset> (обычная карта)
└── sitemap_market.index.tpl # Шаблон для <sitemapindex> (индексный файл)
Файлы шаблонов не требуют правки, они уже содержат правильную XML-разметку.
4. Установка
Скопируйте папку sitemap_market в plugins/ вашего сайта.
Зайдите в админку Cotonti: Расширения → Плагины.
Найдите в списке Market Sitemap (multilingual) и нажмите Установить.
После установки плагин будет готов к настройке.
5. Настройка плагина
В админке перейдите: Расширения → Плагины → Market Sitemap → Настройки.
Основные параметры:
Параметр
Значение
Описание
Языки (languages)
en,ru,pl,ua
Список языков через запятую. Включает все языки, для которых нужно создавать отдельные карты. Добавьте ua, чтобы индексный файл содержал ссылку и на основной язык.
Язык по умолчанию (default_lang)
ua
Язык, для которого в URL не добавляется префикс (например, /market/... вместо /ua/market/...).
Использовать красивые URL (use_pretty_urls)
1
С этим параметром адреса карт будут вида /sitemap-market.xml и /en/sitemap-market.xml. Если выключить, будут использоваться прямые ссылки с index.php?r=sitemap_market. Рекомендуем оставить 1.
Важно: флаг [QSA] (Query String Append) необходим, потому что языковое правило Cotonti уже добавляет ?l=en, и без QSA оно бы затиралось. Убедитесь, что эти строки расположены до правила # All the rest goes through standard rewrite gateway.
7. Настройка robots.txt
Добавьте в robots.txt ссылку на индексный файл или отдельные карты. Рекомендуется добавить только индексный файл, чтобы не загромождать файл:
Русская версия: https://myproject.com/ru/sitemap-market.xml
Польская версия: https://myproject.com/pl/sitemap-market.xml
Индексный файл (список всех языков): https://myproject.com/index.php?r=sitemap_market&a=index
Каждая из этих ссылок покажет XML‑документ с URL‑адресами товаров. Если вы видите пустой <urlset> или вообще ничего, возможно, для данного языка нет переведённых товаров – проверьте таблицы переводов.
Google сам прочитает индекс и добавит все языковые подкарты. Можно также добавить каждую карту по отдельности, но это не обязательно.
После отправки проверьте статус – должно появиться «Успешно» и количество обнаруженных страниц.
10. Кеширование и его очистка
Плагин сохраняет сгенерированные XML‑файлы в папке datas/cache/sitemap_market/. Внутри вы увидите:
ua.xml – карта для языка по умолчанию.
en.xml, ru.xml, pl.xml – карты для других языков.
*.count – вспомогательные файлы с количеством записей.
sitemap_market_index.xml – индексный файл (если он был запрошен).
Если вы изменили настройки или внесли правки в код плагина, удалите все файлы из этой папки вручную (через FTP или файловый менеджер). При следующем обращении к любой карте кеш пересоздастся автоматически. В повседневной работе очистка не требуется – только при изменениях.
11. Устранение неполадок
Все языковые URL показывают только ua.xml. Причина: отсутствует флаг [QSA] в правилах .htaccess (см. раздел 6). Добавьте QSA в обе строки.
В URL дублируется языковой префикс (/en/en/market/...). Причина: функция sitemap_market_url не удаляет уже добавленный префикс. Убедитесь, что в inc/sitemap_market.functions.php используется правильная версия функции, которая очищает путь от известных префиксов.
Для некоторых языков пустой файл. Значит, в таблице cot_i18n4marketpro_pages (или ..._structure) нет записей с соответствующей локалью. Проверьте переводы.
После изменения настроек карта не обновляется. Очистите кеш вручную (удалите содержимое datas/cache/sitemap_market/).
12. Дополнительные замечания
Шаблон sitemap_market.index.tpl используется только для страницы с ?a=index и формирует <sitemapindex>. Если вы не планируете использовать индекс, этот шаблон можно не трогать.
Плагин не трогает старый плагин sitemap. Вы можете продолжать использовать его для других модулей (страницы, форумы и т.д.).
При добавлении нового языка убедитесь, что он присутствует в настройках плагина, в правилах .htaccess (список (en|ru|pl|ua)) и в функции удаления префиксов ($knownLangs в sitemap_market_url).
Онлайн-инструменты для настройки и отладки карты сайта
Настройка Cloudflare для Googlebot (если не видит sitemap)
Создайте правило безопасности, которое полностью пропускает трафик Googlebot без проверок. Ссылка на создание правила (замените звёздочки на ID вашей зоны): https://dash.cloudflare.com/--***--/-**---/security/security-rules/custom-rules/create
Пошаговая инструкция (визуальный конструктор)
Перейдите в раздел Security rules.
Нажмите вкладку Custom rules и кнопку Create rule.
В поле Field выберите Verified Bot.
Оператор оставьте equals.
В поле Value выберите или введите true.
В блоке Choose action выберите Skip.
Отметьте галочками All remaining security features (или минимум WAF Components и Rate Limiting).
Нажмите Deploy.
Готовое выражение для текстового редактора правила
Если вы переключите редактор в режим Edit expression, просто вставьте эту строку:
Оказываю весь спектр услуг по CMF Cotonti. Разработка открытых и закрытых корпоративных интернет порталов, небольших социальных сетей, торговые площадки, маркетплейсы, биржи фриланса, каталоги товаров оптовых поставщиков, интернет-магазин под заказ, чтобы делать совместные покупки и групповые совместные продажи от имени нескольких продавцов.
CMS, Скрипт и Движок - веб сайта онлайн-витрины, интернет магазина инфопродуктов и цифровых товаров. Разные цены в разных валютах на товар. Онлайн-оплата в криптовалюте за товары и услуги.