Как запретить индексацию всех страниц с определенным get-параметром в robots.txt?

Яндекс пожаловался на то, что присутствует некоторое кол-во дубликатов страниц с get-параметром. Ссылка на подобную страницу выглядит примерно так: site.ru/blog/article?layout=new Параметр всегда одинаков, но его значение меняется. Как запретить индексацию всех ссылок с layout=""? Насколько правильным будет Disallow: *?*layout=


Ответы (2 шт):

Автор решения: VenZell

Эта конструкция абсолютно верная:

Disallow: *?*layout=

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

site.ru/blog/article?layout=new
site.ru/blog/article?layout=old
site.ru/blog/article?layout=old&author=Example
site.ru/blog/article?page=1&layout=fashion
site.ru/blog/article?page=2&layout=new&author=Example
→ Ссылка
Автор решения: Анфиса Sobchak

Я делаю это через Clean-param: в robots.txt по двум причинам:

  1. Снижается нагрузка на сервер обхода.
  2. Если закрывать от индекса с помощью Disallow или тега noindex, тогда поисковики так же не будут индексировать и учитывать обратные ссылки на такие страницы. А если закрывать от индекса этим методом, тогда беклинки учтутся сайту.

Эти плюсы относятся только к Yandex!

А в Google получите ошибку в robots.txt, что-то не совмещаются в этом моменте. Но я ее игнорирую и всё нормально.

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

→ Ссылка