Jump to content

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 4

Share this post


Link to post
Share on other sites

бомба спасибо!

 

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

Share this post


Link to post
Share on other sites

А как узнать есть ли дубли на сайте?

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
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');}

Share this post


Link to post
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');}

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

Share this post


Link to post
Share on other sites

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

Не помогло потому что Вы наверное добавляли код после $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 ???

Share this post


Link to post
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://opencartforum.com/topic/9025-opencart-canonical-kanonicheskaia-stranitca/

Share this post


Link to post
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'];

Share this post


Link to post
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"

 

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
в ноиндекс(поставить метатеги), то она по всем урлам(доступным) выкинется из индекса

 

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

  • +1 1

Share this post


Link to post
Share on other sites

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

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

 

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

 

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

Share this post


Link to post
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"

 

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

закомментил $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');

Share this post


Link to post
Share on other sites

а как на странцах пагинации и сортировки наоборот не было каноникала?

Share this post


Link to post
Share on other sites

А вам не кажется что такие страницы (с каноническими ссылками) выпадают из индексации ПС !? И соответственно товары находящиеся на этих страницах !?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.