Помогите с robots.txt

SE03
На сайте с 09.02.2009
Offline
106
753

Вобщем есть такая проблема - Яндекс съел дубли страниц, пытаюсь теперь от них избавиться через роботс.

www.site.ru/?book=23&book_id=12 - оригинал, который должен быть в индексе

www.site.ru/?book=23&book_cat=2&book_theme=2&book_id=12 - дубль предыдущей страницы, от которого нужно избавиться.

Кто знает, как убить данные дубли по маске, скажем, &book_cat=.

Не могу понять, как закрыть дубль (?book=23&book_cat=2&book_theme=2&book_id=12) через роботс, чтобы главная страница ?book=23 индексировалась и соответственно весь контент на ней ?book=23&book_id=12 тоже.

Буду благодарен за помощь, быть может, кто-то сталкивался с подобным.

-EX-
На сайте с 07.07.2006
Offline
180
#1

SE03, а тут читали?

С уважением, Андрей aka EX
SE03
На сайте с 09.02.2009
Offline
106
#2
-EX-:
SE03, а тут читали?

Да, конечно, весь день ломаю голову в хэлпе Яндекса.

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

Ведь по сути мне нужно избавиться от такого дубля:

?book=23&book_cat=2&book_theme=2&book_id=12 по маске &book_cat=

Но как именно это осуществить без урона для индексации страниц book=23, book=24 и всего контента на них - ?book=23&book_id=12, ?book=23&book_id=123, - так и не понял.

bigton
На сайте с 17.08.2009
Offline
43
#3

Допустим у вас интернет магазин радиоуправляемых моделей, есть раздел Радиоуправляемые вертолеты, в разделе 50 товаров. Товары в разделе можно сортировать по цене и по популярности. Для сортировки к url страницы добавляется параметр order (www.site.ru/catalog.php?cat=01&order=price/best). Так как товар на страницах /catalog.php?cat=01, /catalog.php?cat=01&order=price и /catalog.php?cat=01&order=best фактически один и тот же, только расположен в разном порядке, чтобы не смущать поисковые системы можно в robots.txt добавить строки:

Disallow:

Clean-param: order

Это позволит исключить из индекса страницы catalog.php?cat=01&order=price и /catalog.php?cat=01&order=best.

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

Redirect 301 /?book=23&book_cat=2&book_theme=2&book_id=12 www.site.ru/?book=23&book_id=12

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

Для большого числа страниц можно составить регулярное выражение.

K
На сайте с 09.01.2010
Offline
34
#4

User-agent: Yandex
Disallow:
Clean-param: book_cat&book&book_them /
SE03
На сайте с 09.02.2009
Offline
106
#5

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

1. Если параметр

Disallow:

Clean-param: order

исключает все страницы из индекса по маске 'order', то по идее и я могу закрыть от индексации свои страницы по маске 'book_cat', если я правильно понял.

Вот, то что я в принципе хотел сказать.

koras:
User-agent: Yandex
Disallow:
Clean-param: book_cat&book&book_them /
bigton
На сайте с 17.08.2009
Offline
43
#6

Мне кажется в данном случае решение через robots.txt немного не корректным, потому как дословно:

Если адреса страниц вашего сайта содержат динамические параметры которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т.п.), вы можете описать их при помощи директивы 'Clean-param'. Робот Яндекса, используя эту информацию, не будет многократно перезакачивать дублирующуюся информацию. Таким образом, увеличится эффективность обхода вашего сайта, снизится нагрузка на сервер.

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

SE03
На сайте с 09.02.2009
Offline
106
#7
В вашем же случае старые страницы получили новые адреса

Дело в том, что у меня страницы и дубли проиндексировало одновременно.

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

получается проблема только в распределении веса страницы? Если так, то мне легче закрыть через Clean-param, чтобы не мучаться с htaccess.

ПС bigton, последний вопрос к вам - если я сделаю все наиболее просто , т.е. через Clean-param, то дубли перестанут индексироваться Яндексом по маске? Т.е., если отбросить такие факторы как вес и т.д. и оставить один главный - индексация и запрет, то самым простым способом в моем случае будет:

User-agent: *

Disallow:

Clean-param: book_cat

Clean-param: book_theme

bigton
На сайте с 17.08.2009
Offline
43
#8
SE03:

ПС bigton, последний вопрос к вам - если я сделаю все наиболее просто , т.е. через Clean-param, то дубли перестанут индексироваться Яндексом по маске? Т.е., если отбросить такие факторы как вес и т.д. и оставить один главный - индексация и запрет, то самым простым способом в моем случае будет:
User-agent: *
Disallow:
Clean-param: book_cat
Clean-param: book_theme

В таком случае вам надо сделать как сказал koras:

User-agent: *

Disallow:

Clean-param: book_cat&book_theme /

Но повторюсь, считаю для решения поставленной задачи использовать robots.txt не корректно (вдруг у пользователя где-то в закладках сохранен старый адрес страницы...).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий