Перейти к содержанию

Рекомендуемые сообщения

Многие порталы дабы избавится от дублей при пагинации добавляют атрибут 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Многие порталы дабы избавится от дублей при пагинации добавляют атрибут 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/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Данный метод добавляет 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'];

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подскажите, попробовал так. 

 

Многие порталы дабы избавится от дублей при пагинации добавляют атрибут 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 - канонический такой же, как и урл и тд и тп. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Многие порталы дабы избавится от дублей при пагинации добавляют атрибут 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, что я делаю не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.