Критичная ошибка "Найдены страницы-дубли с GET-параметрами" - Как избавиться?

Критичная ошибка "Найдены страницы-дубли с GET-параметрами" - Как избавиться?

С лета 2021 года Яндекс.Вебмастер стал информировать вебмастеров о наличии на сайтах страниц-дублей с GET-параметрами, причем помечается эта проблема как критичная, что многих пользователей приводит в ужас. Здесь мы расскажем что это за проблема и как от нее избавиться проще всего.

Что же такое GET-параметр — это динамический параметр в URL, с помощью которого возможно изменение содержимого документа. Самым частым примером URL с GET-параметром в интернет магазинах являются страницы пагинации, например, site/category?page=2 или сортировки, например, site/category?sotr=abc. page и sort являются параметрами. Таких параметров может быть бесконечное множество. Они могут генерироваться как изнутри самим сайтом (CMS), так и снаружи, например, добавляя UTM-метки для рекламных компаний вы создаете дубли страниц для поисковых систем.

Как решить проблему дублей?

Для этого Яндекс даже выпустил собственный подробный гайд.

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

Clean-param

Как использовать:

В файл robots.txt добавить директиву Clean-param с перечислением всех возможных GET-параметров через амперсанд, например, для страниц site/category?page=2 и site/category?sotr=abc Clean-param: page&sort

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

Недостатки:

1. Так как GET-параметров может быть бесконечное количество, вам придется отслеживать появление новых параметров в поисковой выдаче и периодически обновлять директиву, поэтому способ подходит для небольших сайтов, либо для сайтов, которые генерируют мало GET-параметров.

2. Данная директива работает только для поисковой системы Яндекс.

3. Ограничение в 500 символов, при всем желании, не даст перечислить абсолютно все параметры в одной директиве.

rel=canonical

Как использовать:

Проставлять на страницах с GET-параметром атрибут с указанием URL канонической страницы, например, для site/category?page=2 тег будет выглядеть так <link rel="canonical" href="site/category" />

Такой способ тоже позволяет передавать параметры страницы, но менее эффективно.

Недостатки:

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

Disallow

Как использовать:
В файле robots.txt прописать директиву Disallow: *?*, чтобы закрыть от индексации абсолютно все страницы с GET-параметрам. Более жесткое правило для поисковых роботов, поэтому достаточно эффективно убирает дубли страниц из поисковой выдачи.
Недостатки:

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

2. Полностью исключает посещение поисковым роботом закрытых страниц.

Метатег robots

Как использовать:

Проставлять на страницах с GET-параметром <meta name="robots" content="noindex" />, что позволяет закрывать их от индексации, но не закрывает возможность посещать данные страницы поисковым роботам.

Недостатки:

Не передает параметры страницы.

Наиболее эффективный способ избавления от дублей

Сделав это раз вам больше не будет нужно мониторить появление новых дублей с GET-параметрами. Лучше всего комбинировать два метода Метатег robots и rel=canonical. Каждый из них будет дополнять друг-друга и компенсировать недостатки, а именно, canonical будет передавать все параметры со страницы с GET на основную, при этом, noindex будет более строгим правилом, что позволит сократить количество дублей страниц до минимума. Кроме того, оба этих способа работают для всех поисковых систем, а не только для Яндекс.

Чтобы внедрить данный метод к себе на сайт можно либо поставить ТЗ на разработку и разместить теги на всех страницах с GET-параметром (или только на нужных, либо поискать для своих систем управления готовые решения, например, на CMS Webasyst/Shop-Script есть несколько плагин, которые позволяют автоматизировать процесс простановки тегов по определенным условиям.

Переверзев Алексей
Руководитель отдела SEO-продвижения
44
5 комментариев

Два месяца назад было бы актуально особенно, сейчас уже не так )

Проставлять на страницах с GET-параметром атрибут с указанием URL канонической страницы, например, для site/category?page=2 тег будет выглядеть так

Google, например, дал однозначную рекомендацию canonical ставить на каждую страницу пагинации. Стоило об этом написать в рамках обсуждаемой темы (хотя я считаю пример в тексте не самым удачным). На моих проектах чаще ошибка с GET-параметрами не с пагинацией связана.

Закрыть через robots от индексации страницы с GET параметрами — O tempora! O mores! Рубрика "вредные советы" получилась. Эффективнее Clean Param сейчас решения нет.

Ответить

Проблема в том, что если сайт средний или крупный, то отслеживать новые параметры, которые появляются до бесконечности не представляется возможным. Ну и там мы будем работать только на одну поисковую систему. А что касается тега robots, то тут идея в том, что noindex, в отличии от disallow в robots.txt, не ограничивает доступ к данной странице и ее содержимому, а значит, через закрытую страницу поисковый робот будет переходить на другие страницу, так как мы не ставим в атрибут nofollow.

Ответить