Автор Тема: Корневой URL в логотипе и хлебных крошках для SEO  (Прочитано 583 раз)

23 Ноябрь 2016, 21:49:56
  • Ученик
  • Фрилансер
  • *
  • Сообщений: 110
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Привет)
Сделал такую штуку, чтоб главная не ссылалась сама на себя. Но надо доделать.
<div id="header_logo">
{if $page_name == 'category' or $page_name == 'product' or $page_name == 'manufacturer' or $page_name == 'cos' or $page_name == 'guest-tracking' or $page_name == 'best-sales' or $page_name == 'pagenotfound' or $page_name == 'order'}
<a href="{$base_dir_ssl}" title="{$shop_name|escape:'html':'UTF-8'}">
{/if}
<img class="logo img-responsive" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}"{if isset($logo_image_width) && $logo_image_width} width="{$logo_image_width}"{/if}{if isset($logo_image_height) && $logo_image_height} height="{$logo_image_height}"{/if}/>
</a>
</div>
Хочу спросить. Как для мультиязычного сайта, прописать эту часть {$base_dir_ssl} чтоб URL вел не в корень сайта site.com/ (там стоит 301 на основной язык сайта), а с русскоязычной на site.com/ru/ с англоязычной на site.com/en/. Тоже самое и для breadcrumb в ссылке на главную.
Так как корень собирает со всех страниц и языковых версий вес который 301-м редиректится. А много 301 - плохо.
Это хорошо видно на картинке с направленными графами.
Заранее, спасибо.
24 Ноябрь 2016, 10:59:32
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl}Для всех языковых версий. Язык подставляется в htaccess и определяется в cookie.
24 Ноябрь 2016, 11:08:55
Ответ #2
  • Ученик
  • Фрилансер
  • *
  • Сообщений: 110
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl}Для всех языковых версий. Язык подставляется в htaccess и определяется в cookie.
То есть, простым решением никак? Я, к сожалению, далековат от программирования :)
24 Ноябрь 2016, 11:23:33
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl}Указывает на корень вашего магазина, в мультимагазине на разные сайты. Так что нет никакого редиректа.
24 Ноябрь 2016, 11:31:59
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl} и {$base_dir_ssl} это и есть простое решение.

Можно и не простым, определить url каждого сайта и подставлять его в зависимости от названия
{assign var="url_myshop" value=Shop::getShops() }
{* url первого сайта *}
{$url_myshop[1]['uri']}
{* url второго сайта *}
{$url_myshop[2]['uri']}
или использовать функцию
{$link->getPageLink('index.php')}
24 Ноябрь 2016, 11:43:48
Ответ #5
  • Ученик
  • Фрилансер
  • *
  • Сообщений: 110
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl}Указывает на корень вашего магазина, в мультимагазине на разные сайты. Так что нет никакого редиректа.
Нет, функция мультиМагазин отключена. Включена мультиЯзычность.
Если стоит язык по умолчанию с префиксом, например /ru/, то URL (в логотипе) и (в хлебных крошках (на главную)) ведет в корень сайта / и редиректится 301-м на /ru/.
24 Ноябрь 2016, 11:48:36
Ответ #6
  • Ученик
  • Фрилансер
  • *
  • Сообщений: 110
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$base_dir_ssl} и {$base_dir_ssl} это и есть простое решение.

Можно и не простым, определить url каждого сайта и подставлять его в зависимости от названия
{assign var="url_myshop" value=Shop::getShops() }
{* url первого сайта *}
{$url_myshop[1]['uri']}
{* url второго сайта *}
{$url_myshop[2]['uri']}
или использовать функцию
{$link->getPageLink('index.php')}
Нет не мультиМагазин, сайт один, а включила мультиЯзычность.
Наверное надо смотреть что-то с id_lang. Чтобы URL вел не просто в корень, а сразу подставлялся с нужным id_lang. Это же как-то работает в модуле "blocklanguages".
Но все равно, спасибо.