Stand with Ukraine! How can you help?

Multilingual Sitemap XML OpenCart

Multilanguage sitemap OpenCart
  • Module version: 2.3.3
  • Last Update: 27/03/2024
  • Module format: ocmod.zip
  • Modification: no
  • OpenCart: 2.x, 3.x, 4.x
  • OcStore: 2.x, 3.x
  • PHP: 5.6 - 8.x
  • License: Single Domain
  • Author: OpenCartBot
  • Support: yes

This extension generates the correct multilingual XML sitemap for OpenCart. Generation of XML Sitemap meets the requirements of search engines. The extension allows you to fully manage the creation of a sitemap: include or exclude site pages, products, categories, manufacturers, etc.

DEMO AdminDEMO Live
Login/password: demo/demo

XML Sitemap with hreflang tags for OpenCart

For each entity, such as Products, Categories, Pages, you can set a priority value (priority tag), content refresh frequency (changefreq tag). Also, in the sitemap, you can display the date of the last change of the product (lastmod tag) and the product image (image tag).

There is a unique function for adding any custom links to the xml sitemap. You can add different links for different language versions of pages. For each link, you can separately specify the priority and frequency of crawling by robots.

The extension allows you to set your own hreflang language code. Acceptable formats: en, en-gb, en-us, en-au etc.

Also extension Multilingual Sitemap XML OpenCart can give you both a dynamically generated sitemap and a static XML file via direct link. When choosing a static site map, it is necessary to ensure that it is periodically updated. To do this, it is enough to run the update link in the browser or set the task to run in the CRON scheduler on the hosting.

Multilingual Sitemap

Multilingual Sitemap sample

The module will also work on monolingual sites and will return a valid sitemap.xml

The module is compatible with the standard SEO URL and with SEO Pro. It is also compatible with our "Multilingual add-on for SEO PRO" and "SEO multilanguage/multiregion" (SEO CMS) and will generate an XML map with URL language prefixes and hreflang attributes that indicate to search engines that the links are related and are different language versions of the same page.

Valid and fast sitemap.xml for Google, Bing and other search engines.

Features of the module Multilingual Sitemap XML OpenCart

  • managing the addition of pages to the sitemap;
  • adding any links to the sitemap
  • manual control of priority, changefreq, lastmod parameters;
  • own hreflang for each language;
  • default localization selection - x-default;
  • dividing the sitemap into parts, index file;
  • separate sitemaps for products, categories, manufacturers, blogs, pages;
  • dividing the Sitemap with products into parts by n-products;
  • ignoring pages with the noindex tag (for ocStore);
  • choice of file generating method: dynamic or static XML
  • fast data processing and generation, own optimized sql queries;
  • support for multilingual links and URLs with language prefixes;
  • protect access to the sitemap with a password;
  • update static sitemap by CRON task;
  • multi-store support.

Installation instructions:

  1. Upload the module in the admin panel in the "Extensions" : "Install".
  2. Go to the "Dashboard" section and update the template cache.
  3. Go to the "Extensions" : "Extensions" : "Feeds" and enable the module.
  4. Edit module. Enable the status of the module and adjust all its options to your needs and save the settings.
  5. To check multilingual sitemaps, it is convenient to use the free service https://technicalseo.com/tools/hreflang/
    Also, you can use the Sitemap XML checker services from Google and Bing.
  • v2.3.3 (27/03/2024) - Fixing the formation of manufacturer URLs in the extension for OpenCart 4.0. Added more hints to fields in settings.
  • v2.3.2 (18/01/2024) - Fixed issue with invalid date in Lastmod, this happened when products and categories do not have an add/edit date after import.
  • v2.3.1 (13/01/2024) - Sitemap improvements for monolingual sites
  • v2.3.0 (06/12/2023) - Multi-store support. Ability to add all product images to the Sitemap. Added the ability to divide Sitemaps by a specified number of products on one xml-file. Errors in the operation of the OpenCart 4.0.x.x extension have been fixed.
  • v2.2 (16/01/2023) - Added module version for OpenCart 4.0.x.x
  • v2.2 (15/07/2022) - Fixed a bug when disabling Lastmod. The extension for OpenCart 2.x.x.x will no longer be updated.
  • v2.1 (15/06/2022) - Added support for extensions: Galleria, Keyword Pages, Clean Blog. Sitemap generation optimization.
  • v2.0 (09/06/2022) - Added x-default, status for priority and changefreq, lastmod for all links in sitemap. Checking the noindex tag (for ocStore). Support for the ocStore blog and the OCT Blog module. Dividing the sitemap into parts by types: pages, categories, manufacturers, products, blog, sitemap index file. Stylization.
  • v1.3 (05/05/2022) - Resolved an issue with adding system pages to the map
  • v1.2 (17/02/2022) - Dividing the sitemap into parts, the index sitemap, protection of access to the sitemap with a key, support for prefixes in the URL added by SEO CMS or SEO multilingual / multiregion extension
  • v1.1 (26/11/2021) - Added OpenCart 2.3.x.x compatibility

How to set a CRON task to update the static sitemap.xml file?

Open the control panel of your hosting (ISP Manager, Cpanel, VestaCP, etc.), find the CRON section there and create a new task there.
If your hosting allows you to run scripts using the wget method, then you can simply copy the link from the module settings and paste it into the task.
But it happens that the hosting allows only the direct launch of scripts.
In this case, you need to create a script that will be run via CRON:
  1. In the root of the site, create a new php file (for example, cron-sitemap.php).
  2. Insert a script into it that will update the site map.
    A variant of the script using the file_get_contents function:
    <?php
    // Paste your URL by copying it in the module
    settings $url = 'https://domain.com/index.php?route=extension/feed/sitemap_ml';
    echo file_get_contents($url);
    ?>

    A variant of the script using cURL:
    <?php
    // Paste your URL by copying it in the module
    settings $url = 'https://domain.com/index.php?route=extension/feed/sitemap_ml';
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($curl);
    curl_close($curl);
    ?>

  3. It is necessary to form an absolute path to our file, for example /home/user/public_html/domain.com/cron-sitemap.php
    You can find out the path to the root folder of the site on the server in the file config.php
  4. In the hosting control panel, go to the CRON section and create a new task there. This page should contain brief information on how to create a task.
    Usually you need to choose the frequency of the script launch and write the command. The command must use the absolute path to the file we created.
    Each hosting may have its own features of adding a cron task. If you have any problems at this stage, you can contact your hosting support for help.

How to make a link to a dynamic site map in the form of sitemap.xml?

In the .htaccess file, which is located at the root of the site, go to the line:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
replace it with:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/sitemap_ml [L]
You will then need to reset your browser's cache to see the changes.

If you are using SEO Pro to generate clear SEO URL, you need to make one more edit in the file catalog/controller/startup/seo_pro.php
You need to find the phrase "google_sitemap" there and replace it with "sitemap_ml". If there is no such phrase - you need to add the following code to the validate() method (as in the screenshot below).

if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
  $this->request->get['route'] = 'extension/feed/sitemap_ml';
  return;
}

After editing, you need to update the cache of modifiers in the admin panel in the Modification section.
sitemap seo pro

What does "Divide into parts" mean?

When the "Divide into parts" option is enabled, several Sitemaps will be created by type: pages, categories, manufacturers, products, blog, etc. All these Sitemaps will be combined by the Sitemap Index, which will need to be add in the robots.txt file or sent to Google Search Console. The robot will scan the index map of the OpenCart site and find all your maps there by itself. This option can be useful if you have a lot of pages and the normal map is too large or takes a long time to load. Also, the module has the possibility to create several cards with goods, evenly dividing the goods into several parts.

How do rename static sitemap files?

Open the file: catalog/controller/extension/feed/sitemap_ml.php
In line 3 you can change the file name:
private $filename = 'sitemap';
For example:
private $filename = 'my-sitemap';

Why doesn't the static sitemap open?

In the .htaccess file located at the root of the site, find the line and delete or comment on it with the symbol #:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]

What is Priority?

Priority - the internal priority of the pages, ie the importance of some pages over others. The most important pages on the site should have a priority of "1.0", the least important - "0.1".
There are no rules about what priority should be in certain types of pages, it's all customizable.
For example, if the home page is the most important on your site, its priority should be set to "1.0". Also in the online store are very important product pages - they can be given priority - "0.9". Categories - "0.8", manufacturers - "0.7", etc.
Recently it became known that Google no longer reads this parameter, so it can be omitted in the sitemap. As for other search engines, their position is unknown.

What is Changefreq (Frequency)?

Changefreq is the approximate refresh rate of the page content. Possible values: always, hourly, daily, weekly, monthly, yearly, never, that speak for themselves.
Example: if you change something in the product every day, such as a description or image, then you need to choose "daily", but if you add the product and forget about it, then you should choose "monthly" or even "yearly".
Recently it became known that Google no longer reads this parameter, so it can be omitted in the sitemap. As for other search engines, their position is unknown.

What is Lastmod?

Lastmod is the date the page was last updated. That is, after each editing of the page in the lastmod parameter, the date must be updated and this should indicate to the search engine that this page should be scanned as soon as possible.

What is a static sitemap?

A static sitemap is an xml file on the server that contains a list of site URLs for indexing. The static map needs to be updated periodically to keep it up to date. The advantage of a static map is that it is already generated and does not depend on the speed of the server and database. This type of sitemap.xml should be used with a large number of pages on the site, for example, if a large catalog of goods in the online store.

What is a dynamic sitemap?

A dynamic sitemap is a script that generates a sitemap.xml when accessed. The advantage of this type of map is the constant relevance of the data. The disadvantage is the constant load on the server, each time the search bot; data download speed. This map should be used for small sites or sites on a powerful server.

Why in ocStore 3.x with SEO Pro enabled is the product URL generated without categories?

This is an ocStore 3.x issue, you can call it an ocStore build bug. Canonical product URLs are generated without categories, even if this is specified in the SEO Pro settings. Therefore, in the CNC site map, products are also formed without categories.
But this can be solved by installing the modifier - download.
After its installation, update the cache of modifiers and reset the system cache.
If you have a static sitemap, you need to update it.

What does "Protect access to the sitemap" and "Sitemap access key" mean and why is it necessary?

You can hide the map from others, its URL can be known only to you and the search engine. This is what the "Protect access to the sitemap" option is for.
"Sitemap access key" is any phrase that will be added as a get-parameter to the link to generate the sitemap.
Examples of why Sitemap protection is needed:
  • Many parsers work based on the Sitemap file, so you can protect yourself from parsing.
  • DDoS protection. A dynamic sitemap puts a heavy load on your server because it pulls so much data at once. Attackers can take advantage of this by setting a link in your sitemap to run periodically. This will cause the server to become overloaded, slow down, or fail altogether.
Usually it is not necessary to protect the Sitemap, but if you have such a need - there is an opportunity.
You must be logged in to view the files!

Write a review

Facebook Google
Note: HTML is not translated!
   Bad      Good

SDK  17/03/2024

Извиняюсь. А модуль будет автоматически игнорировать
User-agent: *
Disallow: /*route=account/

opencartbot 17/03/2024

Модуль не бере до уваги правила з файлу robots.txt, але ідея цікава. Якщо у вас ocStore, то модуль може враховувати параметр "Не індексувати" (noindex), який там є у товарах, категоріях і інших сторінках, та не додавати такі сторінки в Sitemap.
В Sitemap не додаються системні сторінки OpenCart, такі як сторінки особистого кабінету, форми повернення, партнерської програми, пошуку, кошика і оформлення замовлення...
Але такі сторінки, якщо потрібно, можна додати вручну, модуль це дозволяє.

Александр Козуб 08/10/2023

Лучший сайтмеп для опенкарта, покупаю для каждого сайта, как и много других модулей этого разработчика.
По возможностям и функциям этому модулю нет равных.

Олександр 20/04/2023

Брав для ocStore 3.0.2.0 все чудово працює, модуль має всі необхідні фунції, для інтернет магазину те що треба. Автор допоміг з встановленням, технічна підтримка найкраща з тих що мені надавали. Брав у автора ще два модулі SEO URL Generator та Auto SEO Tags функціонал та техпідтримка були перевагою у виборі.

Karlito678 24/02/2023

Great extension. It does exactly what I need and adds the hreflang tag plus the url to all pictures. Support is also great and quick!

Serhii Neznaev 18/02/2023

Доброго времени!
Подскажите пожалуйста есть или интеграция с ocFilter + его посадочными страницами?

opencartbot 18/02/2023

Нема. Але є можливість вручну додавати будь-які посилання в карту через форму в адмінці.

Якщо цей модуль ocFilter не зашифрований тотально - можна глянути як він формує список своїх сторінок і зробити адаптацію карти.

Евгений Ип 21/11/2022

Дуже дякую розробнику!!!!
Гарний модуль, гнучкий та зрозумілий у настройках. Придбав в парі з модулем "Мультимовність для SEO Pro OpenCart".
Тепер двомовний сайт укр/рус робе на ура, усі SEO урли та мапа сайту по феншую як для Законодавства України так і для гугл, фейсбук та інше.
Розробник швидко підправив код під мій нестандартний шаблон, та мої побажання.
Рекомендую усім і модулі і РОЗРОБНИКА!!!
Можете оцінити результати роботи:
https://liberty-tech.com.ua

Роман Роздобудько 27/08/2022

Модуль чудовий. Все працює бездоганно. Настройки на будь-який випадок присутні. Раджу автору переробити підказку для поля Розділити товари на частини. Бо зараз підказка не дуже зрозуміла. Я подумав що в цьому полі потрібно ввести кількість товарів в одному файлі Sitemap (так було в інших сервісах, якими я користувався раніше). Я ввів 20000, в результаті отримав 20000 маленьких sitemap-чиків, які потім я видалив. А потрібно було ввести, наприклад 3. Тобто всі товари розділити на 3 файли sitemap.

opencartbot 27/08/2022

Дякую за хороший відгук і зворотній зв'язок! Я подумаю як можна внести ясність в значення цієї опції у наступному оновленні модуля. Удачі Вашому бізнесу!

Ольга 18/07/2022

Очень довольна модулем. Отлично работает даже на проблемном шаблоне. Тех поддержка оперативно отвечает и помогает. Очень рекомендую!

Тарас 11/06/2022

Можу радити модуль і автора. Сайтмеп мені дуже подобається, чекаю на реакцію гугла.

Алексей 02/02/2022

Помог все решить, спасибо!

Jurgen 17/01/2022

Perfect. This extension is useful for me in a multilingual country. Google accepted the sitemap and all links.

Александр Свитящук 25/11/2021

Спасибо за модуль! Все работает, все настроили. Теперь все в одной карте сайта. Отличная поддержка!

opencartbot 25/11/2021

Спасибо за отзыв! С Вами приятно сотрудничать.

Алина 23/11/2021

Спасибо поддержке, все решили очень быстро. И по каждой опции обяснили, что и как работает.

opencartbot 24/11/2021

Спасибо Алина! Всегда готовы помочь, обращайтесь еще.

roxxet 16/11/2021

Модуль просто отличный решил сразу две проблемы карта сайта теперь быстро загружается и хрефланг урлы передает для каждой ссылки

opencartbot 16/11/2021

Спасибо за отзыв!

best
support

Extension Compatibility

  • OpenCart: 2.1.x.x, 2.3.x.x, 3.0.0.0, 3.0.0.2, 3.0.1.0, 3.0.1.1, 3.0.1.2, 3.0.2.0, 3.0.3.0, 3.0.3.1, 3.0.3.2, 3.0.3.3, 3.0.3.4, 3.0.3.5, 3.0.3.6, 3.0.3.7, 3.0.3.8, 3.0.3.9, 4.0.1.1, 4.0.2.1, 4.0.2.2, 4.0.2.3
$15.00
Domain for which the extension will be purchased
Available payment methods
Official OpenCart partner

OpenCart Development Partner

  •  Professional support of the author
  • Lifetime license
  • The license key is provided automatically
  •  Free license key for test domain
  • Extensions can be modified
  • Periodic module updates
  • Free technical support
Special offer


More OpenCart Extensions

Read Our Blog