Здравствуйте, дамы и господа, если в Яндекс Вебмастер вы получили ошибку «Найдены страницы-дубли с GET-параметрами», то переживать не стоит, если несколько лёгких способов её исправления, о которых расскажу в данной статье.

Ошибка «Найдены страницы-дубли с GET-параметрами» в Яндекс Вебмастер

Пошаговая инструкция по исправлению ошибки «Найдены страницы-дубли с GET-параметрами»

Итак, здесь есть несколько вариантов, применять придётся тот, что подходит к вашей ситуации. Например, иногда GET-параметры могут стать важным аспектом при ведении маркетинговой компании, банальный пример — реферальные ссылки. Ссылки такого формата будут выглядеть так:

https://your-site.ru/page?ref=1234567890

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

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

Сейчас дам несколько способов избавиться от ошибки. Начну с самого простого, а потом перейдём к более сложным методам.

Вообще, правильнее называть не GET-параметрами, а строками запроса (Query Strings), но будем ориентироваться на название ошибки в Яндекс Вебмастер.

Запрет индексации GET-параметров в robots.txt

Итак, нужно сообщить поисковым системам, что это не дубль, а GET-параметр, а также убрать такие страницы из обхода роботом поисковых систем.

В таком случае нам нужен файл robots.txt. Если его нет, то создайте и разместите в корне сайта. Кстати, если этот файл отсутствует, то это может быть ещё и по другой причине, например, данный файл может быть сформирован SEO-плагином.

Внесение директив в robots.txt через плагин Rank Math

Этот вариант создаёт «виртуальный» robots.txt, физического файла нет, но поисковые системы всё равно получат все директивы, размещённые в данном файле. Так что добавляйте директивы через ваш SEO-плагин, но не создавайте файл в корне сайта.

Директивы, размещённые в robots.txt, помогут указать поисковым системам, что страницы с определённым параметром обходить не нужно, они будут исключены из обхода роботами, соответственно, ошибка «Найдены страницы-дубли с GET-параметрами» исчезнет. Впрочем, robots.txt запрещает сканирование, но это не гарантирует, что такие страницы не попадут в индекс.

Итак, в ссылке должен быть указан «хвост» со строкой запроса, выглядеть это может так:

https://your-site.ru/page?ref=1234567890

Или так:

https://your-site.ru/page&utm_source=1234567890

Да, UTM-метки — разновидность строк запроса (Query Strings), потому тоже могут рассматриваться в рамках данной статьи.

И чтобы исключить utm или ref, нам нужно внести такие директивы в robots.txt:

User-agent: Yandex
Clean-param: utm

Clean-param — директива для робота Яндекс, она максимально проста в использовании, подробности о данной директиве можете узнать в инструкции от Яндекс: https://yandex.ru/support/webmaster/robot-workings/clean-param.html.

Но данную директиву понимает только поисковый робот Яндекс.

Если вам нужно исключить эти метки и в Google, то придётся использовать директиву disallow:

User-agent: Googlebot
disallow: /*?*utm
disallow: /*?*utm_source
disallow: /*?*ref

А можно и не указывать каждый User-agent, а просто сделать одну директиву для всех краулеров:

User-agent: *
disallow: /*?ref*

Этот вариант работает для всех страниц, которые имеют строку запроса с параметром ref. Если у вас другой GET-параметр, то замените его на свой. Директиву disallow понимают и Яндекс, и Google.

Если в одной строке запроса несколько параметров, например:

https://your-site.ru/page?ref=1234567&utm_source=1234567890

То директивы для robots.txt следует составить следующим образом:

User-agent: Yandex
Clean-param: ref&utm

User-agent: Googlebot
disallow: /*?*utm
disallow: /*?*ref

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

https://your-site.ru/category/page?ref=1234567

Тогда указать нужно в таком формате:

User-agent: Yandex
Clean-param: ref /category/

User-agent: Googlebot
disallow: /category/*?*ref
allow: /category/

В таком случае будут затронуты только те страницы, в URL которых есть префикс /category/, остальные затронуты не будут.

Это самый простой способ исключить из индексации страницы со строками запросов и исправить ошибку «Найдены страницы-дубли с GET-параметрами».

Итак, это был первый шаг. Переходим ко второму.

Назначение страниц без строк запроса каноническими

Эта ошибка может вылезти в том случае, если ваши страницы с GET-параметрами по какой-то причине не имеют тега с указанием канонической страницы.

Вот пример, когда страница с рандомной строкой запроса имеет ссылку на страницу без GET-параметра в качестве канонической страницы:

Каноническая ссылка в исходном коде сайта

Ваша задача сделать так, чтобы в разделе head была добавлена строка такого формата:

<link rel="canonical" href="https://your-site.com/page/">

К сожалению, универсальных методов нет, для WordPress эту проблему можно решить с помощью SEO-плагинов, например, RankMath или Yoast. Для других CMS понадобятся другие плагины.

Или придётся разработать метод добавления канонических ссылок самостоятельно или нанять разработчика.

Если у вас по какой-то причине ссылки с GET-параметрами указаны в качестве канонических, то проблему придётся устранить, в противном случае поисковые системы будут рассматривать данные страницы в качестве дублей.

Редирект 301 со страниц с GET-параметром на родительские страницы

Бывает и такое, что страницы с параметрами не должны существовать. Например, если вы пользовались плагином AMP, но потом решили его удалить, то у вас останется много AMP-страниц в индексе, которые и вызовут ошибку «Найдены страницы-дубли с GET-параметрами».

Пошаговую инструкцию по полному удалению AMP-страниц для WordPress разместил. Если у вас такая же проблема, можете воспользоваться. Но если ошибка возникает из-за utm-меток или реферальных ссылок, которых уже нет на сайте, можно настроить постоянную переадресацию на родительскую страницу, со временем такие ссылки исчезнут из индекса.

Конечно, я предоставлю вариант только для веб-сервера Apache, если у вас nginx, то данный вариант не подойдёт.

Итак, вам нужно в файл .htaccess, который расположен в корне сайта, добавить следующие строки:

RewriteCond %{QUERY_STRING}    "utm=" [NC]
RewriteRule (.*)  /$1? [R=301,L]

Если у вас WordPress, то добавьте данный код перед строкой:

# BEGIN WordPress

Такой вариант будет переадресовывать все ссылки со строкой запроса utm, если нужно удалить ref, то просто измените код на:

RewriteCond %{QUERY_STRING}    "ref=" [NC]
RewriteRule (.*)  /$1? [R=301,L]

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

Тогда вы можете указать их в данном коде. Например:

RewriteCond %{QUERY_STRING}    "utm=1234|ref=1234|query=5678_1234" [NC]
RewriteRule (.*)  /$1? [R=301,L]

Вы можете указать все строки запросов, с которых хотите настроить переадресацию на родительскую страницу, при этом остальные страницы с GET-запросами затронуты не будут.

Как видите, настроить редирект 301 довольно просто.

Завершаем исправление ошибки «Найдены страницы-дубли с GET-параметрами»

Теперь, после того, как вы использовали перечисленные методы, просто перейдите в Яндекс Вебмастер → Диагностика сайта и нажмите кнопку «Проверить».

Проверка исправления ошибки «Найдены страницы-дубли с GET-параметрами»

После ждите получения отчёта об исправлении ошибки. Обычно достаточно даже простого использования внесения директив в файл robots.txt, чтобы исправить ошибку. Но если не помогло, то можете перейти и к более сложным вариантам.

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

На этом с вами прощаюсь, желаю успехов и рабочих сайтов, всего доброго!

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Если материалы с данного сайта были полезны, и вы желаете поддержать блог, то можете воспользоваться формой по ссылке: Донат на поддержку блога