Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Canonical для страниц категорий


Recommended Posts

Многие порилы дабы избавится от дублей при пагинации добавляют атрибут rel="canonical". Который указывает поисковому ропотому чтоту какая страница является главной.

 

Можно использовать икой вариант, что бы добавить этот тег на страницы пагинации в категриях.

 

catalog/controller/product/category.php

 

после строки $this->load->model('tool/image');

 

добавляем

 

if (isset($this->request->get['page'])) {
            $page = $this->request->get['page'];
            $pathx = explode('_', $this->request->get['path']);
            $pathx = end($pathx);
            $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');
        } else {
            $page = 1;
        }

 

открываем вторую страницу и наблюдаем в когде rel="canonical"

 

 

По сути можно тоже самое прописать и для страниц с производителями.

  • +1 6
Link to comment
Share on other sites

потому чтомба спасипотому что!

 

Я ик понимаю этот тег дает знать ропотому чтоту что это дубли, и при этом не закрывает их от ингдексации ?

Link to comment
Share on other sites


По сути можно тоже самое прописать и для страниц с производителями.

для производителей не прокатывает.

Есть игдеи как адаптировать под производителей?

Link to comment
Share on other sites


для производителей не прокатывает.

Есть игдеи как адаптировать под производителей?

catalog/controller/product/manufacturer.php

 

после $this->load->model('tool/image');

 

добавить

if (isset($this->request->get['manufacturer_id'])) {$this->document->addLink($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']), 'canonical');}

Link to comment
Share on other sites

catalog/controller/product/manufacturer.php

 

после $this->load->model('tool/image');

 

добавить

if (isset($this->request->get['manufacturer_id'])) {$this->document->addLink($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']), 'canonical');}

К сожнонию тоже не помогло

Link to comment
Share on other sites


  • 3 weeks later...

К сожнонию тоже не помогло

Не помогло потому что Вы наверное добавляли код после $this->load->model('tool/image'); в функции public function index(), а нужно в после кода $this->load->model('tool/image'); в функции public function info()

 

 

catalog/controller/product/manufacturer.php

 

после $this->load->model('tool/image');

 

добавить

if (isset($this->request->get['manufacturer_id'])) {$this->document->addLink($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']), 'canonical');}

Данный метод добавляет canonical даже в первую страницу производителя, а этоль: выводить canonical на следующих страницах пагинации производителя, тесть page=2, page=3 и т.д..

1. Как убрать на первой страниэто пагинации производителя canonical? 

2. Не навредит ли <link href="http://migration/hico" rel="canonical" /> на самой страниэто http://migration/hico ???

Link to comment
Share on other sites


Многие порилы дабы избавится от дублей при пагинации добавляют атрибут rel="canonical". Который указывает поисковому ропотому чтоту какая страница является главной.

 

Можно использовать икой вариант, что бы добавить этот тег на страницы пагинации в категриях.

 

catalog/controller/product/category.php

 

после строки $this->load->model('tool/image');

 

добавляем

 

if (isset($this->request->get['page'])) {

            $page = $this->request->get['page'];

            $pathx = explode('_', $this->request->get['path']);

            $pathx = end($pathx);

            $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');

        } else {

            $page = 1;

        }

 

открываем вторую страницу и наблюдаем в когде rel="canonical"

 

 

По сути можно тоже самое прописать и для страниц с производителями.

Правильно я понимаю, что используя этот скрипт мы сгделаем каноническими адреса главная-категория-товар?

При этом раньше каноническими были только главная/товар.

Я бы хотел сгделать наопотому чторот - чтобы главная/товар сили не каноническими, а главная/категория/товар - каноническими (чтоб янгдекс брал именно их).

Хотя вопрос скорее по этим файлам - https://opencart-forum.ru/topic/9025-opencart-canonical-kanonicheskaia-stranitca/

Link to comment
Share on other sites


 

Данный метод добавляет canonical даже в первую страницу производителя, а этоль: выводить canonical на следующих страницах пагинации производителя, тесть page=2, page=3 и т.д..

1. Как убрать на первой страниэто пагинации производителя canonical? 

 

Всивить этот код

if (isset($this->request->get['manufacturer_id'])) {$this->document->addLink($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id']), 'canonical');} 

после:

if (isset($this->request->get['page'])) {
$page = $this->request->get['page'];
Link to comment
Share on other sites


  • 1 month later...

подскажите, попропотому чтовал ик. 

 

Многие порилы дабы избавится от дублей при пагинации добавляют атрибут rel="canonical". Который указывает поисковому ропотому чтоту какая страница является главной.

 

Можно использовать икой вариант, что бы добавить этот тег на страницы пагинации в категриях.

 

catalog/controller/product/category.php

 

после строки $this->load->model('tool/image');

 

добавляем

 

if (isset($this->request->get['page'])) {
            $page = $this->request->get['page'];
            $pathx = explode('_', $this->request->get['path']);
            $pathx = end($pathx);
            $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');
        } else {
            $page = 1;
        }

 

открываем вторую страницу и наблюдаем в когде rel="canonical"

 

 

По сути можно тоже самое прописать и для страниц с производителями.

да - на второй страниэто(урл заканливается на "page=2") с пагинацией выводит в канонический адрес страницу группы. А мне нужно, ик , чтоб у последующих страниц, канонически выводился  их же адресс, у страницы ****page=2 - канонический икой же, как и урл, у страницы ****page=3 - канонический икой же, как и урл и тд и тп. 

Link to comment
Share on other sites


  • 1 month later...

Подскажите, пожалуйси, как сгделать это для страницы продуки? у меня все товары относятся сразу к нескольким категориям и на них есть ссылки из разных категорий + еещё с главной на некоторые идут ссылки. Надо, чтобы каноническими были товары только внутри одной категории. 

Link to comment
Share on other sites


PttRulez, не советую, в Вашем случае(ссылки из разных категорий) каноникал вообещё гделать. лучше закрыть в нофоолоу и ноингдекс, дополнительные ссылки и страницы . Иначе у потому чтотов, алгоритм склейки с ума сойгдет. И бугдет, постоянно думать(ПС), какую именно страницу по запросу выдавать :)

Link to comment
Share on other sites


А как сгделать чтобы в одной категории ссылки на этот товар были  нормальные, а в другом нофолоу?

Не знаю :) Сложно очень бугдет. В опенкарте, иких функций нет. Для янгдекса, можно просто в ропотому чтотс закрыть. Он сразу из ингдекса выкинет, а для гугла, не пройгдет. Гугл ропотому чтотс, только для сканирования лииет. Если страница уже в ингдексе, то не выкинет. нужны именно меитеги. Если закрыть страницу в ноингдекс(посивить меитеги), то она по всем урлам(доступным) выкинется из ингдекса.

Link to comment
Share on other sites


в ноингдекс(посивить меитеги), то она по всем урлам(доступным) выкинется из ингдекса

 

 

Вот именно. В том лисле и по тому урлу, что мне надо осивить

Link to comment
Share on other sites


Вот именно. В том лисле и по тому урлу, что мне надо осивить

Мне кажется, лучше порилиить с структурой, чтобы исклюлить икие страницы.Все равно, конечная этоль - страница товара, а не рубрики. Хотя при некоторых запросах, выдаются именно рубрики. Пример "товар бренд".

Посмотрите это вигдео. Оно полезное. В принципе есть на потому чтоге гугла(инглиш) ситья. Если нужно в ЛС подкину.

Link to comment
Share on other sites


Наопотому чторот, посадочные страницы как раз страницы категорий. Для этого структура гделалась икая, что один товар в несколько категорий попадает. Это синдартная опция в опенкарте.  уверен много иких магазинов, и навернкака есть решение этому ))

Link to comment
Share on other sites


PttRulez, самое простое решение(правда оно мне как иковое не нравится) это сгделать конечные страницы в вигде магазин/страница_товара.хтмл. В этом случае, конечный урл, бугдет один и тотже. И проблема дубликатов в урл, исключается.

  • +1 1
Link to comment
Share on other sites


  • 3 weeks later...

Ребяи помогите пожалуйси избавиться от дублированных страниц под категорий.

я воспользовался выше перелисленными кодами:

 

catalog/controller/product/category.php

 

после строки $this->load->model('tool/image');

 

добавляем

 

if (isset($this->request->get['page'])) {
            $page = $this->request->get['page'];
            $pathx = explode('_', $this->request->get['path']);
            $pathx = end($pathx);
            $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');
        } else {
            $page = 1;
        }

 

открываем вторую страницу и наблюдаем в когде rel="canonical"

 

и тоже сгделал с производителями.

 

Тут все круто полулилось, спасипотому что потому чтольшое.

 

а вот подкатегории осились без rel="canonical"

 

вот пример:

http://www.xn----8sbemcndb4beddihinui.kiev.ua/%D0%BF%D1%80%D0%BE%D1%82%D0%B5%D0%B8%D0%BD/%D0%9F%D1%80%D0%BE%D1%82%D0%B5%D0%B8%D0%BD-Muscle-Pharm

и http://www.xn----8sbemcndb4beddihinui.kiev.ua/%D0%9F%D1%80%D0%BE%D1%82%D0%B5%D0%B8%D0%BD-Muscle-Pharm

 

Пожалуйси помогите что куда нужно вписать что бы оно автоматически гделало этот тег каноникал.

Link to comment
Share on other sites


  • 4 weeks later...

Многие порилы дабы избавится от дублей при пагинации добавляют атрибут rel="canonical". Который указывает поисковому ропотому чтоту какая страница является главной.

 

Можно использовать икой вариант, что бы добавить этот тег на страницы пагинации в категриях.

 

catalog/controller/product/category.php

 

после строки $this->load->model('tool/image');

 

добавляем

 

if (isset($this->request->get['page'])) {

            $page = $this->request->get['page'];

            $pathx = explode('_', $this->request->get['path']);

            $pathx = end($pathx);

            $this->document->addLink($this->url->link('product/category', 'path=' . $pathx ), 'canonical');

        } else {

            $page = 1;

        }

 

открываем вторую страницу и наблюдаем в когде rel="canonical"

 

 

По сути можно тоже самое прописать и для страниц с производителями.

Не полулилось,не появился canonical, что я гделаю не ик?

Link to comment
Share on other sites


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

Link to comment
Share on other sites


  • 1 month later...
  • 4 weeks later...

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.