Плагин мультиязычной XML-карты сайта для товаров

Плагин sitemap_market создаёт мультиязычную XML-карту сайта (sitemap) только для товаров модуля market. Для каждого языка генерируется отдельный файл с URL‑адресами категорий и товаров, имеющих перевод в плагине i18n4marketpro.

Status: Published

67

Code sitemap_market

Product parameters and values in filters

Category Extentions
SEO and optimization

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> (индексный файл)

Файлы шаблонов не требуют правки, они уже содержат правильную XML-разметку.


4. Установка

  1. Скопируйте папку sitemap_market в plugins/ вашего сайта.
  2. Зайдите в админку Cotonti: Расширения → Плагины.
  3. Найдите в списке 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

  1. Зайдите в Google Search Console.
  2. Выберите нужный ресурс (сайт).
  3. В левом меню перейдите: Индекс → Файлы Sitemap.
  4. Нажмите Добавить новый файл Sitemap.
  5. Вставьте URL индексного файла:
    https://myproject.com/index.php?r=sitemap_market&a=index
  6. Нажмите Отправить.

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

Пошаговая инструкция (визуальный конструктор)

  1. Перейдите в раздел Security rules.
  2. Нажмите вкладку Custom rules и кнопку Create rule.
  3. В поле Field выберите Verified Bot.
  4. Оператор оставьте equals.
  5. В поле Value выберите или введите true.
  6. В блоке Choose action выберите Skip.
  7. Отметьте галочками All remaining security features (или минимум WAF Components и Rate Limiting).
  8. Нажмите 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
People often order this together with this item: Cotonti CMF: Plugin Installation, Integration, and Adaptation.


Rating based on reviews:
Stars received: 0
Total reviews: 0
Average rating: 0
6 minutes read

You may have been looking for this for a long time

Cotonti CMF: Plugin Installation, Integration, and Adaptation

You may have been looking for this for a long time.:

Market PRO v.5+ module for Cotonti CMF

webitproff
Item seller: webitproff
Seller showcase

Online

Last logged: 2026-10-13 08:42

About me briefly
Support and development of web projects on the CMF Cotonti: private messengers via the website, open and closed small social networks, trading platforms and marketplaces, freelance and services exchange portal, catalogs of goods from wholesale suppliers, dropshipping platforms, online stores, and much more.
Telegram for messages
@webitproff
Telegram channel
@s/aBuyFILE
Public profile
  • Date published 2026-08-03 13:53
  • Updated 2026-09-13 14:17

Product Discussion in Telegram

Market PRO Showcase

CMS, Script and Engine - for an online showcase website, e-commerce store of info products and digital goods. Different prices in different currencies per item. Online crypto payments for goods and services.