Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


Halonest
 Share

Recommended Posts

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

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

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

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

Link to comment
Share on other sites


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
Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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

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

catalog

 

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

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

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

нет

Link to comment
Share on other sites

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

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

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

 

 

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

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

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

Link to comment
Share on other sites


В 25.12.2018 в 18:39, Halonest сказал:

основные циклы стокового файла должны быть каким-то образом вложены в цикл, перебирающий языки...

именно

Link to comment
Share on other sites

  • 1 year later...
  • 2 months later...
  • 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 не умеет?

Link to comment
Share on other sites


  • 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

Edited by georgina
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.