Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Sitemap для двуязычного сайта


Halonest

Recommended Posts

Opencart 3.0.2.0 (оригинальная версия)
Магазин 2 язычный.

Штатный модуль Google Sitemap создает карту сайта только для основного языка.
На маркетплейсе офф. сайта лежит платный модуль мультиязычного sitemap, формирующий отдельные feed-ссылки для каждого языка. Но у модуля только 4 закачки, что наводит на мысли, что, возможно, есть способ сформировать отдельную карту для второго языка каким-то иным способом.

Была мысль временно переключить основной язык, сформировать карту штатным модулем, сохранить в файл, и этот файл вскормить Google Search Console. Метод, конечно, совершенно лишенный автоматизма, но тем не менее... Но каким образом получить вместо ссылки файл xml с картой? Насколько я понял, feed-ссылка не предполагает существования физического файла где-нибудь в public_html?

Возможно, есть более правильный метод создания карты для мультиязычного сайта?

Надіслати
Поділитися на інших сайтах


2 часа назад, Halonest сказал:

Возможно, есть более правильный метод создания карты для мультиязычного сайта?

 

добавить цикл в сайтмап


...
$this->load->model('localisation/language');
$languages = $this->model_localisation_language->getLanguages();
$config_language_id = $this->config->get('config_language_id');
				
				foreach ($languages as $language) {
					$this->config->set('config_language_id', $language['language_id']);
					.....
				}

$this->config->set('config_language_id', $config_language_id);
...

примерно так

  • +1 1
Надіслати
Поділитися на інших сайтах

@Otvet , спасибо!
Этот цикл следует вставить в \admin\controller\extension\feed\google_sitemap.php - верно?
Не подскажете, как этот цикл корректно внедрить в код? (я в php, увы, нуб)

google_sitemap.php

Надіслати
Поділитися на інших сайтах


а можно еще просто скопировать все ссылки, сделать str_replace добавив префикс языка и вальнуть его в карту

Надіслати
Поділитися на інших сайтах

29 минут назад, spectre сказал:

а можно еще просто скопировать все ссылки, сделать str_replace добавив префикс языка и вальнуть его в карту

Если... это языковая ссылка с префиксом
А если как в тройке - язык имеет свой линк? (пример - статьи от марка)
 

Надіслати
Поділитися на інших сайтах

11 минут назад, chukcha сказал:

Если... это языковая ссылка с префиксом
А если как в тройке - язык имеет свой линк? (пример - статьи от марка)
 

можно поиграться с $this->config->get('config_language_id') 

тут же общий пример :)

Надіслати
Поділитися на інших сайтах

14 часов назад, Halonest сказал:

в \admin\controller\extension\feed\google_sitemap.php - верно?

catalog

 

14 часов назад, Halonest сказал:

Не подскажете, как этот цикл корректно внедрить в код? (я в php, увы, нуб)

всё сделать за вас?

нет

Надіслати
Поділитися на інших сайтах

4 часа назад, spectre сказал:

а можно еще просто скопировать все ссылки, сделать str_replace добавив префикс языка и вальнуть его в карту

Так в моем случае не сработает: на сайте включен SEO URL, ссылки на различных языках отличаются.

 

 

3 часа назад, Otvet сказал:

всё сделать за вас?

За меня не нужно. Но совет ценен, если знать, как им воспользоваться... В catalog\controller\extension\feed\google_sitemap.php вижу ряд циклических команд для формирования карты - отдельно для продуктов, производителей, статей, категорий и т.п. Но не понимая структуры языка, не разобраться - как применить Ваш цикл. Могу предположить только, что основные циклы стокового файла должны быть каким-то образом вложены в цикл, перебирающий языки...

Надіслати
Поділитися на інших сайтах


  • 1 year later...
  • 2 months later...

Для мультиязычной карты нужно использовать hreflang

пример

http://demo3.slasoft.kharkov.ua/index.php?route=extension/feed/google_sitemap_fast

Надіслати
Поділитися на інших сайтах

5 минут назад, chukcha сказал:

Для мультиязычной карты нужно использовать hreflang

пример

http://demo3.slasoft.kharkov.ua/index.php?route=extension/feed/google_sitemap_fast

 

мне наоборот нужно убрать мультиязічность

Надіслати
Поділитися на інших сайтах


7 минут назад, kirosin сказал:

мне наоборот нужно убрать мультиязічность

нема питань

http://demo3.slasoft.kharkov.ua/index.php?route=extension/feed/google_sitemap_fast&language=2

 

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

 

В 24.12.2018 в 17:27, Halonest сказал:

Штатный модуль Google Sitemap создает карту сайта только для основного языка.

 

Если стоит SEO Pro с указанием языка в URL, то достаточно гуглу скормить две ссылки:

 

http://example.com/en/index.php?route=extension/feed/google_sitemap

http://example.com/de/index.php?route=extension/feed/google_sitemap

 

Или в 3.0 SEO Pro принципиально поменялся и больше он переключать язык через URL не умеет?

Надіслати
Поділитися на інших сайтах


  • 2 months later...
В 02.07.2020 в 13:57, chukcha сказал:

Для мультиязычной карты нужно использовать hreflang

пример

http://demo3.slasoft.kharkov.ua/index.php?route=extension/feed/google_sitemap_fast

Поскольку по Вашей ссылке пример карты сайта не открывается - решила спросить: я делаю sitemap через hreflang, как на скриншоте. Версия опенкарт 3.0.3.6.

Мне можно сделать в таком виде, как я указываю или нужно ставить модуль "SEO мультиязык" и переделывать?

 

И как в таком случае указать две версии языка для главной страницы?

 

Screenshot_2.png

Змінено користувачем georgina
Надіслати
Поділитися на інших сайтах


  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.