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

Как сделать rel=canonical в Категориях на первой странице

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

Здраствуйте. Как в OcStore 1.5 на Категории на page 1 cделать Canonical

 

На данный момент прописан только такой код,    саnonical   появляется только с  второй страницы а на первой нет

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;

        }

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


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

можно взять пример из 2
 


// http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
if ($page == 1) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
} elseif ($page == 2) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'prev');
} else {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), true), 'prev');
}

if ($limit && ceil($product_total / $limit) > $page) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next');
}

 

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


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

.

Изменено пользователем sasha12345

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


Ссылка на сообщение
Поделиться на другие сайты
В 26.07.2018 в 13:20, sasha12345 сказал:

Здраствуйте. Как в OcStore 1.5 на Категории на page 1 cделать Canonical

 

На данный момент прописан только такой код,    саnonical   появляется только с  второй страницы а на первой нет

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;

        }

Заменил на ваш целый код, но на первой странице категории (canonical) нет , а показывает

<link href="https://saite.com/index.php?route=product/category&amp;path=&amp;page=-1" rel="prev"/> , +   в меня  в robots.txt файле прописан код, для закрытия дублей  второй и последующих страниц. Может это с этим связано, что на первой не показывает  canonical? 

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


Ссылка на сообщение
Поделиться на другие сайты
В 26.07.2018 в 14:49, markimax сказал:

https://webmasters.googleblog.com/2013/04/5-common-mistakes-with-relcanonical.html

 

Mistake 1: rel=canonical to the first page of a paginated series

Вот что не понятно?

Каноникал на первой странице пагинации это ошибка

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


Ссылка на сообщение
Поделиться на другие сайты
18 часов назад, markimax сказал:

Вот что не понятно?

Каноникал на первой странице пагинации это ошибка

Спасибо, все понятно) . В  файлах нашел закомментирований фрагмент, не подскажите  ето как раз может быть решением моего вопроса?

http://prntscr.com/kdtfs3

Или это аналог кода что вверху написал  @thentru   ? 

 (

if ($page == 1) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
} elseif ($page == 2) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'prev');
} else {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), true), 'prev');
}

if ($limit && ceil($product_total / $limit) > $page) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next');
}

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


Ссылка на сообщение
Поделиться на другие сайты
В 26.07.2018 в 13:33, thentru сказал:

можно взять пример из 2
 



// http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
if ($page == 1) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
} elseif ($page == 2) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'prev');
} else {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), true), 'prev');
}

if ($limit && ceil($product_total / $limit) > $page) {
	$this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next');
}

 

В  файлах нашел закомментирований фрагмент, не подскажите  ето как раз может быть решением моего вопроса или нет ?

http://prntscr.com/kdtfs3

Или это аналог кода вашего , или нет   ? 

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


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, sasha12345 сказал:

В  файлах нашел закомментирований фрагмент

 

Код ошибочный

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


Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, markimax сказал:

Код ошибочный

если не трудно можете подправить, или лучше вставить код  Этой код? 

if ($page == 1) {
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'canonical');
} elseif ($page == 2) {
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], true), 'prev');
} else {
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), true), 'prev');
}

if ($limit && ceil($product_total / $limit) > $page) {
    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next');
}

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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