Автор Тема: Как указать незначащие cgi-параметры поисковому роботу  (Прочитано 5832 раз)

29 Январь, 2009, 10:43:50

Оффлайн admin

  • Administrator
  • Продвинутый юзер
  • *****
  • Сообщений: 374
  • Репутация: 10
    • Просмотр профиля
Директива Clean-param.

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

Например, на сайте есть страницы:

site.ru/some_dir/get_book.pl?ref=site_1&book_id=123
site.ru/some_dir/get_book.pl?ref=site_2&book_id=123
site.ru/some_dir/get_book.pl?ref=site_3&book_id=123

параметр 'ref=' используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой 'book_id=123'. Тогда, если в robots.txt указать:

Clean-param: ref /some_dir/get_book.pl

вот так:

User-agent: Yandex
Disallow:
Clean-param: ref /some_dir/get_book.pl

робот Яндекса сведет все адреса страницы к одному:

site.ru/some_dir/get_book.pl?ref=site_1&book_id=123,

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

site.ru/some_dir/get_book.pl?ref=site_2&book_id=123
site.ru/some_dir/get_book.pl?ref=site_3&book_id=123

Синтаксис использования директивы:

Сlean-param: p0[&p1&p2&..&pn] [path]

В первом поле через '&' перечисляются параметры, которые нужно не учитывать. Во втором поле указывается префикс пути страниц, для которых нужно применить правило.

Примечание:

Префикс может содержать регулярное выражение в формате, аналогичном robots.txt, но с некоторыми ограничениями: можно использовать только символы A-Za-z0-9.-/*_. При этом * трактуется так же, как в robots.txt. В конец префикса всегда неявно дописывается '*', то есть:

Сlean-param: s /forum/showthread.php
означает, что будет сбрасываться параметр s у всех url-ов, начинающихся с /forum/showthread.php. Второе поле указывать необязательно, в этом случае параметр(ы) не будет учитываться для всех адресов страниц сайта. Регистр учитывается. Действует ограничение на длину правила - 500 символов. Например:

Сlean-param: abc /forum/showthread.php
Сlean-param: sid&sort /forumt/*.php
Сlean-param: someTrash&otherTrash

Дополнительные примеры:

#для адресов вида:
site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
site1.ru/forum/showthread.php?s=1e71c4427317a117a&t=8243
#robots.txt будет содержать:
User-agent: Yandex
Disallow:
Сlean-param: s /forum/showthread.php
#для адресов  вида:
site2.ru/index.php?page=1&sort=3a&sid=2564126ebdec3150c2d5d3e1c607e5df
site2.ru/index.php?page=1&sort=3a&sid=974017dcd170d6f0640bd2ec4a5d76ae
#robots.txt будет содержать:
User-agent: Yandex
Disallow:
Сlean-param: sid /index.php

#если таких параметров несколько:
site1.ru/forum_old/showthread.php?s=681498b9648949605&t=8243&ref=131951
site1.ru/forum_new/showthread.php?s=1e71c4427317a117a&t=8243&ref=989612
#robots.txt будет содержать:
User-agent: Yandex
Disallow:
Сlean-param: s&ref /forum*/showthread.php

#если параметр используется в нескольких скриптах:
site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
site1.ru/forum/index.php?s=1e71c4427317a117a&t=8243
#robots.txt будет содержать:
User-agent: Yandex
Disallow:
Сlean-param: s /forum/index.php
Сlean-param: s /forum/showthread.php

http://help.yandex.ru/webmaster/?id=996567#1041216

Форум вебмастеров