Автор Тема: Тег canonical  (Прочитано 544 раз)

25 Август 2016, 13:06:16
Ответ #15
  • Ветеран
  • *****
  • Сообщений: 33037
  • Репутация: +26761/-0
    • Просмотр профиля
Вставляем {if $page_name == 'product' && isset($product['id_category_default'])}
<link rel="canonical" href="{$link->getProductLink($product['id_category_default'])}" />
{/if}
верно?
разницы нет, по прежнему каноникал показывается соответствующий просматриваемой ссылке.
Тот код, что я написал, работает в контроллере товара. На других страницах будет другой код.
Главное что у товара есть 'id_category_default', поэтому можно всегда узнать эту категорию.
Для определения канонической ссылки эта переменная бесполезна.
Что касается вашего кода, то он неправильный, для getProductLink использут id товара, а не id категории.
25 Август 2016, 13:26:13
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 1284
  • Репутация: +33/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В адмике в настройках SEO и URL включаете 301 редирект в Редирект на канонический (основной) URL.
Включаете чпу, в правилах чпу устанавливаете путь к странице товара
{id}-{rewrite}Все запросы к одной странице будут редиректится на адрес site.ru/1-product.html.
25 Август 2016, 13:33:30
Ответ #17
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{if $page_name == 'product' && isset($product->id)}
<link rel="canonical" href="{$link->getProductLink($product->id)}" />
Так вот этот код и определит один url страницы товара по правилам чпу.
Загрузите этот код и посмотрите как он работает когда карточка отрабатывается одновременно по разным категориям
Загрузил, только на страницу товара. Везде один canonical. Зачем его добавлять на страницы категории? Робот переходит на страницы товара и определяет группу страниц и один предпочитаемый адрес.
толи я Вас не понимаю, то ли Вы меня:)
а кто говорил о том, что бы добавлять его на страницы категорий?!
1) добавлять же надо код этот в header.tpl?
2) код на сколько понял работает следующим образом - если это страница карточки товара, то загружается тег каноникал для этой станицы.
3) да все верно с роботом и определяет предпочитаемый адрес. Но товар может попасть в индекс и два раза - посредством прямой ссылки и через категорию.

А с этим кодом у меня канонический адрес получается разный. Может я что-то делаю не так. Не понимаю почему  у Вас везде один канонический.
У меня вот что - см. файл вложения
25 Август 2016, 13:50:07
Ответ #18
  • Ветеран
  • *****
  • Сообщений: 2794
  • Репутация: +65/-4
  • Сообщество PrestaShop
    • Просмотр профиля
У меня не отрывается страница
http://prestashop.ru/1.htmlпри обращении к такому адресу редирект на
http://prestashop.ru/tshirts/1.htmlПравила чпу у меня созданы с учетом вложенности.
25 Август 2016, 13:50:16
Ответ #19
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В адмике в настройках SEO и URL включаете 301 редирект в Редирект на канонический (основной) URL.
Включаете чпу, в правилах чпу устанавливаете путь к странице товара
{id}-{rewrite}Все запросы к одной странице будут редиректится на адрес site.ru/1-product.html.
это включено, почему-то не работает. Это уже другая проблема)
Так как много страниц уже попало в индекс то решил что проще и быстрее будет решить вопрос указанием канонического адреса
25 Август 2016, 13:53:23
Ответ #20
  • Ветеран
  • *****
  • Сообщений: 2794
  • Репутация: +65/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
да все верно с роботом и определяет предпочитаемый адрес. Но товар может попасть в индекс и два раза - посредством прямой ссылки и через категорию.
Переиндексирует со временем, не быстро, есть страниц много. Нужно только добавить канонические URL. В веб мастере проверь видимость сайта как поисковый робот его видит. Там сразу увидишь засчитывает  rel="canonical" или нет.
25 Август 2016, 13:54:51
Ответ #21
  • Ветеран
  • *****
  • Сообщений: 2794
  • Репутация: +65/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
это включено, почему-то не работает. Это уже другая проблема)
Может у тебя nginx, тогда правила редиректа нужно самому добавлять в конфигурацию сайта.
25 Август 2016, 17:08:47
Ответ #22
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В адмике в настройках SEO и URL включаете 301 редирект в Редирект на канонический (основной) URL.
Включаете чпу, в правилах чпу устанавливаете путь к странице товара
{id}-{rewrite}Все запросы к одной странице будут редиректится на адрес site.ru/1-product.html.
У меня не отрывается страница
http://prestashop.ru/1.htmlпри обращении к такому адресу редирект на
http://prestashop.ru/tshirts/1.htmlПравила чпу у меня созданы с учетом вложенности.
Цитировать
это включено, почему-то не работает. Это уже другая проблема)
Может у тебя nginx, тогда правила редиректа нужно самому добавлять в конфигурацию сайта.
я вижу, что у вас по разному настроен редирект. А как правильней? 301 редирект на "site.ru/1-product.html" или на главную категорию "tshirts/1.html" ?
да, все верно у меня nginx... теперь понятно почему раньше работал редирект и теперь нет... из-за этого у меня теперь куча дубляжа в выдаче.
вот и думаю как оптимальнее решить...
спасибо всем за ответы и помощь!!
25 Август 2016, 17:13:08
Ответ #23
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Наверное самое правильное в моем случае настроить 301 редирект по схеме со всех дубляжей на site.ru/parent-categoru/pruduct.html
и канонический адрес настроить по такой же схеме? сталкивался кто как оперативней? слышал что куча настроенного 301 редиректа тоже отрицательно сказывается - робот медленно обрабатывает ресурс.