Модуль формує правильну мультимовну карту сайту XML для OpenCart. Генерація Sitemap XML, яка відповідає правилам і вимогам пошукових систем. Розширення дозволяє повністю керувати створенням карти сайту: включити або виключити сторінки сайту, товари, категорії, виробники і т.п.
DEMO AdminDEMO Live
Логін/пароль: demo/demo
Швидка карта сайту з Hreflang на OpenCart
Для кожного типу сторінок, наприклад Товари, Категорії, можна задавати значення пріоритету (тег priority), частоту оновлення контенту (тег changefreq). Також в сайтмап можна виводити дату останньої зміни товару (тег lastmod) і зображення товару (тег image).
Присутня унікальна функція додавання будь-яких посилань в xml-карту сайту. Можна додавати різні ссилки для різних мовних версій сторінок. Для кожного посилання можна окремо вказати пріоритет і частоту сканування роботами.
Модуль Мультимовна карта сайту OpenCart дозволяє задати свій власний код мови hreflang. Наприклад, для української мови допустимі формати hreflang: uk або uk-ua.
Також доповнення багатомовної карти сайту OpenCart може віддавати вам як динамічно згенеровану карту так і статичний XML-файл за прямим посиланням. При виборі статичної карти необхідно забезпечити її періодичне оновлення. Для цього достатньо запускати посилання для оновлення в браузері або поставити завдання на запуск за розкладом CRON на хостингу.
Приклад мультимовної карти сайту
Модуль OpenCart карта сайту також буде працювати на одномовних сайтах і буде віддавати валідний sitemap.xml
Модуль сумісний зі стандартним ЧПУ SEO URL, а також з SEO Pro. Також він сумісний з нашим доповненням "Мультимовність для SEO PRO" і модулем "SEO мультиязык/мультирегион" (SEO CMS) і буде генерувати XML карту з мовними префіксами в URL і атрибутами hreflang, які вказують пошуковим системам, що посилання пов'язані між собою і є різними мовними версіями однієї і тієї ж сторінки.
Правильна і швидка Опенкарт XML карта сайту для Google, Bing та інших пошукових систем.
Основні можливості модуля Мультимовна карта сайту XML
- управління додаванням сторінок в карту сайту;
- додавання будь-яких посилань в сайтмап;
- ручне управління параметрами priority, changefreq, lastmod;
- власний hreflang для кожної мови;
- вибір локалізації за замовчуванням - x-default;
- розділення карти сайту на декілька, індексний файл;
- окремі карти сайти для товарів, категорій, виробників, блогів, сторінок;
- розділення Sitemap з товарами на частини по n-товарів;
- ігнорування сторінок із тегом noindex (для ocStore);
- вибір методу віддачі файлу: динамічний або статичний XML;
- швидка обробка даних і генерація, завдяки власним оптимізованим sql-запитам;
- підтримка багатомовних посилань і URL з префіксами мов;
- захист доступу до карти за допомогою пароля;
- оновлення карти через CRON завдання;
- підтримка мульти-магазину.
Інструкція щодо інсталяції модуля:
- Завантажити модуль в адмін-панелі в розділі "Доповнення" : "Установка доповнень".
- Перейти у розділ "Панель стану" та оновити кеш шаблону.
- Перейти в розділ "Доповнення" : "Доповнення" : "Канали просування" та включити модуль.
- Редагувати модуль. Включити статус модуля та налаштувати всі його опції під свої потреби і зберегти налаштування.
- Для перевірки багатомовних карт сайту зручно користуватися безкоштовним сервісом https://technicalseo.com/tools/hreflang/
Також можна використовувати сервіс перевірки Sitemap XML від Google.
v2.3.3 (27.03.2024) - Виправлення формування URL виробників у модулі для версії OpenCart 4.0. Додано більше підказок до полів в налаштуваннях.
v2.3.2 (18.01.2024) - Виправлено проблему з недійсною датою у Lastmod, це відбувалось коли у товарів і категорій після імпорту немає дати додавання/редагування.
v2.3.1 (13.01.2024) - Покращення карти сайту для одномовних сайтів
v2.3.0 (06.12.2023) - Підтримка мульти-магазину. Можливість додавання в Sitemap усіх зображень товару. Додано можливість розділення Sitemap по заданій кількості товарів в одній карті. Виправлено помилки у роботі модуля на OpenCart 4.0.x.x.
v2.2 (16.01.2023) - Додано версію модуля для OpenCart 4.0.x.x
v2.2 (15.07.2022) - Виправлено баг при відключенні Lastmod. Модуль для OpenCart 2.x.x.x більше не оновлюватиметься.
v2.1 (15.06.2022) - Додано підтримку модулів Galleria, Посадкові сторінки, Clean Blog. Оптимізація генерації карти сайту.
v2.0 (09.06.2022) - Додано x-default, статуси для priority і changefreq, lastmod для всіх посилань в картах. Врахування тега noindex (для ocStore). Підтримка блога ocStore та модуля OCT Blog. Розділення карти на частини по типах: категорії, виробники, товари, сторінки, блог, новий індексний файл. Стилізація карти.
v1.3 (05.05.2022) - Вирішена проблема з додаванням системних сторінок в карту
v1.2 (17.02.2022) - Розділення карти на частини при великій кількості товарів, індексна карта сайту, захист паролем доступу до карти (чи до її оновлення), підтримка префіксів в URL доданих модулем SEO CMS або SEO мультиязык/мультирегион
v1.1 (26.11.2021) - Додано підтримку OpenCart 2.3.x.x та ocStore 2.3.x.x
Як поставити CRON завдання для оновлення статичного файлу sitemap.xml?
Відкрийте панель керування вашим хостингом (ISP Manager, Cpanel, VestaCP чи ін.), знайдіть там розділ CRON і створіть там нове завдання.
Якщо ваш хостинг дозволяє запускати скрипти методом wget, тоді ви можете просто скопіювати посилання із налаштувань модуля і вставити його в завдання.
Але буває таке, що хостинг дозволяє тільки прямий запуск скриптів.
В такому випадку потрібно створити скрипт, який будемо запускати через CRON:
-
В корені сайту створіть новий php-файл (наприклад cron-sitemap.php).
-
Вставте в нього скрипт, який буде оновлювати карту сайту.
Варіант скрипта з використанням функції file_get_contents:
<?php
// Вставте свій URL, скопіювавши його в налаштуваннях модуля
$url = 'https://domain.com/index.php?route=extension/feed/sitemap_ml';
echo file_get_contents($url);
?>
Варіант скрипта з використанням cURL:
<?php
// Вставте свій URL, скопіювавши його в налаштуваннях модуля
$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);
?>
-
Потрібно сформувати абсолютний шлях до нашого файлу, наприклад /home/user/public_html/domain.com/cron-sitemap.php
Дізнатися шлях до кореневої папки сайту на сервері можна у файлі config.php
-
У панелі керування хостингом перейдіть у розділ CRON і створіть там нове завдання. На цій сторінці має бути коротка інформація про те, як сформувати завдання.
Зазвичай потрібно вибрати періодичність запуску скрипта і прописати команду. У команді потрібно використати абсолютний шлях до файлу, який ми створили.
На кожному хостингу можуть бути свої особливості додавання крон-завдання. Якщо на цьому етапі у вас виникнуть проблеми, ви можете звернутися у техпідтримку вашого хостингу з прохання про допомогу.
Як зробити посилання на динамічну карту сайту у вигляді sitemap.xml?
В файлі .htaccess, який знаходиться в корені сайту, знайти рядок:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
замінити його на:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/sitemap_ml [L]
Після цього необхідно скинути кеш браузера, щоб побачити зміни.
Якщо ви використовуєте SEO Pro для формування ЧПУ, потрібно зробити ще одну правку в файлі catalog/controller/startup/seo_pro.php
Треба знайти там фразу "google_sitemap" та замінити на "sitemap_ml". Якщо ж такої фрази немає - потрібно додати наступний код у метод validate() (так як на скріншоті нижче).
if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
$this->request->get['route'] = 'extension/feed/sitemap_ml';
return;
}
Після правок треба оновити кеш модифікаторів у адмін панелі у розділі Модифікатори.
Що означає "Розділити карту на частини"?
При ввімкнені опції "Розділити карту на частини" буде створено кілька карт сайту по типах: сторінки, категорії, виробники, товари, блог і т.д. Всі ці карти будуть об'єднані так званим індексним файлом Sitemap Index, який потрібно буде прописати файлі robots.txt чи відправити в Google Search Console. Робот просканує індексну карту сайту OpenCart і самостійно знайде там всі ваші карти.
Ця опція може бути корисною, якщо у вас дуже багато сторінок і звичайна карта занадто велика або довго завантажується. Також у модулі є можливість створити кілька карт з товарами, рівномірно розділивши товари на декілька частин.
Як змінити назви статичних файлів карти сайту?
Відкрийте файл catalog/controller/extension/feed/sitemap_ml.php
У рядку 3 можна змінити назву файлу:
private $filename = 'sitemap';
Наприклад так:
private $filename = 'my-sitemap';
Чому не відкривається статична карта сайту?
В файлі .htaccess, який знаходиться в корені сайту, знайти рядок і видалити або закоментувати його cимволом #:
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
Що таке Priority?
Priority - це внутрішній пріоритет сторінок, тобто важливість одних сторінок відносно інших. Найважливіші сторінки на сайті повинні мати пріоритет "1.0", найменш важливі - "0.1".
Немає якихось правил щодо того який пріоритет повинен бути в певних типів сторінок, це все індивідуально налаштовується.
Наприклад, якщо головна сторінка є найважливішою на вашому сайті, її пріоритет варто встановити "1.0". Також у інтернет-магазині дуже важливими є сторінки товарів - їм можна надати пріоритет - "0.9". Категоріям - "0.8", виробникам - "0.7" і т.д.
Недавно стало відомо, що Google більше не приймає до уваги цей параметр, тому його можна не передавати у карті сайту. Щодо інших пошукових систем - їх позиція невідома.
Що таке Changefreq (Frequency)?
Changefreq - це приблизна частота оновлення контенту сторінки. Можливі значення: always, hourly, daily, weekly, monthly, yearly, never, що говорять самі за себе.
Приклад: якщо ви змінюєте щось у товарі щоденно, як от опис чи зображення, тоді потрібно вибрати "daily", але якщо ви додаєте товар і забуваєте про нього, тоді варто вибрати "monthly" чи навіть "yearly".
Недавно стало відомо, що Google більше не приймає до уваги цей параметр, тому його можна не передавати у карті сайту. Щодо інших пошукових систем - їх позиція невідома.
Що таке Lastmod?
Lastmod - це дата останнього оновлення контенту сторінки. Тобто після кожного редагування сторінки в параметрі lastmod повинна оновлюватися дата і це повинно вказувати пошуковому роботу, що цю сторінку варто якнайшвидше просканувати.
Що таке статична карта сайту?
Статична карта сайту - це xml файл на сервері, який містить список URL сторінок сайту для індексації. Статичну карту потрібно періодично оновлювати, щоб підтримувати її актуальність. Перевагою статичної карти є те, що вона є вже згенерованою і не залежить від швидкодії роботи серверу і бази даних. Такий тип sitemap.xml доцільно використовувати при великій кількості сторінок на сайті, наприклад, якщо великий каталог товарів у інтернет-магазині.
Що таке динамічна карта сайту?
Динамічна карта сайту - це скрипт, при зверненні до якого "на льоту" генерується sitemap.xml. Перевагою такого типу карти є постійна актуальність даних. Недоліком є постійне навантаження на сервер, при кожному зверненні пошукового бота; швидкість завантаження даних. Таку карту варто використовувати для невеликих сайтів або сайтів на потужному сервері.
Чому в ocStore 3.x з ввімкненимSEO Pro ЧПУ товарів формується без категорій?
Це проблема ocStore 3.x, можна назвати це багом збірки ocStore. Канонічні URL товарів формуються без категорій, навіть якщо це вказано в настройках SEO Pro. Тому в карті сайту ЧПУ товарів також формуються без категорій.
Але це можна вирішити установкою модифікатора -
завантажити.
Після його встановлення - оновити кеш модифікаторів і скинути системний кеш.
Якщо у вас статичний sitemap - потрібно його оновити.
Що означає "Захистити доступ до карти" та "Ключ доступу" і для чого це потрібно?
Ви можете приховати карту від інших, її URL адреса може бути відома тільки вам і пошуковій системі. Саме для цього і призначена опція "Захистити доступ до карти".
"Ключ доступу до карти" - це будь яка фраза, яка буде додана як get-параметр у посилання для генерації карти сайту.
Приклади, для чого потрібен захист Sitemap:
-
Багато парсерів працюють орієнтуючись саме по файлу Sitemap, таким чином можна захиститися від парсингу.
-
Захист від DDoS. Динамічна карта сайту сильно навантажує ваш сервер, оскільки витягує дуже багато даних одночасно. Зловмисники можуть скориститися цим, поставивши посилання на ваш сайтмеп на постійний періодичний запуск. Це призведе до перевантаження серверу, сповільнення його роботи або взагалі відмову.
Зазвичай захищати сайтмеп не потрібно, але якщо у вас буде така необхідність - можливість є.
Необхідно авторизуватися для того щоб переглядати файли!