Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Canonical для пагинации


 Share

Recommended Posts

  • 1 month later...

Зіткнувся з такою ж проблемою. Перечитав всі коменти в даній темі, дізнався багато чого про питання СЕО)))))). Хочу написати як я вирішив дане питання. Звичайно рішення не ідеальне і можливо десь неправильне але воно працює і найголовніше не потрібно вносити зміни в системні файли:

В самій категорії закоментовуємо наступні рядки залишаючи структуру як в прикладі:

           

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

Цим ми відключили формування канонікал для сторінок з page > 1.

Наступне в header.php прописуємо:

		if(isset($this->request->get['page']) && $this->request->get['page'] > 1){
			$data['canonical'] = 'https://ВАШ ДОМЕН/'.$this->request->get['_route_'];
		}

Правда в мене УРЛ всіх сторінок на різних мовах різні і я не використовую /ru/ /ua/ і т.д тому були проблеми з отриманням базової адреси але можна спробувати і таку структуру вставити в header.php:

		if(isset($this->request->get['page']) && $this->request->get['page'] > 1){
			$data['canonical'] = $this->url->link('common/home', '', true).$this->request->get['_route_'];
		}

І нарешті в header.twig вставляємо:

 

{% if canonical %}
	<link href="{{ canonical }}" rel="canonical" />
{% endif %}

 

Link to comment
Share on other sites


  • 3 weeks later...

Целая полемика тут получилась))

Поделюсь и я своим практическим опытом, как сделано на одном из моих сайтов:

1) site.ru/category

canonical на саму себя, ниже rel=next на вторую страницу

2) site.ru/category/page_2

canonical не выводится, стоит prev и next на соответствующие страницы

В title и meta-desc в конце добавляется «... - Страница 2»

Описание категории скрывается на страницах пагинацим

 

Сайт в топе Гугл и Яндекс по самым конкурентным запросам.

 

Мое мнение - индексироваться должны все страницы, но нужно уникализировать заголовки и скрывать описание. ПС в состоянии вдуплить что это страницы пагинации а не дубли, и по запросу «купить Велосипед» выдавать в поиске именно первую страницу категории как самую релевантную, но также по запросу «купить велосипед stern» выдавать уже например 4-ю страницу категории, т.к. на ней расположены Велосипеды stern различных моделей.

Link to comment
Share on other sites


Ещё практики - на другом сайте делал эксперименты с тегом noindex и nofollow. Закрыл страницы пагинации через ноиндекс, и товары которые на них располагались, со временем выпали из поиска, т.к. на них фактически небыло ссылок. Про это кстати где-то писали уже.

это насчёт моего высказывания, что все страницы пагинации нужно индексировать

Link to comment
Share on other sites


6 часов назад, bivit1993 сказал:

canonical не выводится

он должен выводится, но сам на себя ...

6 часов назад, bivit1993 сказал:

prev и next

для гугла это не актуально уже

Link to comment
Share on other sites


Вот приблизительный кейс на сегодня

Цитата

 

Как правильно реализовать страницы пагинации? Внятных рекомендаций от Гугла нет, а большинство рекомендаций заканчиваются на  уникализации мета данных и каноникал на основную страницу категории.

Как вы посоветуете реализовать страницы пагинации и есть ли у вас общие рекомендации на эту тему?

Ответ

Для информационных страниц пагинации (например, страницы пагинации новостей, статей), чаще всего Canonical страницы пагинации может идти на основную страницу категории. Например, так сделано на страницах пагинации нашего блога: https://siteclinic.ru/blog/page/2/ .

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

В случае же когда у Вас коммерческие страницы, ситуация обратная.

Очень часто листинг на страницах пагинации приносит трафик и их можно оптимизировать, в этом случае рекомендуется:

Не закрывать от индексации страницы пагинации, они могут приносить трафик.

SEO текст отображать только на первой странице пагинации.

Для коммерческих проектов - canonical страницы пагинации должен идти сам на себя.

Убрать теги пагинации rel=prev/next, если они присутствуют, поисковые системы их не учитывают.

Убрать ссылки на несуществующие страницы пагинации, если они есть.

В меню пагинации из ссылки на основную страницу убрать номер пагинации, (например /page/1), настроить 301 редирект со страницы с /page/1 на первую основную страницу категории для исключения дубля.

 

 

Link to comment
Share on other sites

  • 2 months later...

Здравствуйте все, у меня стоит задача сделать тег каноникал на страницы родительской категории в пагинации. Пробовал вариант в контроллере категории (category.php) поменять на: 

 

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

и в шаблоне шапки проставить такую твиг конструкцию:

 

{% for link in links %}
            <link href="{{ link.href }}" rel="{{ link.rel }}" />
            {% else %}
            <link href="{{ link.href }}" />
            {% endif %}
            {% endfor %}

но не помогло. В девтулзах все также идет ссылка на текущую страницу в теге каноникал в пагинации. Помогите, пожалуйста, как исправить? Может есть какие-нибудь другие варианты?

Link to comment
Share on other sites


  • 8 months later...
В 21.04.2019 в 18:27, Yesvik сказал:

Отсутствие атрибута rel="canonical" не означает что страница не каноническая.

Атрибут rel="canonical" нужен для борьбы с дублями, но у Гугла и Яндекса противоречащие рекомендации по применению canonical в постраничной навигации.

Яндекс рекомендует в постраничной навигации объявлять первую страницу канонической, а Гугл считает такое применение canonical ошибочным.

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

Если сделать страницу со всеми товарами категории и указывать её как каноническую для всех страниц постраничной навигации - это будет устраивать и Гугл и Яндекс, но не устроит нас. При большом количестве товаров страница будет очень долго грузится и поисковики забракуют её.

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

Поехали...

1. Описание категории и description выводим только на первой странице категории.

2. Добавляем в title и h1 номер страницы (страница 2, страница 3 и т.д.).

3. Закрываем от поисковиков страницы с изменённым порядком сортировки и количеством товаров на странице.

 

Ссылки по поводу canonical:

Яндекс https://yandex.ru/blog/platon/2878

Обратите внимание на это:

и читайте комментарии, особенно ответ Платона

 

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

посмотрите видео с 14-й минуты

 

Подскажите, как для страниц пагинации задать уникальные title и h1?

Link to comment
Share on other sites


  • 4 weeks later...

По своему сайту заметил,

1.лучшие позиции занимают категории с хорошим описанием и небольшим количеством страниц пагинации.(1-2страницы)

2.при поиске по названию категории выдает товары с первой страницы категории

3.в индексе куча страниц пагинации у длинных категорий (пагинация настроена - описание на 1 странице, у каждой страницы уникальное уникальные tittle, decription, canonical  страницы на саму себя)

4. seo рекомендации от специалиста, сделать canonical на 1 ю страницу категории, и его доводы - товары попадут в индекс из карты сайта, чуть дольше чем обычно, сайт улучшит позиции по ВЧ, остальные страницы все равно будут обходиться т.к. canonical есть рекомендательным)

+куча сайтов с такой реализацией, и товары с 3,4 страницы и далее отлично ищутся по названию

 

бросьте тапком если что:)

Link to comment
Share on other sites


  • 1 year later...
В 15.05.2019 в 21:35, den4ikm сказав:

Уважаемые форумчане, как я понимаю ТС интересовался технической реализацией а не дискуссиями о SEO

 

А вопрос поставленный ТС изначально до сих пор не решен

..казалось бы простая задача! есть код:

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

Так вот если его сделать таким

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

canonical на 2,3,4.. страницах вообще пропадает!!!!!!!!!

Кто-нибудь помогите!!! объясните как такое может быть???? У меня в голову эта мысль не помещается.

и пожалуйста, не надо о SEO

 

подтверждаю. такая проблема есть. чистый окстор 3.0.2.0

 

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

<link href="/paints-lakokrasochnaya-produktsiya" rel="prev">

 

т.е. не может быть одновременно 

<link href="/paints-lakokrasochnaya-produktsiya" rel="prev">
<link href="/paints-lakokrasochnaya-produktsiya" rel="canonical">

 

либо система специально вырезает ссылку. кто то решил?

 

upd: можно так наипать систему, но не знаю правильно ли это:
 

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

 

Edited by AlexMax13
Link to comment
Share on other sites


в итоге сделал вот так:

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

 

суть: везде есть каноникал на главную страницу категории. но на второй странице нету каноникла PREV т.е. нету ссылки на предыдущую страницу если это вторая страница категории. не знаю правильно ли, но по идее норм. 

Link to comment
Share on other sites


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.