Тег canonical

Добрый день.

Вопрос к CS-Cart и экспертам по seo.

Правильно ли реализован тег canonical, если по сути он не выполняет своей роли, а опять же делит страницы друг от друга.

Например.
Каталог товаров, страница 2 http://joxi.ru/Y2L3GqGf9EPGRm

<link rel="canonical" href="http://demo.cs-cart.com/stores/fe988e7f527143fb/apparel/page-2/" />

Яндекс говорит:

Если предпочитаемый адрес — /blog, это нужно отразить в коде страницы /pages?id=2:

Также если на странице атрибут rel="canonical" расположен с указанием непосредственного адреса этой страницы, робот посчитает ее канонической. Данная страница будет индексироваться и появится в поисковой выдаче Яндекса.

Именно по-этому, в поиске начинают гулять адреса пагинации http://demo.cs-cart.com/stores/fe988e7f527143fb/apparel/page-2/

Нет ли там ошибки, и тег должен выглядеть так, если мы находимся на 2,3,4… страницах:
<link rel="canonical" href="http://demo.cs-cart.com/stores/fe988e7f527143fb/apparel" />

Страницы пажинации имеют разный контент, поэтому не являются дубликатами.

В данном случае поисковики дают разные рекомендации по созданию таких страниц. Google рекомендует добавлять на каждой странице пажинации атрибут canonical со ссылкой на эту страницу, т.е. так, чтобы каждая страница индекисровалась (https://webmasters.googleblog.com/2013/04/5-common-mistakes-with-relcanonical.html). Яндекс же рекомендует добавлять атрибут canonical со ссылкой на первую страницу пажинации (т.е. так, чтобы индексировалась только она).

В CS-Cart это поведение соответствует требованиям Google.

1 лайк

Спасибо за быстрый ответ :+1:

для России тег canonical в CS-CART реализован неправильно. В индекс попадают лишние “мусорные” страницы пагинации. Мы это все сразу же переделали и показатели по SEO заметно возросли.

1 лайк

Подскажите как переделали. На страницах пагинации canonical на первую страниицу делаете или может у страниц пагинации noindex ставите?

Тоже нужно делать canonical на первую страницу пагинации.
Может, есть какой-то модуль? Довольно распротраненная же задача.

app/addons/seo/func.php

попробуйте заменить

$seo_canonical['current'] = fn_url($base_url . fn_seo_canonical_url_page($search['page']));

на

$seo_canonical['current'] = fn_url($base_url);
2 лайка

Здравствуйте! вроде бы в нужном месте поменял https://yadi.sk/i/isFkKPgn3aZdfx . перезаписал файл, кэш почистил. ничего не изменилось view-source:https://carpetmall.ru/kovry/page-2/

спасибо

сам же нашел ответ. права на папку 666, но почему-то не могу поменять на 777 в файлзиле. в чем дело может быть?

1 лайк

А если у вас есть SEO фильтр от АБ то надо еще и тут изменить
\app\addons\ab__seo_filters\controllers\frontend\categories.post.php

$seo_canonical['current'] = fn_url('categories.view&category_id=' . $_REQUEST['category_id'] . '&features_hash=' . $ab__seo_data['features_hash'] . ABSF::canonical_url_page($search['page']), 'C', fn_get_storefront_protocol());

на

$seo_canonical['current'] = fn_url('categories.view&category_id=' . $_REQUEST['category_id'] . '&features_hash=' . $ab__seo_data['features_hash'] , 'C', fn_get_storefront_protocol());
2 лайка

Подскажите удалось решить проблему? У меня стоят 777 права в файле но каноникал не передается все равно(

Вариант с заменой на $seo_canonical['current'] = fn_url($base_url); точно рабочий.

не ясно тогда чего не хватает))

Что значит “не передается”? Вообще пустой?

да, я вам на почту написал) Посмотрите пожалуйста

1 лайк

обратился к хостингу, они на своей стороне поменяли права на папку, тоже удивлялись

нужно прям на папку SEO делать права 777? Просто 700 не хватит?

Еще вариант. В панели управления очистка кэша включена? http://joxi.ru/J2bRL5LCXON4n2
Если нет - включите, проверьте.

Рекомендуется 755

https://docs.cs-cart.com/4.9.x/install/useful_info/permissions.html

P.S. Проблема у ip63 из-за стороннего модуля

1 лайк

Здравствуйте! только сегодня увидел Ваш комментарий. А зачем этот код вставлять? на странице фильтра и так все впорядке. или здесь что-то другое? скрин https://yadi.sk/i/HKA4Ic1CNnbg7Q