1. Назначение плагина
Плагин 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> (индексный файл)
- ReadMeMore: https://abuyfile.com/ru/market/cotonti/plugs/sitemap-market-xml-i18n
- Support: https://abuyfile.com/forums/cotonti/custom/plugs/
- Source: https://github.com/webitproff/sitemap-market-xml-i18n-cotonti
Файлы шаблонов не требуют правки, они уже содержат правильную 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. |
| Включать пагинацию категорий (marketCategoryPagination) | 1 | Если у категории несколько страниц товаров, все они попадут в карту. |
| Частота изменения товаров (market_freq) | weekly | Значение <changefreq> для товаров. |
| Приоритет товаров (market_prio) | 0.5 | Значение <priority>. |
| Макс. ссылок на часть карты (perpage) | 50000 | Если товаров больше, карта разделится на несколько файлов (вам это вряд ли понадобится). |
| Время жизни кеша (cache_ttl) | 3600 | Через сколько секунд карта будет пересоздана. |
После изменения настроек не забудьте нажать Сохранить.
6. Настройка .htaccess
Чтобы красивые URL работали, добавьте в корневой .htaccess сразу после правила RewriteRule ^sitemap\.xml$ ... следующие строки:
RewriteRule ^sitemap-market\.xml$ index.php?r=sitemap_market [QSA,L]
RewriteRule ^(en|ru|pl|ua)/sitemap-market\.xml$ index.php?r=sitemap_market&l=$1 [QSA,L]
Важно: флаг [QSA] (Query String Append) необходим, потому что языковое правило Cotonti уже добавляет ?l=en, и без QSA оно бы затиралось.
Убедитесь, что эти строки расположены до правила # All the rest goes through standard rewrite gateway.
7. Настройка robots.txt
Добавьте в robots.txt ссылку на индексный файл или отдельные карты. Рекомендуется добавить только индексный файл, чтобы не загромождать файл:
Sitemap: https://myproject.com/index.php?r=sitemap_market&a=index
Или, если вы хотите перечислить все языковые карты напрямую:
Sitemap: https://myproject.com/sitemap-market.xml
Sitemap: https://myproject.com/en/sitemap-market.xml
Sitemap: https://myproject.com/ru/sitemap-market.xml
Sitemap: https://myproject.com/pl/sitemap-market.xml
Однако первый вариант (индекс) проще и предпочтительнее.
8. Как проверять в браузере
После сохранения всех настроек можно сразу открыть следующие адреса (кеш создастся автоматически при первом обращении):
- Основной язык (ua):
https://myproject.com/sitemap-market.xml - Английская версия:
https://myproject.com/en/sitemap-market.xml - Русская версия:
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> или вообще ничего, возможно, для данного языка нет переведённых товаров – проверьте таблицы переводов.
9. Как отдавать Google
- Зайдите в Google Search Console.
- Выберите нужный ресурс (сайт).
- В левом меню перейдите: Индекс → Файлы Sitemap.
- Нажмите Добавить новый файл Sitemap.
- Вставьте URL индексного файла:
https://myproject.com/index.php?r=sitemap_market&a=index - Нажмите Отправить.
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).
Онлайн-инструменты для настройки и отладки карты сайта
- Валидатор Sitemap: https://www.xml-sitemaps.com/validate-xml-sitemap.html
- Проверка HTTP-статусов и редиректов:
- Информация о сайте и технологиях: https://w3techs.com/sites/info/cotonti.com
Настройка 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, просто вставьте эту строку:
(cf.verified_bot_category eq "Search Engine Crawler")Настройка через выпадающие списки (альтернативный способ)
- Field:
Verified Bot Category - Operator:
equals - Value: выберите
Search Engine Crawler - Choose action:
Skip - Отметьте WAF (Custom Rules, Managed Rules) и Rate Limiting.
- Сохраните правило кнопкой Deploy.
После сохранения правила подождите пару минут и повторно отправьте карту сайта в Google Search Console.
Buy Плагин мультиязычной XML-карты сайта для товаров at low prices. The online store offers to order Плагин мультиязычной XML-карты сайта для товаров, view the full description, detailed specifications, product photos and current discounted prices